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

【Prometheus-MySQL Exporter安装配置指南,开机自启】

目录

    • 1. 创建 MySQL 监控用户
    • 2. 配置 MySQL 认证文件
    • 3. 安装 mysqld_exporter
    • 4. 配置 Systemd 服务
    • 5. 启动并验证服务
    • 6. 修改Prometheus配置
      • 常见错误排查
        • 错误现象
        • 排查步骤
    • 6. 验证监控数据
      • 关键注意事项

1. 创建 MySQL 监控用户

mysql -uroot -p123456  # 登录MySQL
-- 1. 创建监控用户
CREATE USER 'mysql_monitor'@'%' IDENTIFIED BY 'GUANzhu123//';-- 2. 授予必要权限
GRANT SELECT, REPLICATION CLIENT, PROCESS ON *.* TO 'mysql_monitor'@'%';
FLUSH PRIVILEGES;
EXIT;  # 退出MySQL

2. 配置 MySQL 认证文件

# 创建配置目录
mkdir -p /etc/mysqld_exporter# 创建并编辑认证文件
vim /etc/mysqld_exporter/.my.cnf
[client]
host=192.168.15.131  # MySQL服务器地址
user=mysql_monitor
password=GUANzhu123//
# 设置文件权限(仅root可读)
chmod 600 /etc/mysqld_exporter/.my.cnf

3. 安装 mysqld_exporter

# 创建安装目录
mkdir /usr/local/mysqld_exporter# 解压二进制文件
tar -xzf mysqld_exporter-0.15.0.linux-amd64.tar.gz -C /usr/local/mysqld_exporter --strip-components=1# 设置可执行权限
chmod +x /usr/local/mysqld_exporter/mysqld_exporter

4. 配置 Systemd 服务

# 创建服务文件
vim /usr/lib/systemd/system/mysqld_exporter.service
[Unit]
Description=MySQL Exporter for Prometheus
After=network.target
StartLimitIntervalSec=300  # 允许更多重启尝试
StartLimitBurst=10         # 间隔内允许的失败次数[Service]
User=root
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \--config.my-cnf=/etc/mysqld_exporter/.my.cnf \--web.listen-address=:9104 \--log.level=debug  # 启用调试日志
Restart=always
RestartSec=10
TimeoutStartSec=120    # 延长启动超时
StandardOutput=journal  # 日志输出到systemd
StandardError=journal
SyslogIdentifier=mysqld_exporter[Install]
WantedBy=multi-user.target

5. 启动并验证服务

# 重新加载Systemd配置
systemctl daemon-reload# 设置开机自启
systemctl enable mysqld_exporter# 启动服务
systemctl start mysqld_exporter# 检查服务状态
systemctl status mysqld_exporter

在这里插入图片描述

6. 修改Prometheus配置

vim /usr/local/prometheus/prometheus.yml 
添加- job_name: 'postgres'static_configs:  - targets: ['192.168.15.131:9187']

常见错误排查

错误现象
Active: activating (auto-restart) (Result: exit-code) ...
Process: 76499 ExecStart=... (code=exited, status=1/FAILURE)
排查步骤
  1. 检查日志

    journalctl -u mysqld_exporter -f --no-pager
    
    • 常见错误:
      • 连接失败Access deniedCan't connect to MySQL server
        • 确认 .my.cnf 中的 hostuserpassword 是否正确。
      • 文件权限Permission denied
        • 确保 .my.cnf 权限为 600,且 mysqld_exporter 用户有读取权限。
      • 路径错误No such file or directory
        • 确认 ExecStart 中的可执行文件路径正确。
  2. 手动测试连接

    /usr/local/mysqld_exporter/mysqld_exporter \--config.my-cnf=/etc/mysqld_exporter/.my.cnf \--log.level=debug
    
    • 观察终端输出,确认是否可以成功连接到 MySQL。
  3. 检查网络连通性

    telnet 192.168.15.131 3306  # 确认MySQL端口可达
    
  4. 终止残留进程
    如果服务卡在 activating 状态,手动终止残留进程:

    ps aux | grep mysqld_exporter
    kill -9 <PID>  # 强制终止
    

6. 验证监控数据

  • 访问 http://<服务器IP>:9104/metrics,确认可以获取到 MySQL 监控指标。

关键注意事项

  1. 安全性

    • 监控用户密码建议使用强密码,并限制访问来源(如仅允许 Prometheus 服务器 IP)。
    • 生产环境建议使用非 root 用户运行 mysqld_exporter
  2. 防火墙配置

    firewall-cmd --add-port=9104/tcp --permanent
    firewall-cmd --reload
    
  3. 版本兼容性

    • mysqld_exporter 0.15.0 支持 MySQL 5.6 及以上版本。如果使用旧版 MySQL,需确认兼容性。

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

相关文章:

  • uni-app中使用RenderJs 使用原生js
  • 抱佛脚之学SSMSpringMVC数据绑定
  • 微服务学习笔记
  • 时序数据库 TDengine × Perspective:你需要的可视化“加速器”
  • OpenGL ES 3.0 第二章总结:你好,三角形(Hello Triangle)
  • AlDente Pro for Mac电脑 充电限制保护工具 安装教程【简单,轻松上手】
  • 您好,当前系统不允许绑定该店,具体原因您可咨询系统服务商,我们将尽力为您解决
  • DevExpressWinForms-TreeList-设置不可编辑
  • 大数据学习(115)-hive与impala
  • JAVA-使用Apache POI导出数据到Excel,并把每条数据的图片打包成zip附件项
  • 排序算法详解笔记(二)
  • AI大模型:(二)1.4 Qwen2.5-Omni全模态大模型部署
  • 数据结构入门:详解顺序表的实现与操作
  • 前端——CSS1
  • C#里嵌入lua脚本的例子
  • 【3D基础】顶点法线与平面法线在光照与PBR中的区别与影响
  • 基于Spring Boot 3.0、ShardingSphere、PostgreSQL或达梦数据库的分库分表
  • k8s集群环境部署业务系统
  • leetcode 2516. 每种字符至少取 K 个
  • 【网络原理】从零开始深入理解HTTP的报文格式(一)
  • 人工智能数学基础(三):微积分初步
  • 基于tabula对pdf中的excel进行识别并转换成word(三)
  • UE调试相关
  • AI遇见端动态神经网络:Cephalon(联邦学习+多模态编码)认知框架构建
  • 基于SpringAI实现简易聊天对话
  • 学习记录:DAY20
  • 人工智能数学基础(四):线性代数
  • Vue3调度器错误解析,完美解决Unhandled error during execution of scheduler flush.
  • 【C#】.net core6.0无法访问到控制器方法,直接404。由于自己的不仔细,出现个低级错误,这让DeepSeek看出来了,是什么错误呢,来瞧瞧
  • 51c自动驾驶~合集37