Prometheus监控系统部署

项目目标
  • 部署Prometheus服务器,实现对远程Linux主机和MySQL数据库的实时监控。

  • 提供7x24小时不间断监控,支持异地集中监控。

  • 为后续的可视化和报警功能提供数据支持。

任务背景
  • 某电商公司业务快速发展,需要对现有机器进行业务监控。

  • 运维部门负责实施监控项目,要求监控系统能够实时收集数据,及时发现问题并预警。

监控需求
  • 监控主机状态(CPU、内存、磁盘等)。

  • 监控MySQL数据库状态(连接数、查询性能等)。

  • 提供数据支持,为系统优化提供依据。

  • 支持Kubernetes内部监控。

实验环境准备
  1. 服务器IP分配

    • Prometheus服务器:192.168.65.131

    • 被监控Linux主机(Agent1):192.168.65.132

    • Grafana服务器:192.168.65.133

  2. 主机名设置

    • Prometheus服务器:server.cluster.com

    • 被监控Linux主机:agent1.cluster.com

    • Grafana服务器:grafana.cluster.com

  3. 时间同步

    • 确保所有服务器时间同步,使用NTP服务或其他时间同步工具。

  4. 关闭防火墙和SELinux

    # 关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
    
    # 关闭SELinux
    setenforce 0
  5. 安装Prometheus

  1. 下载并安装Prometheus

    • 访问Prometheus官网下载页面:Download | Prometheus

    • 下载最新版本的Prometheus二进制文件

      wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz
    • 解压并安装到指定目录

      tar xf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/
      mv /usr/local/prometheus-2.5.0.linux-amd64/ /usr/local/prometheus
  2. 启动Prometheus

    • 使用默认配置文件启动Prometheus服务

      /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
    • 确认Prometheus服务是否启动成功:

      lsof -i:9090
    • 如果端口被占用,说明Prometheus服务启动成功。

  3. 访问Prometheus界面

    • 打开浏览器,访问http://192.168.65.131:9090,查看Prometheus主界面。

  4. 查看默认监控数据

    • 默认情况下,Prometheus只监控本机数据。

    • 访问http://192.168.65.131:9090/metrics,查看监控数据。

监控远程Linux主机
  1. 安装node_exporter

    • 在被监控主机agent1(IP:192.168.65.132)上安装node_exporter

      wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz
      tar xf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
      mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter
  2. 启动node_exporter

    • 使用nohup命令启动node_exporter,确保后台运行:

      nohup /usr/local/node_exporter/node_exporter &
    • 确认node_exporter是否启动成功:

      lsof -i:9100
  3. 配置Prometheus监控远程主机

    • 编辑Prometheus服务器的配置文件/usr/local/prometheus/prometheus.yml,添加被监控主机的配置段:

      scrape_configs:
        - job_name: 'agent1'
          static_configs:
            - targets: ['192.168.65.132:9100']
    • 重启Prometheus服务:

      pkill prometheus
      /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
    • 访问http://192.168.65.131:9090/targets,确认被监控主机是否被成功添加。

  4. 查看远程主机监控数据

    • 访问http://192.168.65.132:9100/metrics,查看node_exporter收集的监控数据。

    • 在Prometheus主界面通过关键字查询远程主机的监控项。

监控远程MySQL数据库
  1. 安装mysqld_exporter

    • 在被监控主机agent1(IP:192.168.65.132)上安装mysqld_exporter

      wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
      tar xf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/
      mv /usr/local/mysqld_exporter-0.11.0.linux-amd64/ /usr/local/mysqld_exporter
  2. 安装并配置MySQL

    • 安装MySQL(以MariaDB为例):

      yum install mariadb* -y
      systemctl restart mariadb
      systemctl enable mariadb
    • 创建监控用户并授权:

      grant select, replication client, process on *.* to 'mysql_monitor'@'localhost' identified by '123';
      flush privileges;
  3. 配置mysqld_exporter

    • 创建mysqld_exporter配置文件/usr/local/mysqld_exporter/.my.cnf

      [client]
      user=mysql_monitor
      password=123
    • 启动mysqld_exporter

      nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &
    • 确认mysqld_exporter是否启动成功:

      lsof -i:9104
  4. 配置Prometheus监控MySQL

    • 编辑Prometheus服务器的配置文件/usr/local/prometheus/prometheus.yml,添加MySQL监控配置段:

      scrape_configs:
        - job_name: 'agent1_mariadb'
          static_configs:
            - targets: ['192.168.65.132:9104']
    • 重启Prometheus服务:

      pkill prometheus
      /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
    • 访问http://192.168.65.131:9090/targets,确认MySQL监控目标是否被成功添加。

  5. 查看MySQL监控数据

    • 在Prometheus主界面通过关键字查询MySQL监控数据,例如mysql_global_status_threads_connected


总结

通过上述步骤,Prometheus监控系统已经成功部署并实现了对远程Linux主机和MySQL数据库的监控。监控数据可以通过Prometheus界面查询和查看,为后续的可视化展示和报警功能提供了数据支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值