下载mysql_exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
&& tar zxf mysqld_exporter-0.12.1.linux-amd64.tar.gz && mv mysqld_exporter-0.12.1.linux-amd64/mysqld_exporter && rm -rf mysqld_exporter-0.12.1.linux-amd64*

创建msql的连接权限

mysqld_exporter需要连接Mysql,首先为它创建用户并赋予所需要的权限:

GRANT REPLICATION CLIENT, PROCESS ON . TO ‘exporter’@’localhost’ identified by ‘123456’;
GRANT SELECT ON performance_schema.* TO ‘exporter’@’localhost’;
flush privileges;

创建.my.cnf文件

在当前的用户目录(可变更)创建.my.cnf文件
cat > .my.cnf<[client]
user=exporter
password=123456

设置mysql_exporter开启启动

  1. cat >/usr/lib/systemd/system/mysql_exporter.service<<EOF
  2. [Unit]
  3. Description=mysqld_exporter
  4. Documentation=https://prometheus.io/docs
  5. After=network.target
  6. [Service]
  7. User=root
  8. Group=root
  9. Type=simple
  10. ExecStart=/usr/bin/mysqld_exporter \
  11. --collect.info_schema.processlist \
  12. --collect.info_schema.innodb_tablespaces \
  13. --collect.info_schema.innodb_metrics \
  14. --collect.perf_schema.tableiowaits \
  15. --collect.perf_schema.indexiowaits \
  16. --collect.perf_schema.tablelocks \
  17. --collect.engine_innodb_status \
  18. --collect.perf_schema.file_events \
  19. --collect.binlog_size \
  20. --collect.info_schema.clientstats \
  21. --collect.perf_schema.eventswaits \
  22. --config.my-cnf=/root/.my.cnf
  23. Restart=on-failure
  24. [Install]
  25. WantedBy=multi-user.target
  26. EOF
  27. # 启动 mysql_exporter
  28. systemctl start mysql_exporter.service && systemctl status mysql_exporter.service
  29. # 默认端口9104

使用granafa给 MySQLD_Exporter添加监控图表

参考

https://www.xxlaila.cn/2020/04/12/Prometheus%E7%9B%91%E6%8E%A7%E5%BA%94%E7%94%A8/