opennms snmpv3 ловит и информирует - PullRequest
0 голосов
/ 26 апреля 2018

Я развернул OpenNMS через образы докера и у меня работает опрос SNMPv3, но я не смог получить прерывания или сообщения SNMPv3.

trapd-configuration.xml:

<?xml version="1.0"?>
<trapd-configuration snmp-trap-port="162" new-suspect-on-trap="true">
  <snmpv3-user
    security-name="trapuser"
    security-level="3"
    auth-passphrase="authsecret"
    auth-protocol="SHA"
    privacy-passphrase="privsecret"
    privacy-protocol="AES"/>
</trapd-configuration>

Если я запускаю следующее с другого хоста, который опрашивается OpenNMS через SNMPv3:

snmptrap -Dusm -v 3 -l authPriv -u trapuser -a SHA -A authsecret -x AES -X privsecret <opennms-host-ip> 42 coldStart.0

OpenNMS не генерирует никаких событий.В trapd.log я вижу следующее предупреждение:

2018-04-26 09:26:33,364 WARN  [DefaultUDPTransportMapping_0.0.0.0/162] o.s.MessageDispatcherImpl: statusInfo=1.3.6.1.6.3.15.1.1.3.0 = 0, status=1404

Из того, что я могу сказать, это относится к неизвестному имени пользователя.

Аналогичным образом не работает и информация, и я получаюто же самое предупреждение в файле trapd.log и аналогичное предупреждение на стороне отправителя.Если я запускаю tcpdump, я вижу, как он извлекает идентификатор удаленного engineID из opennms.

snmpinform -Dusm -v 3 -l authPriv -u trapuser -a SHA -A authsecret -x AES -X privsecret <opennms-host-ip> 42 coldStart.0
registered debug token usm, 1
usm: potentially bootstrapping the USM table from session data
usm: getting user
usm: USM processing has begun (offset 39)
usm: getting user
usm: Failed to find engine data.
usm: USM processing completed.
usm: USM processing begun...
usm: USM processing completed.
usm: potentially bootstrapping the USM table from session data
usm: no flag defined...  continuing
usm: user exists? x=(nil)
usm: Building user trapuser...
usm: USM processing has begun (offset 80)
usm: getting user trapuser
usm: match on user trapuser
usm: Encryption successful.
usm: USM processing completed.
usm: USM processing begun...
usm: match on user trapuser
usm: USM processing completed.
snmpinform: Unknown user name

Есть идеи, что я делаю неправильно?

1 Ответ

0 голосов
/ 16 мая 2018

Можете ли вы попробовать следующее:

открыть $OPENNMS_HOME/etc/service-configuration.xml и запустить демон Trapd после службы AsteriskGatway.Для этого найдите следующий блок XML:

<service enabled="true">
    <name>OpenNMS:Name=Trapd</name>
    <class-name>org.opennms.netmgt.trapd.jmx.Trapd</class-name>
    <invoke method="init" pass="0" at="start"/>
    <invoke method="start" pass="1" at="start"/>
    <invoke method="status" pass="0" at="status"/>
    <invoke method="stop" pass="0" at="stop"/>
</service>

По умолчанию Trapd запускается после Correlator.Вырежьте и вставьте весь блок определения службы после службы AsteriskGateway:

<service enabled="false">
    <name>OpenNMS:Name=AsteriskGateway</name>
    <class-name>org.opennms.netmgt.asterisk.agi.jmx.AsteriskGateway</class-name>
    <invoke method="init" pass="0" at="start"/>
    <invoke method="start" pass="1" at="start"/>
    <invoke method="status" pass="0" at="status"/>
    <invoke method="stop" pass="0" at="stop"/>
</service>

Можете ли вы попытаться обработать прерывания SNMPv3 сейчас?

...