Prometheus + Grafana已经搭建完成,之前嘱咐下面的人把探针装上,昨天做压力测试,发现数据经常中断。一查才知道,使用的是比较老的版本,而且各服务器版本还不一致,有些与当前监控模板并不一定兼容;一部分竟然是前台启动,ssh断了程序就停了……还有一部分是nohup xx &启动的,那么每次开机都要手动运行?很无语,什么事都要自己亲自来才放心
node_exporter:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
sudo vim /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=syslog.target
After=network.target
[Service]
Type=simple
User=nobody
Group=nobody
Restart=always
SuccessExitStatus=143
ExecStart=/usr/local/bin/node_exporter
ExecStop=/usr/bin/kill -15 $MAINPID
[Install]
WantedBy=default.target
|
1
2
3
|
sudo systemctl daemon-reload
systemctl start node_exporter.service
systemctl enable node_exporter.service
|
mysqld_exporter:
与node_exporter类似,这里只描述差异
mysqld_exporter启动要求有配置,官方文档描述配置有两种方式:
-
配置文件
-
环境变量
配置文件方式可能不太适合,因为mysql主从有多台,每台都要再写一个配置文件,多一份维护负担,这里选择环境变量,而且直接将环境变量写到service配置文件中,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
sudo vim /etc/systemd/system/mysqld_exporter.service
[Unit]
Description=Node Exporter
After=syslog.target
After=network.target
[Service]
Type=simple
User=nobody
Group=nobody
Restart=always
SuccessExitStatus=143
Environment=DATA_SOURCE_NAME=<user>:<password>@(localhost:3306)/
ExecStart=/usr/local/bin/mysqld_exporter
ExecStop=/usr/bin/kill -15 $MAINPID
[Install]
WantedBy=default.target
|
注:试过使用有库所有权限的子账号,启动报错,说是缺少权限(错误信息没有保存下来)应该是取mysql性能数据还需要读mysql系统库吧,子账号当然是没有权限的,我就简单的直接使用了root账号,只是localhost访问,而且也只是取性能数据而已。