跳转至

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. 自定义模板

#配置-模板-自定义模板

img_36.png

# 添加描述
2.监控进程是否存在

img_37.png

2. 创建监控项

# 名称:if openvpn exists
# 键值: check_process[openvpn]
# 更新间隔:30s
# 应用集:chupeng self-defined application collection
# 添加

img_38.png

3. 创建触发器

# 名称: openvpn service doesn't exist
# 严重性:严重
# 表达式:
    # 监控项:if openvpn exists
    # 结果:= 1

# 添加

img_39.png

4. 查看最新数据

# 检测-最新数据,可以发现自定义的监控项已经出现了!

img_40.png

3. 触发监控项测试

1. 停掉openvpn服务

# 所有主机上的openvpn都是使用docker运行了, 所以可以使用docker stop 来测试!

# 10.0.8.1
docker stop openvpn

2. 监控出现报警!

img_41.png

3. 恢复openvpn,报警消失!

docker start openvpn

PS:也可以使用自带的端口监控来监控服务!


最后更新: 2022-02-18 07:50:18