zabbix自定义监控服务进程
1. 自定义监控添加流程
1.创建脚本存放目录,写脚本,给执行权限,改目录的属主属组为zabbix
2.改客户端配置文件/usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=<key_name>, <shell command>
3.重启服务[外链图片转存失败(img-BJvnRXGE-1566701242523)(http://b393.photo.store.qq.com/psb?/V12vTUnG1ne6ha/hZLMK0NE7KXwJu7*ffVybhoyZNPZbCxQOGjgLPof3LE!/m/dIkBAAAAAAAAnull&bo=agUQBGoFEAQRBzA!&rf=photolist&t=5)]
4.在服务端手动测试
zabbix_get -s 客户端IP -k key_name
5.在网页界面添加监控项以及触发器
2. 环境说明
系统 | IP | 服务 |
---|---|---|
Centos redhat7 | 192.168.76.128(服务端) | zabbix_server zabbix_agentd |
Centos redhat7 | 192.168.6.133(客户端) | zabbix_agentd |
3. 具体操作
3.1 客户端操作
//创建存放脚本目录
[root@hua ~]# mkdir /scripts
[root@hua ~]# cd /scripts
[root@hua scripts]# vim check_process.sh
#!/bin/bash
process=$(ps -ef|grep -Ev "grep|$0"|grep -c $1)
if [ $process -gt 0 ];then
echo "0" //输出参数自定义
else
echo "1" //输出参数自定义
fi
[root@hua ~]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1 //在末尾添加这两条参数
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1 //这种适用监控所有进程
//重启服务
[root@hua ~]# pkill zabbix
[root@hua ~]# zabbix_agentd
3.2 服务端手动测试
//这里测试的是mysql,想测试什么括号里面就填什么
[root@hua ~]# zabbix_get -s 192.168.76.133 -k check_process['mysql']
1 //输出结果为1,根据上面脚本定义的输出结果,代表mysql没启动
3.3 网页配置
4. 监控其它(例子)
//监控swap空间
[root@hua ~]# vim /scripts/check_swap.sh
[root@hua ~]# cat /scripts/check_swap.sh
#!/bin/bash
swap_max=$(free -m |awk 'NR==3 {print $2}') //取出swap空间总值
free_swap=$(free -m |awk 'NR==3 {print $4}') //取出swap空间剩余值
swap=$(echo "${swap_max}*0.2"|bc |awk -F. '{print$1}') //算出总值的20%
if [ $free_swap -lt $swap ];then
echo "$free_swap"
else
echo "0"
fi
[root@hua ~]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1
UserParameter=check_swap,/bin/bash /scripts/check_swap.sh //添加这条参数
UserParameter=check_log[*],/usr/bin/python /scripts/log.py $1 $2 $3