代码之家  ›  专栏  ›  技术社区  ›  Joe

OpenNMS Syslogd配置

  •  0
  • Joe  · 技术社区  · 7 年前

    我正在尝试配置OpenNMS以从ASA接收系统日志消息。

    <configuration
        syslog-port="514"
        new-suspect-on-message="false"
        parser="org.opennms.netmgt.syslogd.CustomSyslogParser"
        forwarding-regexp="((.+?) (.*))\r?\n?$"
        matching-group-host="2"
        matching-group-message="3"
        />
    

    系统日志消息以以下格式到达:

    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]
    

    indeterminate . 似乎这个正则表达式无法解析。当我在其他网站上测试这个正则表达式时,比如regex101。com它清楚地说没有匹配。我创建了一个符合我需要的正则表达式:

    \b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*([\s\S]*)

    但是,当我将其添加到配置中时,我不再得到任何Syslog消息。

    有人知道我是怎么做到的吗。我在这件事上花了太多时间了。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Joe    7 年前

    好吧,看来我已经弄明白了。我将尝试在这里发布一个完整的答案,希望它能帮助别人。文件对此不是最清楚的。

    Syslogd TechTarget

    $OPENNMS_HOME/etc/syslogd-configuration.xml 具备以下条件:

    <configuration
        syslog-port="10514"
        new-suspect-on-message="false"
        parser="org.opennms.netmgt.syslogd.CustomSyslogParser"
        forwarding-regexp="((.+?) (.*))\r?\n?$"
        matching-group-host="2"
        matching-group-message="3"
        />
    
    <ueiList>
        <ueiMatch>
            <match type="regex" expression="YOUR REGEX HERE"/>
            <uei>uei.opennms.org/foo1/foo2/foo3</uei>
        </ueiMatch>
    </ueiList>
    

    这个 ueiList 元素是我的第一个问题。这是您实际将syslog消息映射到自定义uei的地方。uei可以定制为创建您想要的任何唯一标识符。

    我的第二个问题是将自定义uei映射为具有属性,例如警报级别。这是通过 $OPENNMS_HOME/etc/eventconf.xml 文件我在下面插入了以下代码 </global>

    <event>00-custom.conf
        <uei>uei.opennms.org/foo1/foo2/foo3</uei>
        <event-label>Event Label Here</event-label>
        <descr>
               An event description here
        </descr>
        <logmsg dest='logndisplay'>Here is the Log: %parm[all]%</logmsg>
        <severity>Critical</severity>
    </event>
    

    parser="org.opennms.netmgt.syslogd.CustomSyslogParser" 在my中设置 syslogd-confguration.xml 文件如果您使用的是Syslog NG或格式更好的Syslog,还有其他选项。

    要帮助进行故障排除,您可以访问 $OPENNMS_HOME/etc $OPENNMS_HOME/bin 并运行以下操作: opennms -v status 这应该显示NMS的每个运行进程及其状态。

    service opennms restart (debian systems)重新加载新配置。如果出现JVM错误或“无法连接到本地主机”错误,很可能是因为您破坏了这两个配置之一。即使在xml文件的顶部添加额外的空间也会产生这个问题。编辑文件时要小心,我强烈建议您创建备份。

        2
  •  0
  •   indigo    7 年前

    正如我立即看到的,解析器属性“CustonSyslogParser”与“CustomSyslogParser”之间有一个拼写错误。只是为了确保您在这里没有其他问题:)

    否则,有两个因素起作用:

    • 事件定义,是系统日志消息映射到OpenNMS事件的结果
    • 系统日志解析规则,用于标识系统日志消息并将其映射到给定的OpenNMS事件定义

    与UEI UEI的活动。opennms。org/vendor/postfix/syslog/postfix/TLSDisabled的严重性定义为$OPENNMS_