prometheus 构建MySQL主从监控
简介
mysql_exporter:用于收集MySQL性能信息。
下载地址:https://github.com/prometheus/mysqld_exporter/releases
主机 | 环境 | 部署内容 |
---|---|---|
10.200.13.37 | centos7.6 | mariadb/master、mysqld_exporter-0.12.1 |
10.200.13.21 | centos7.6 | mariadb/slave、mysqld_exporter-0.12.1 |
10.200.13.50 | centos7.6 | Prometheus-2.24.1、alertmanager-0.21.0、grafana-7.3.7-1 |
mariadb、Prometheus、alertmanager、grafana具体如何安装之前已讲过,就不多说。
mysql_exporter部署
1.下载mysql_exporter并解压
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
tar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/
2.需要授权用户给exporter使用
create user 'exporter'@'127.0.0.1' identified by '123456';
grant process,replication client,select on *.* to 'exporter'@'127.0.0.1';
3.在mysqld_exporter路径下创建my.cnf,添加刚才创建的exporter用户和密码
[client]
user=exporter
password=123456
4.启动exporter客户端,需指定mysql配置文件,读取exporter用户和密码(如system启动,此步骤可以忽略)
$ mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/my.cnf
常用参数:
// 选择采集innodb
--collect.info_schema.innodb_cmp
// innodb存储引擎状态
--collect.engine_innodb_status
// 指定配置文件
--config.my-cnf="/etc/my.cnf"
5.添加system系统服务
$ vim /usr/lib/systemd/system/mysqld_exporter.service
[Unit]
Description=mysqld_exporter
After=network.target
[Service]
User=root
Type=simple
ExecStart=/usr/local/mysqld_exproter/mysqld_exporter \
--config.my-cnf /usr/local/mysqld_exporter/my.cnf \
--collect.info_schema.processlist
Restart=on-failure
[Install]
WantedBy=multi-user.target
6.启动添加的system服务
systemctl daemon-reload
systemctl start mysqld_exporter.service
netstat -lntup | grep "9104"
7.修改prometheus.yml
- job_name: 'mysql-mater-slave'
scrape_interval: 5s
static_configs:
- targets: ['10.200.13.37:9104','10.200.13.21:9104']
8.重启prometheus服务
systemctl restart prometheus.service
9.配置grafana
先配置prometheus-2-0-stats此前文档已操作
添加相关监控模板7362:
添加主从主群监控模板7371:
添加缓冲池状态模板7365: