基于上一篇博文,在此基础上搭建下对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的配置文件一定要看清楚缩进啊!!!!