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