基於上一篇博文,在此基礎上搭建下對MySQL的監控
1、下載MySQL的exporter
官網鏈接:https://prometheus.io/download/
找到mysqld_exporter進行下載
2、上傳到需要監控的MySQL的機器上進行解壓
3、執行命令

其中:
root是數據庫用戶名
Test123@ 是數據庫密碼
@是連接符號
()中的是ip:端口號
4、啟動mysql_exporter
進入到解壓后的文件夾中,執行命令:nohup ./mysqld_exporter &
出現如上圖則表示啟動成功了
5、進入到Prometheus中進行修改prometheus.yml
在scrape_configs中添加下面的配置(注意縮進)
- job_name: 'mysql'
static_configs:
- targets: [192.168.75.129:9104]

8、下面就是在Grafana中配置mysql的監控模板
在Grafana官網中找到mysql的監控模板 Mysql Overview,ID為7362,使用ID的方式導入到Grafana中去
9、查看效果
配置中遇到的問題
1、time="2021-03-23T16:00:20+08:00" level=error msg="Error pinging mysqld: Error 1045: Access denied for user 'root'@'192.168.75.129' (using password: YES)" source="exporter.go:146"
這里的問題是因為配置的環境變量錯誤了,因為我的數據庫密碼是:Test123@,但是在配置環境變量的時候少寫了一個@,寫成了:export DATA_SOURCE_NAME='root:Test#123@(127.0.0.1:3306)/',正確應該為:export DATA_SOURCE_NAME='root:Test#123@@(127.0.0.1:3306)/'
更新下環境變量,並重啟下mysql_exporter即可,看下日志發現沒有此問題了
2、在配置Prometheus.yaml完成后重啟Prometheus的時候后發現問題:level=error ts=2021-03-23T07:34:37.931Z caller=main.go:333 msg="Error loading config (--config.file=prometheus.yml)" err="parsing YAML file prometheus.yml: yaml: line 35: did not find expected key"
經過分析是因為在配置文件中的縮進有問題,該了下縮進就OK了
沒改之前是:
改了之后是這樣的:
是不是有點細微的區別,哈哈,所有針對yaml的配置文件一定要看清楚縮進啊!!!!