1. 新建监控服务进程是否存在脚本¶
1. 在客户端创建脚本存放目录¶
mkdir /zabbix-agent-scripts
2. 写脚本¶
vim /zabbix-agent-scripts/check_process.sh
#!/bin/bash
# 进程存在,返回0,进程不存在,返回1!
process=$(ps -ef|grep -Ev "grep|$0"|grep -c $1)
if [ $process -gt 0 ];then
echo "0"
else
echo "1"
fi
3. 给脚本执行权限¶
chmod a+x /zabbix-agent-scripts/check_process.sh
ll /zabbix-agent-scripts/check_process.sh
4. 改脚本存放目录的属主¶
chown -R zabbix.zabbix /zabbix-agent-scripts/
ll -d /zabbix-agent-scripts/
5. 改客户端配置文件agentd.conf¶
#1.开启允许不安全的用户参数监控设置
echo "UnsafeUserParameters=1" >>/etc/zabbix/zabbix_agentd.conf
#2.将自定义脚本添加到配置文件
echo 'UserParameter=check_process[*],/bin/bash /zabbix-agent-scripts/check_process.sh $1' >>/etc/zabbix/zabbix_agentd.conf.d/process_check.conf
6. 客户端测试¶
# 存在进程名,则返回0
/zabbix-agent-scripts/check_process.sh zabbix
# 不存在的进程名,则返回1
/zabbix-agent-scripts/check_process.sh mysql
root@ali:~# # 存在进程名,则返回0
root@ali:~# /zabbix-agent-scripts/check_process.sh zabbix
0
root@ali:~#
root@ali:~# # 不存在的进程名,则返回1
root@ali:~# /zabbix-agent-scripts/check_process.sh mysql
1
root@ali:~#
7. 重启zabbix_agent¶
systemctl restart zabbix-agent
2. 新建监控项¶
1. 自定义模板¶
#配置-模板-自定义模板
# 添加描述
2.监控进程是否存在
2. 创建监控项¶
# 名称:if openvpn exists
# 键值: check_process[openvpn]
# 更新间隔:30s
# 应用集:chupeng self-defined application collection
# 添加
3. 创建触发器¶
# 名称: openvpn service doesn't exist
# 严重性:严重
# 表达式:
# 监控项:if openvpn exists
# 结果:= 1
# 添加
4. 查看最新数据¶
# 检测-最新数据,可以发现自定义的监控项已经出现了!
3. 触发监控项测试¶
1. 停掉openvpn服务¶
# 所有主机上的openvpn都是使用docker运行了, 所以可以使用docker stop 来测试!
# 10.0.8.1
docker stop openvpn
2. 监控出现报警!¶
3. 恢复openvpn,报警消失!¶
docker start openvpn
PS:也可以使用自带的端口监控来监控服务!¶
最后更新:
2022-02-18 07:50:18