我在推断“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'...