由于项目需求:需要监控某一目录下的某一文件在指定时间段是否创建成功,所以接下来将演示如何实现这一需求。 假设目录是:/home/monitor/test
文件名称是:
ADAPTER_CP0006_GLP_INFO.20190701和ADAPTER_CP0006_GLP _INFO.20190701.ok
指定时间是:7:00
Zabbix被监控端的配置:
1、 在/usr/local/zabbix/etc/zabbix_agentd.conf.d/目录的操作:
vim file_status.conf
UserParameter=files.status,/usr/bin/sh/usr/local/zabbix/scripts/file_check.sh $1
2、 在/usr/local/zabbix/scripts目录的操作(由于项目需求的原因,所以我获取文件数量就行):
l #!/bin/bash
l #获取当前日期
l data=date -d "-1 day" +"%Y%m%d"
l #监控需求的是获取当天的前一天
l filestatus=`sudo ls /home/monitor/test | grep"$1[.]$data" | wc -l`
l #统计文件的数目是否为2
l if [[ "$file_status" == 2 ]]; then
l echo "OK"
l else
l echo "Failed"
l fi对刚刚创建的文件授权:
chown zabbix: file_status.conf
chown zabbix: file_check.sh
chmod +x file_check.sh
3、 重启zabbix_agentd:
service zabbix_agentd restart
4、 在zabbix的web界面添加监控、制作模板的监控项和触发器:
监控项如下:
触发器如下:
5、 查看最新数据:
6、 查看问题:
7、 注意:由于触发器的原因,当时间超过触发器中所设置的时间,问题就会自动恢复,所以触发器的时间范围要设置得大一点。