我正在尝试将OpenNMS配置为从ASA接收Syslog消息。我的syAdd.1-d配置文件如下所示:
<configuration
syslog-port="514"
new-suspect-on-message="false"
parser="org.opennms.netmgt.syslogd.CustonSyslogParser"
forwarding-regexp="((.+?) (.*))\r?\n?$"
matching-group-host="2"
matching-group-message="3"
/>syslog消息以这种格式到达:
Sep 13 08:36:37 192.168.75.254 %ASA-4-106023: Deny tcp src outside:144.5.5.255/
56607 dst inside:192.168.75.102/23 by access-group "outside_access_in" [0x0, 0x0]有了这个配置,我可以将syslog消息输入Opennms,但它们作为不确定的消息出现。这个正则表达式似乎无法解析。当我在像regex101.com这样的其他网站测试这个正则表达式时,它清楚地表示没有匹配。我已经创建了一个正则表达式,该正则表达式符合我的需要:
\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*([\s\S]*)但是,当我将它添加到配置中时,我将不再收到任何Syslog消息。
有没有人知道我是怎么让这一切发生的。我花了太多的时间在这件事上。
发布于 2017-09-14 17:58:35
我不知道最初的regex为什么嵌套组,但是如果删除外层()组,则需要减少主机和消息的组数(因为外部组是组#1),所以
matching-group-host="1"
matching-group-message="2"https://serverfault.com/questions/873708
复制相似问题