ZABBIX触发器在重新保存文件后显示多次

时间:2019-04-03 20:26:35

标签: triggers zabbix

我是Zabbix的新手,我想创建一个项目,该项目在某些日志文件中搜索“问题”字词。此项应每5秒搜索一次文件,如果出现“问题”字样,则会触发问题。

我创建一个条件为

的密钥
log[/var/log/test/test.log,problem]

然后,创建一个触发器:

{Log reader:log[/var/log/test/test.log,problem].strlen()}>0

我创建了一个伪造的.log文件,并用一些伪造数据填充了它:

asdasda
asdadad
problem
asadada

一切正常,触发工作,并向我展示最后一个数据是“问题”的问题。在此之后,再次打开伪日志:

asdasda
asdadad
problem
asadada
problem 1

保存它,并且zabbix向我显示了2个问题,这两个问题都有最后一个数据“问题1”。当我将问题3写入日志时,同样,3个新报告都带有“问题3”数据。

该项目应实际上仅读取最新数据。我不是100%知道这是否是一个真正的问题,因为每次编辑.log文件时,我都会按逻辑重新保存它,因此item会找到3个单词,因此会创建3个报告。如果.log是真实的并被真实的数据填充,这将如何工作?项目是只读新闻还是与重新保存整个文件相同?

非常感谢您的时间:)

1 个答案:

答案 0 :(得分:0)

文档中有一个专门针对log file monitoring的页面,该页面非常有用,“重要说明”部分涵盖了大多数陷阱。

您的触发器按预期方式工作,对于您在日志中添加的每个“问题”,您都会收到警报,并且警报将一直保持下去。

您应该为触发器定义一个时间窗口(即:触发器在5分钟内至少有一个“问题”)或recovery expression以在满足特定条件后清除触发器(即:经过5分钟,日志中没有“问题”或“确定”字符串。

根据trigger functions文档-strlen部分,这应该触发一个警报,该警报持续1个或多个“问题”字符串,并在5分钟后清除:

  

{日志阅读器:log [/var/log/test/test.log,问题] .strlen(,5m)}> 0