一、前言
上篇文章已经概述了prometheus喝grafana的使用,没了解的小伙伴们可以,在我的文章中查看下。这里不再赘述这两个中间件的使用,直奔主题。
二、mysql_exporter是干什么的
mysql_exporter主要监控Mysql数据库的稳定性、吞吐量、连接情况、缓冲池使用情况、查询性能等各项指标,是我们压测时常常需要监控的一些指标。
三、mysql_exporter安装配置
最新版本下载链接:https://prometheus.io/download/
四、解压
将压缩包上传到mysql服务器下的/server目录下,然后解压。
tar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz
mv mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter
五、添加系统服务
vim /usr/lib/systemd/system/mysqld_exporter.service
添加如下内容:
[Unit]
Description=https://prometheus.io
[Service]
ExecStart=/server/mysqld_exporter/mysqld_exporter --config.my-cnf=/server/mysqld_exporter/.my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target
六、添加并授权mysql用户
create user 'exporter'@'%' identified by '123456';
grant all on *.* to exporter@'%';
flush proivileges;
七、添加.my.cnf
vim /server/mysqld_exporter/.my.cnf
添加如下内容:
[client]
host=10.28.60.219
user=exporter
password=123456
port=3306
说明:host为要监控的mysql主机,user和password为数据库的用户名密码,port为数据库的端口。
八、运行mysql_exporter
systemctl daemon-reload
systemctl restart mysqld_exporter.service
systemctl enable mysqld_exporter.service
systemctl status mysqld_exporter.service
验证:
netstat -anp | grep 9104
默认端口为9104
九、开启防火墙
如果prometheus服务器telnet mysql服务器9104端口不通,则需要如下操作(关闭防火墙是不允许的,只能开放对应端口)。
systemctl status firewalld
firewall-cmd --zone=public --add-port=9100/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
十、prometheus添加mysql监控
vim prometheus.yml
添加如下:
- job_name: 'mysql监控'
static_configs:
- targets: ['10.28.60.191:9104']
添加完成后,重启prometheus.
pkill -9 prometheus
nohup ./prometheus --config.file="/server/prometheus/prometheus.yml" &
十一、添加grafana仪表
打开grafana后台,点击'+'导入mysql_exporter的仪表id,选择prometheus数据源。
至此,完美实现了prometheus+grafana+mysql_exporter监控。