Интеграция системного журнала OpenNMS

Я пытаюсь настроить OpenNMS для получения сообщений системного журнала от ASA. Мой файл конфигурации syslogd выглядит так:

<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"
    />

Сообщения системного журнала приходят в следующем формате:

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]

С помощью этой конфигурации я могу получать сообщения системного журнала в Opennms, но они поступают как неопределенные. Кажется, что это регулярное выражение не может разобрать. Когда я проверяю это регулярное выражение на других веб-сайтах, таких как regex101.com, оно ясно говорит, что нет совпадения. Я создал регулярное выражение, которое соответствует тому, как мне нужно:

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

НО, когда я добавляю это в конфигурацию, я больше не получаю никаких сообщений системного журнала вообще.

У кого-нибудь есть представление о том, как я это делаю. Я потратил слишком много времени на это, как есть.

2 ответа

Я не уверен, почему исходное регулярное выражение вложило группы, но если вы удалите группу external (), вам нужно уменьшить номера групп для хоста и сообщения (поскольку внешней группой была группа № 1), поэтому

matching-group-host="1"
matching-group-message="2"

Итак, я, кажется, понял это. Я попытаюсь опубликовать здесь полный ответ, надеясь, что он кому-нибудь поможет. Документы не самые ясные по этому вопросу.

Ссылки, которые я использовал для конфигурации: 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 стихия была моей первой проблемой. Здесь вы фактически отображаете сообщение системного журнала в пользовательский интерфейс. Пользовательский интерфейс может быть настроен для создания любого уникального идентификатора, который вы хотите иметь.

Вторая проблема заключалась в сопоставлении пользовательских 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" установка в моем syslogd-confguration.xml файл. Если вы используете Syslog-NG или syslog с лучшим форматированием, есть и другие варианты.

Чтобы помочь с устранением неполадок, вы можете перейти к $OPENNMS_HOME/etc или же $OPENNMS_HOME/bin и запустите следующее: opennms -v status это должно показать вам каждый запущенный процесс для NMS и их статус.

ПРИМЕЧАНИЕ: после изменения файла конфигурации вы должны запустить service opennms restart (системы Debian) для перезагрузки новой конфигурации. Если вы получили ошибку JVM или ошибку "не удалось подключиться к локальному хосту", это, скорее всего, потому что вы сломали один из этих двух конфигов. Даже добавление дополнительного пробела вверху XML-файла создаст эту проблему. Будьте внимательны при редактировании файлов, и я настоятельно рекомендую создавать резервные копии.

Другие вопросы по тегам