Docker部署mysql_exporter集成到Prometheus+Grafana图表监控
引
监控项介绍
mysql_exporter
主要监控MySQL
数据库的:- 稳定性
- 吞吐量
- 连接情况
- 缓冲池使用情况
- 查询性能
- 等各项其他指标,是我们压测时常常需要监控的一些指标
环境介绍
- 有三台数据库,此处为:
- 测试环境:
MySQL5.7
- 预生产环境:
MySQL5.7
- 生产环境:
PolarDB-MySQL5.7
- 测试环境:
创建并授权监控用户
创建
exporter
用户并授权,以供监控使用(三个数据库都执行此命令)
CREATE USER 'exporter'@'%' IDENTIFIED BY 'exporter';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
flush provileges;
select user,host from mysql.user;
部署mysql_exporter
此处采用
Docker
方式部署,因为是三个环境,故分别在三台ECS
上部署
vim scripts/mysql_start_exporter.sh
#!/bin/bash
docker run -d \
--name mysql_exporter \
--restart always \
-p 9104:9104 \
-e DATA_SOURCE_NAME="exporter:exporter@(test.ehoo100.com:3306)/" \
prom/mysqld-exporter
配置Prometheus
将监控组件写入到配置文件,若是云
ECS
建议写内网IP
,获取数据速度快
vim Prometheus/prometheus.yml
配置完成重启:
docker restart prometheus
scrape_configs:
# 添加mysql监控(测试环境)
- job_name: 'mysql-test'
static_configs:
- targets: ['10.23.13.172:9104'] # 156
# 添加mysql监控(预生产环境)
- job_name: 'mysql-pre'
static_configs:
- targets: ['10.21.11.28:9104'] # 119
# 添加mysql监控(生产环境)
- job_name: 'mysql-pro'
static_configs:
- targets: ['10.22.13.37:9104'] # 20
配置Grafana
导入仪表盘
进入
Grafana
导入相关图标:7362
导入时修改名字为
MySQL(测试环境)
,等配置完后再复制两个改名为生产、预生产即可
查看监控效果
配置页面参数
复制仪表盘
三个
IP
,即三个数据库监控节点,当前页面保存为测试环境,选择对应并保存一下
配置对应IP
将复制的仪表盘:生产、预生产逐个更改为对应
IP
后保存即可(勾选“将当前变量值保存为仪表板默认值”),再次刷新页面就不用更改IP
了哦!