zabbix监控进程、日志文件、mysql主从
自定义监控进程
-
写脚本,脚本放统一位置
-
修改被监控端zabbix_agentd.conf配置文件
UnxsafeParameters=1 UnserParameter=<key>,<command>
-
重启zabbix agent
-
在web界面配置监控项和触发器
修改客户端的zabbix_agentd.conf文件
[root@master etc]# pwd
/usr/local/etc
[root@master etc]# vim zabbix_agentd.conf
UnsafeUserParameters=1 #默认为0。修改为1,打开自定义监控功能
······
UserParameter=check_process[*],/script/check_process.sh $1
[root@master etc]# pkill zabbix
[root@master etc]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 0.0.0.0:111 0.0.0.0:*
LISTEN 0 32 192.168.122.1:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 128 [::]:111 [::]:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 5 [::1]:631 [::]:*
[root@master etc]# cd
[root@master ~]# mkdir scripts
[root@master ~]# cd scripts/
[root@master scripts]# vim check_process.sh
[root@master scripts]# cat check_process.sh
#!/bin/bash
count=$(ps -ef | grep -Ev "grep|$0" | grep -c "$1")
if [ $count -eq 0 ];then
echo '1'
else
echo '0'
fi
[root@master scripts]# chmod +x check_process.sh
在服务端测试
[root@server ~]# zabbix_get -s 192.168.136.225 -p 10050 -k check_process[httpd]
配置监控项
[root@master ~]# systemctl stop httpd