Zabbix在特定时间段内触发检查文件

时间:2012-11-05 14:02:32

标签: logging monitoring zabbix

我需要设置一个zabbix触发器,它将每天从20h到22h检查日志文件,并查找某种模式。 如果这两个小时内没有数据,则应触发警报。 我配置的触发器的语法如下:


  

“{item.time(0)}> 200000&安培; {item.time(0)}< 220000&安培; {item.nodata(7800)} = 1”


此触发器工作正常。但是,我注意到两个不好的方面:

  1. 如果在20h没有收到文件,它会发出警报,但是我 只有在22h仍然没有收到文件时才需要它才能启动它。
  2. 即使在22h之前没有收到文件,它也会发送OK 消息一旦它是22h00m30s(一旦它不再在指定的 时间段)
  3. 我在考虑将时间缩短到30分钟(从21点30分到22点):这解决了第一个问题,但我仍然遇到第二个问题。

    最后一件事。如果我将时间段减少到30分钟,但保持代理商查找7800s的数据(nodata(7800)),它会检查21h30之前写入的日志条目吗?

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

1 个答案:

答案 0 :(得分: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。