需要针对特定​​事件的严重警报,但 24 小时内未生成 ID

需要针对特定​​事件的严重警报,但 24 小时内未生成 ID

我正在使用 NSClient++ 0.5.0.62 2016-09-14 的 CheckEventLog

如何使用语法,如果 24 小时内未生成特定事件 ID,则需要严重警报,如果生成了事件 ID,则需要状态 OK。

我的语法:

./check_nrpe -H 192.168.63.1 -c check_eventlog -a "scan-range=-24h" "crit=count=<0"  "filter=id=1" "ok=count>0" "warn=none"

输出 :

OK: No entries found

对于上述语法,事件 ID 1 在 24 小时内未生成,我获得了 OK 状态。但我需要关键

请帮助我理解上述语法。

答案1

简单的方法是设置空状态并使用计数,就像您所做的那样,当未找到任何内容时,这会覆盖默认值“ok”。

什么都没找到:

check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical
L        cli CRITICAL: CRITICAL: No entries found
L        cli  Performance data: 'count'=0;0;0

发现了一些东西:

check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical
L        cli OK: OK: Event log seems fine
L        cli  Performance data: 'count'=12;0;0

您可能想使用以下方法稍微清理一下语法:

  • 显示所有
  • 空语法

就像这样:

发现了一些东西:

check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical show-all "empty-syntax=Nooooohhhh"
L        cli CRITICAL: Nooooohhhh
L        cli  Performance data: 'count'=0;0;0

什么都没找到:

check_eventlog scan-range=24h "filter=id=1008 and written < 24h" warn=none "crit=count=0" empty-state=critical show-all
L        cli OK: OK: 12 message(s) .....)
L        cli  Performance data: 'count'=12;0;0

另请注意该事件 ID 是并非全球唯一,相反,它们对于每个源都是唯一的,因此如果另一个应用程序(源)碰巧使用相同的事件 ID,则仅使用事件 ID 很可能无法按预期工作......

PS 这是在 0.5.1 而不是 0.5.0 上测试的,但理论上也应该在 0.5.0 上运行......

相关内容