使用Prometheus监控MySQL

MySQL授权

mysql -uroot -p

mysql> CREATE USER 'exporter'@'localhost' IDENTIFIED mysql> BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
mysql> FLUSH PRIVILEGES;

使用exporter

  1. 根据相应的系统下载相应压缩包
    下载地址:https://prometheus.io/download/
    image.png
  2. 解压缩包
tar xvfz mysqld_exporter-0.13.0.linux-amd64.tar.gz
  1. 新建.my.cnf
    用于配置exporter连接MySQL
[client]
user=exporter
password=xxxxxxxxxx
  1. 启动
nohup ./mysqld_exporter --config.my-cnf=/home/mysqld_exporter-0.13.0.linux-amd64/.my.cnf &
  1. 检查是否启动成功
    MySQL exporter默认的端口是9104
netstat -tnlp | grep 9104
image.png
  1. 修改prometheus.yml配置文件
    加入一下配置
  - job_name: 'mysql'
    static_configs:
    - targets: ['127.0.0.1:9104']
  1. 启动Prometheus
    我修改了启动的端口
./prometheus --config.file="prometheus.yml" --web.listen-address=:9091 &
  1. 打开http://127.0.0.1:9091/targets能看到已经添加成功
    image.png

    在graph里面可以查到MySQL相关数据
    image.png

    ps. 密码中不能带问号,启动exporter会出现如下错误
    level=error ts=2021-07-27T10:25:18.522Z caller=exporter.go:149 msg="Error pinging mysqld" err="Error 1049: Unknown database '&lock_wait_timeout=2'"
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容