我正在尝试使用patterndb进行关联,我的要求是当异常或消息被添加到上下文中超过4次时,在60秒内生成一条消息。这是我的patterndb xml和syslog配置文件。 / p>
的example.xml
<patterndb version='4' pub_date='2010-10-17'>
<ruleset name='ssh' id='123456678'>
<pattern>ssh</pattern>
<rules>
<rule provider='me' id='182437592347598' context-id='ssh-login-logout' context-timeout='60' context-scope='process'>
<patterns>
<pattern>Exception in ssp @ESTRING:SSH_USERNAME:@</pattern>
</patterns>
<actions>
<action condition='"$(context-length)" >= "4"'>
<message>
<values>
<value name="PROGRAM">event</value>
<value name="abc">Sending mail now..</value>
</values>
</message>
</action>
<action condition='"$(context-length)" < "4"'>
<message>
<values>
<value name="PROGRAM">event</value>
<value name="abc">Sending mail tommrow..</value>
</values>
</message>
</action>
</actions>
</rule>
</rules>
</ruleset>
</patterndb>
app1.conf
source test_logfile {
file("/apps/syslog-ng/etc/testfile.log");
};
parser test_pattern{
db_parser(
file("/apps/syslog-ng/etc/example.xml")
);
};
destination test_output{
file("/apps/syslog-ng/etc/a.log" template("${abc}\n") template-escape(no));
};
log { source(test_logfile); parser(test_pattern); destination(test_output); flags(final); };
我正在将此日志消息写入testfile.log
echo“ssh:ssp中的异常java.lang.ClassNotFoundException”&gt;&gt; testfile.log
但是我没有将“abc”中存储的必需消息收到a.log中,即使将此消息写入testfile.log超过4次