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



我需要设置一个zabbix触发器,该触发器每天将检查20小时至22h的日志文件,并查找某个模式。如果这两个小时没有数据,应发出警报。我配置的触发器的语法就是这样:


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


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

  1. 如果未在20小时收到文件,它会发出警报,但我只有在22小时仍未收到文件时,才需要发射它。
  2. 即使直到22小时才收到文件,也会发送一个确定一旦是22h00m30s(一旦不再在指定的时间段)

我正在考虑将时间段减少到30分钟(从21h30到22H):这解决了第一个问题,但我仍然对第二期遇到麻烦。

最后一件事。如果我将时间段缩短到30分钟,但让代理商在寻找7800s的数据(Nodata(7800)),它会检查21h30之前编写的日志条目吗?

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

使用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。

最新更新