一、mysqld_exporter安裝
下載頁面
https://github.com/prometheus/mysqld_exporter/releases
下載最新版本
登錄到mysql服務器,解壓,並運行
# 解壓
tar zxvf mysqld_exporter-0.12.0.linux-amd64.tar.gz -C /usr/src/ cd /usr/src/mysqld_exporter-0.12.0.linux-amd64 # 創建目錄,復制文件 mkdir -p /etc/mysqld_exporter/bin/ mkdir -p /etc/mysqld_exporter/conf cp mysqld_exporter /etc/mysqld_exporter/bin/
二、mysql授權
mysqld_exporter需要連接Mysql,首先為它創建用戶並賦予所需的權限:
grant replication client,process on *.* to exporter@'%' identified by '27dc703b'; grant select on performance_schma.* to exporter@'%'; flush PRIVILEGES;
三、運行mysqld_exporter
新建配置文件
vi /etc/mysqld_exporter/conf/my.cnf
內容如下:
[client] user=exporter password=27dc703b port=3306 host=127.0.0.1
啟動進程
/etc/mysqld_exporter/bin/mysqld_exporter --config.my-cnf="/etc/mysqld_exporter/conf/my.cnf" --web.listen-address=":9104"
觀察是否有報錯信息,如果沒有報錯信息,就可以封裝service服務了
四、mysqld_exporter封裝service
vim /lib/systemd/system/mysqld_exporter.service
內容如下:
[Unit] Description=mysqld monitor After=network.target [Service] ExecStart=/etc/mysqld_exporter/bin/mysqld_exporter --config.my-cnf="/etc/mysqld_exporter/conf/my.cnf" --web.listen-address=":9104" ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 TimeoutStopSec=5 KillMode=mixed [Install] WantedBy=multi-user.target
重新加載service配置文件,設置開機自啟動,並啟動服務
systemctl daemon-reload systemctl enable mysqld_exporter.service systemctl start mysqld_exporter.service
查看端口
root@ubuntu:~# netstat -anpt|grep mysqld_exporte tcp6 0 0 :::9104 :::* LISTEN 3253/mysqld_exporte
使用網頁訪問metrics
http://192.168.1.24:9104/metrics
效果如下:
如果數據輸出正常,則表示成功。
五、promethus增加job
vim /opt/prometheus/prometheus.yml
增加以下內容:
- job_name: mysqld_exporter static_configs: - targets: - 192.168.1.24:9104 labels: instance: mysql-24
重啟prometheus
root@ubuntu:/opt/prometheus# docker ps |grep prometheus 0fa256f85750 prom/prometheus "/bin/prometheus --c…" About an hour ago Up 29 seconds 0.0.0.0:9090->9090/tcp wizardly_kirch root@ubuntu:/opt/prometheus# docker restart 0fa256f85750
訪問頁面:
http://192.168.1.24:9090/targets
確保mysqd_exporter狀態為UP
六、Grafana導入Dashboards
下載json文件
https://files.cnblogs.com/files/xiao987334176/MySQL%E7%9B%91%E6%8E%A7-1577183740876.zip
解壓之后,里面就是一個json文件
點擊import
上傳json文件,設置Name,選擇prometheus,點擊import
等待一段時間,數據多了之后,效果如下: