Mysqld_exporter监控
1.安装Mysql,安装步骤不赘述,mysqld_exporter支持版本MySQL> = 5.6,MariaDB> = 10.1
2.进入Mysql bin目录下执行./mysql -h127.0.0.1 -uroot -p,输入密码连接,创建用户docker启动尽量不要用localhost
# 使用max_user_connections参数来限制exporter用户最大连接数,避免监控引起数据库过载
CREATE USER 'exporter'@'127.0.0.1' IDENTIFIED BY 'ex123456' WITH MAX_USER_CONNECTIONS 5;
#把权限赋给export账户,只有是127.0.0.1上的客户端通过exporter账户连接才有这些权限
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'127.0.0.1';
3.如果要查看创建的用户或删除已创建的用户,如下:
select user,host from mysql.user; #查看创建的用户信息
+------------------+-----------+
| user | host |
+------------------+-----------+
| queryUser | % |
| root | % |
| zyks | % |
| exporter | 127.0.0.1 |
| mysql.infoschema | localhost |
+------------------+-----------+
11 rows in set (0.00 sec)
#删除用户
drop user exporter@127.0.0.1;
4.通过docker run 启动容器
docker run -d \
--name mysqld-exporter \
--net="host" \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
-p 9104:9104 \
-e DATA_SOURCE_NAME="exporter:ex123456@(172.16.18.15:3306)/" \
--restart=unless-stopped \
prom/mysqld-exporter
5.prometheus.yml配置文件末尾添加要监控的mysql节点
- job_name: 'mysql' # 采集mysql的指标
metrics_path: '/metrics' # 拉取指标的接口路径
scrape_interval: 10s # 采集指标的间隔周期
static_configs:
- targets: ['172.16.12.120:9104'] # mysql_exporter服务的ip和端口
labels:
app: mysqld_exporter
node: monitor01
role: mysqld_exporter
6.添加完配置文件后重启docker,docker restart prometheus,查看Prometheus配置节点是否启动正常
7.Grafana导入模板,可以从Grafana社区去找:https://grafana.com/grafana/dashboards/7362