1. 程式人生 > 其它 >Prometheus監控MySQL

Prometheus監控MySQL

一、採集MySQL資料

Mysqld_exporter下載地址:https://github.com/prometheus/mysqld_exporter

1.1 安裝

# 解壓
tar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/mysqld_exporter-0.12.1.linux-amd64/ /usr/local/mysqld_exporter-0.12.1
# 建立軟連結
ln -s /usr/local/mysqld_exporter-0.12.1/ /usr/local/mysqld_exporter

1.2 新增系統服務

[Unit]
Description=mysql Monitoring System
Documentation=mysql Monitoring System
[Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \
--collect.info_schema.processlist \
--collect.info_schema.innodb_tablespaces \
--collect.info_schema.innodb_metrics \
--collect.perf_schema.tableiowaits \
--collect.perf_schema.indexiowaits \
--collect.perf_schema.tablelocks \
--collect.engine_innodb_status \
--collect.perf_schema.file_events \
--collect.binlog_size \
--collect.info_schema.clientstats \
--collect.perf_schema.eventswaits \
--config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
[Install]
WantedBy=multi-user.target

新增配置服務

vi /usr/local/mysqld_exporter/.my.cnf

[client]
host=192.168.64.104
user=exporter
password=123456

1.3 MySQL新增授權賬戶

# 授權
MariaDB [(none)]> GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'exporter'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.002 sec)
# 重新整理許可權
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.005 sec)

1.4 啟動mysqld_exporter

 systemctl start mysqld_exporter

1.5 檢視metrics

訪問網址 http://ip:9104/metrics

1.6 加入prometheus監控

修改prometheus配置檔案 prmetheus.yml

- job_name: 'mysql_monitor'
  static_configs:
  - targets: ['192.168.64.101:9104']

重啟prometheus服務

systemctl restart prometheus

1.7 Grafana接入監控模板

匯入MySQL狀態監控模板 7362


類似的 監控redis/Nginx/ES/jvm同理。參考對應xxx_exporter部落格即可

參考部落格

  1. prometheus監控外掛mysqld_exporter
  2. 安裝redis_exporter監控redis叢集