当前位置: 首页 > news >正文

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界面查询和查看,为后续的可视化展示和报警功能提供了数据支持。

相关文章:

  • 机器视觉对位手机中框点胶的应用
  • 普通IT的股票交易成长史--20250515复盘
  • linux系统服务
  • 康耐视VisionPro脚本开发实战教程
  • ArcGIS Pro调用多期历史影像
  • 爬虫原理与实战指南
  • 安全牛报告解读《低空经济发展白皮书(3.0)安全体系》
  • 《无限暖暖》画质测评
  • 养生:健康生活的极简攻略
  • 英语六级听力
  • Spring框架核心技术深度解析:JDBC模板、模拟转账与事务管理
  • 信息系统运行管理员:临阵磨枪版
  • 专项智能练习(定义判断)_DA_01
  • 数智化招标采购系统如何实现分散评标?
  • 精益数据分析(60/126):移情阶段的终极追问——如何用结构化访谈挖掘真实需求
  • 前端图形渲染 html+css、canvas、svg和webgl绘制详解,各个应用场景及其区别
  • 【HarmonyOS 5】鸿蒙星闪NearLink详解
  • the request was rejected because no multipart boundary was found
  • ios打包ipa获取证书和打包创建经验分享
  • 2025 Java 微信小程序根据code获取openid,二次code获取手机号【工具类】拿来就用
  • 郑钦文憾负高芙,止步WTA1000罗马站四强
  • 美将解除对叙利亚制裁,外交部:中方一贯反对非法单边制裁
  • 张广智︱“编年事辑”:打开学人心路历程的窗户
  • 普京批准俄方与乌克兰谈判代表团人员名单
  • 孙卫东会见巴基斯坦驻华大使:支持巴印两国实现全面持久停火
  • 地下5300米开辟“人造气路”,我国页岩气井垂深纪录再刷新