使用 NSClient++ 的 CheckEventLog 模块,如何正确过滤两种不同的事件类型?

使用 NSClient++ 的 CheckEventLog 模块,如何正确过滤两种不同的事件类型?

我在推断“filter=in”两个事件类型(警告和错误)的正确语法时遇到了很多麻烦。

我使用的线路如下:

CheckEventLog -a truncate=1023 MaxWarn=1 MaxCrit=1 file='DFS Replication' filter=in "filter.eventSource='DFS Replication'" "filter.eventSource='DFSR'" "filter.eventType==error" "filter.eventType==warning" "filter+generated=\<5m" descriptions unique syntax='%message%'

“filter=in” 表示“包括”条件中列出的所有过滤器;而“filter=out”表示排除条件中列出的所有过滤器。

“filter*X”语法含义为:

  • '.' 可选(类似逻辑或)
  • 需要“+”(类似逻辑与)
  • ‘-’ 不是必需的(如逻辑或非)

此信息来自文档

奇怪的是,对我来说,上述语法意味着:要求列出的过滤器存在('filter = in'),来自事件源'DFS Replication'或'DFSR',包括所有少于 5 分钟前发生的警告或错误类型事件。

但是,上述语法返回所有事件类型(包括错误、警告、信息)[来自列出的事件源(尽管我还没有证明它们明确是“事件源”,而不是事件日志('file=')中的所有事件源),发生在不到 5 分钟之前]。

是否有人知道如何在 NSClient++ v0.3.9 中的 CheckEventLog 命令中包含两个不同的 eventType 过滤器?

答案1

使用新的语法类似于 SQL...

新的示例命令包含以下过滤器:

..."filter=generated gt -2d AND severity NOT IN ('success', 'informational') AND source != 'SideBySide'"...

就您而言,我猜您想要...源 = 'DFS 复制' 或 源 = 'DFSR'...

相关内容