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

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

http://www.xdnf.cn/news/6346.html

相关文章:

  • AI 治理进行时:网信办审核加速,AI 合规刻不容缓
  • 2025.05.14华为机考笔试题-第二题-200分
  • C#语法基础
  • 第30节:现代CNN架构-轻量级架构EfficientNet
  • mysql:如何查询版本号与社区版/企业版
  • 算法分析:蛮力法
  • Redis--基础知识点--27--redis缓存分类树
  • 计算机视觉----基于锚点的车道线检测、从Line-CNN到CLRNet到CLRKDNet 本文所提算法Line-CNN 后续会更新以下全部算法
  • OneNote内容太多插入标记卡死的解决办法
  • 在Rocky Linux 9.5上部署MongoDB 8.0.9:从安装到认证的完整指南
  • 【HTML】个人博客页面
  • 为什么浏览器设置代理ip后不能上网?原因与对应解决方案
  • maven报错 You have to use a classifier to attach supplemental artifacts
  • XBL6501/02/03在POE设备上的应用方案
  • JSX语法介绍
  • python制造一个报错
  • 音频/AI/BLE/WIFI/玩具/商业等方向的论坛网站总结
  • 【有理数加法结构体】2022-1-3
  • 深度理解用于多智能体强化学习的单调价值函数分解QMIX算法:基于python从零实现
  • 【iOS安全】Dopamine越狱 iPhone X iOS 16.6 (20G75) | 解决Jailbreak failed with error
  • 【清华实验室】招聘机器人博后5名
  • 金融量化智能体,如何开发一个有效的策略?
  • mysql 字段类型解释
  • VirtualiSurg使用SenseGlove触觉手套开发XR手术培训体验
  • go的interface接口底层实现
  • 基于FPGA的车速检测系统仿真设计与实现
  • 单片机开发软件
  • 《MySQL:MySQL视图特性》
  • python的宫崎骏动漫电影网站管理系统
  • 【学习心得】2025年Docker Desktop安装记录