【Prometheus+Grafana 系列】监控 MySQL 服务
Contents
前言
前面的一篇文章已经介绍了 docker-compose 搭建 Prometheus + Grafana 服务。当时实现了监控服务器指标数据,是通过 node_exporter。Prometheus 还可用来监控很多服务,比如常见的 MySQL。本文就介绍如何通过 mysqld_exporter 来监控 MySQL 指标。
下载安装包
1 | cd /opt |
创建监控账号并授权
在需要监控的 mysql 上创建账号并授权。1
2
3
4# 创建用户
CREATE USER 'prometheus'@'%' IDENTIFIED BY 'prometheus';
# 分配权限
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'%';
添加数据库监控账号配置
vim /usr/local/mysqld_exporter/.my.cnf
添加如下内容1
2
3
4[client]
user=prometheus
password=prometheus
port=3306
启动 exporter 客户端
1 | /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf |
先手动启动 exporter 看一下日志,若有错误根据输出调整即可。手动运行没问题后,则进行下一步将其添加到系统服务中。
添加到系统服务
vim /etc/systemd/system/mysqld_exporter.service
添加如下内容1
2
3
4
5
6
7
8[Unit]
Description=mysqld_exporter
After=network.target
[Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target
加载并重启服务
1 | # 加载配置 |
查看收集数据
访问 exporter 服务地址,查看数据收集情况。1
curl http://192.168.2.192:9104/metrics
修改 prometheus 配置文件,添加新节点
修改 prometheus 下的配置,prometheus.yml,添加如下内容。1
2
3
4
5
6
7
8scrape_configs:
# 添加 job
- job_name: 'mysql-192'
static_configs:
# 配置监控端,即上面我们启动的 mysqld_exporter 服务
- targets: ['192.168.2.192:9104']
labels:
instance: mysql
重启 prometheus 服务
上一步修改了 prometheus.yml,需要重启下 prometheus 服务。1
2
3cd /var/workspace/docker-prometheus
docker-compose stop prometheus
docker-compose up -d --build prometheus
查看 prometheus 中服务添加情况
查看 targets 是否添加成功
查看 mysql 监控信息
mysql_global_status_aborted_clients
在 grafana 中添加 data sources
添加 prometheus 服务地址,此处由于服务是基于 docker-compose 构建的,没有填写 ip,直接填写服务名即可。
在 grafana 中导入 mysql 监控
输入官方模版 id,7362,点击 load。然后按照下图选择确认即可。
监控展示
上一步导入成功后,会自动跳转到监控面板页面,如下图。默认的格式已经非常丰富可以直接使用了,也可以根据自己需求调整位置和配置。
Author: Max Fang
Link: http://www.immaxfang.com/prometheus-grafana-mysql/
License: 知识共享署名-非商业性使用 4.0 国际许可协议