今天分享一下Prometheus如何监控MySQL数据库
实验环境:
数据库服务器:10.0.0.41
prometheus服务器:10.0.0.104
参考部署链接:
默认数据库和prometheus都已部署好!下面演示安装mysql_exporter过程
1 安装mysqld_exporter
在MySQL数据库服务器上安装mysql_exporter
1.1 创建 MySQL 只读监控用户
在 MySQL 中运行以下命令(换成你自己的密码):
CREATE USER 'exporter'@'%' IDENTIFIED BY '123456';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
FLUSH PRIVILEGES;

验证登录
mysql -uexporter -p123456
1.2 安装 mysqld_exporter
下载并安装
cd /opt
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.17.2/mysqld_exporter-0.17.2.linux-amd64.tar.gz
tar -xvf mysqld_exporter-0.17.2.linux-amd64.tar.gz
cp mysqld_exporter-0.17.2.linux-amd64/mysqld_exporter usr/local/bin/
chmod +x usr/local/bin/mysqld_exporter
1.3 创建配置文件
在 /etc
下创建 .mysqld_exporter.cnf
登录配置:
vi /etc/.mysqld_exporter.cnf
内容如下:
[client]
user=exporter
password=123456
1.4 配置 systemd 服务
创建服务文件:
vi /etc/systemd/system/mysqld_exporter.service
内容如下:
[Unit]
Description=Prometheus MySQL Exporter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mysqld_exporter--config.my-cnf=/etc/.mysqld_exporter.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后启动服务:
# 重载系统服务
systemctl daemon-reload
# 启动并设置开机自启动
systemctl enable --now mysqld_exporter
查看状态:
systemctl status mysqld_exporter
1.5 防火墙放行(可选)
确保 Prometheus 节点(10.0.0.104)能访问此节点的 9104
端口:
# 关闭防火墙
systemctl disable --now firewalld
# 或者开通9104端口
firewall-cmd --permanent --add-port=9104/tcp
firewall-cmd --reload
2 Prometheus 配置
编辑你的 prometheus.yml
:
vi data/prometheus/prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'mysql-exporter'
static_configs:
- targets: ['10.0.0.41:9104']
labels:
mysql: 10.0.0.41数据库

保存并重启 Prometheus:
systemctl restart prometheus
访问 Prometheus 界面:
http://10.0.0.104:9090
进入 Status > Targets
,确认 10.0.0.41:9104
状态为 UP。

3 测试指标是否可用
在浏览器或命令行访问:
http://10.0.0.41:9104/metrics
你应该能看到:

说明 exporter 成功运行并能读取数据库状态!
4 使用Grafana可视化展示
导入 MySQL 监控 Dashboard(推荐模板 ID:7362 或 14057)


本次分享结束,感谢点赞和关注!
往期精彩文章:
文章转载自运维李哥不背锅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




