zabbix自定义监控
开启自定义监控功能
在zabbix客户端上将zabbix_agent.conf文件中将自定义监控的功能打开
[root@client /]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1 //0表示此功能关闭1表示此功能打开
在两台被监控的主机上创建脚本存放目录
[root@client ~]# mkdir /scripts
自定义监控进程
编写判断进程是否开启的脚本
[root@client ~]# vim /scripts/check_process.sh
#!/bin/bash
process_status=$(ps -elf | grep -Ev "grep|$0" | grep -c $1)
if [ $process_status != 0 ];then
echo '1'
else
echo '0'
fi
给脚本加执行权限
[root@client ~]# chmod +x /scripts/check_process.sh
测试zabbix用户是否能使用此脚本
[root@client ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:9000 0.0.0.0:*
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 [::]:22 [::]:*
[root@client ~]# su - zabbix -s /bin/bash
[zabbix@client root]$ /scripts/check_process.sh httpd
1
[root@client ~]# systemctl stop httpd
[root@client ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 [::]:22 [::]:*
[zabbix@client root]$ /scripts/check_process.sh httpd
0
在zabbix客户端端写入此条自定义监控并且在服务端测试是否可用
客户端:
[root@client ~]# vim /usr/local/etc/zabbix_agentd.conf
……
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1
……
[root@client ~]# pkill zabbix
[root@client ~]# zabbix_agentd
[root@client ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 128 [::]:22 [::]:*
服务端:
[root@zabbix ~]# zabbix_get -s 192.168.247.211 -k check_process['httpd']
0