与我之前关于 syslog-ng 的 patterndb 的问题类似匹配空描述的模式,我现在尝试匹配“--MARK--”消息。这些消息如下所示:
-- MARK --
他们的 ${PROGRAM} 显然设置为 null/空白。我目前有以下规则集 XML,与消息不匹配:
<ruleset name='my-null' id='my-null'>
<pattern></pattern>
<rules>
<rule class='system' id='null_dashed_mark' provider='me'>
<description></description>
<patterns>
<pattern>-- MARK --</pattern>
</patterns>
<values>
</values>
<examples>
<example>
<test_message program="">-- MARK --</test_message>
<test_values>
</test_values>
</example>
</examples>
</rule>
</rules>
</ruleset>
我也尝试了 <pattern> 和 </pattern> 之间的各种换行符和空格组合,但无济于事。
那么我该如何构建我的规则集规范来匹配/捕获这些“MARK”消息呢?
答案1
省略<pattern>
规则集的元素,那么 syslog-ng 应该匹配该规则集中没有 PROGRAM 字段的消息的规则。
问候,
罗伯特