使用 syslog-ng 和 patterndb,如何指定“空”规则集模式?

使用 syslog-ng 和 patterndb,如何指定“空”规则集模式?

与我之前关于 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 字段的消息的规则。

问候,

罗伯特

相关内容