2012-11-05 64 views
1

我需要设置一个zabbix触发器,每天检查一个从20h到22h的日志文件,并寻找特定的模式。 如果这两个小时内没有数据,应该发出警报。 我配置的触发器的语法是这样的:Zabbix触发器在一定的时间段内检查文件


“{item.time(0)}> 200000 & {item.time(0)} {item.nodata(7800 )} = 1"


这触发工作正常。然而,我注意到两个坏方面:

  1. 如果文件没有在20小时收到,它触发警报,但我 需要它来启动它,只有当文件仍然不能接受22小时。
  2. 即使文件尚未收到,直到22小时,一次是22h00m30s(一旦它在指定的 时间不再)发送OK 消息

我想缩短时间的时间到30分钟(从21点30分到22点):这解决了第一个问题,但我仍然遇到第二个问题。

最后一件事。如果我将时间缩短到30分钟,但让代理寻找7800s的数据(无数据(7800)),是否会检查在21点30分之前写入的日志条目?

请,如果您有任何建议,我将不胜感激!

回答

0

使用cronjob zabbix_trapper发送数据可能会更好。

在Zabbix服务器上,您将创建一个类似“file.summary”的陷印检查。在主机上,您将创建一个脚本,在适当的时候检查文件。它可能会喜欢看这个!

#!/bin/bash 
set -e 

if [[ `pattern check` == "0" ]] 
then 
    /usr/bin/zabbix_sender -z zabbix-server.com -s `hostname` -k file.summary -o 1 
else 
    /usr/bin/zabbix_sender -z zabbix-server.com -s `hostname` -k file.summary -o 0 
fi 

你应该让你的闹钟用的值触发= 0

相关问题