NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: Lexsus on December 19, 2010, 02:20:00 PM

Title: Trap/VarBind
Post by: Lexsus on December 19, 2010, 02:20:00 PM
Ситуация в следующем: есть trap с OID .1.3.6.1.4.1.171.11.63.6.2.20.0.2
так же имеется VarBind .1.3.6.1.4.1.171.11.63.6.2.20.2.1 имеющая тип OCTET STRING
Создан: SNMP Trap-Event-Event policy
когда приходит trap создается alarm который я вижу
Необходимо извлечь информацию из VarBind`а и поместить ее в аларм, подскажите пож. как это сделать????
PS ..В Evente Messasge Template необходимо указать (%2), я правильно пинимаю???
   ...Если это правильно то почему в логах видно только квадрат и никих значений??   
Title: Re: Trap/VarBind
Post by: Victor Kirhenshtein on December 20, 2010, 02:02:23 PM
Vrode vse pravil'no. Esli viden kvadrat v tekste, to scoree vsego octet string soderzit nepechataemij tekst. Octet string ne objazatel'no oznachaet stroku, naprimer MAC adres toze vozvraschaetsja kak octet string. A mozno bilo bi prislat' opisanie trapa?
Title: Re: Trap/VarBind
Post by: Lexsus on December 20, 2010, 02:47:41 PM
Trap Name/OID: swL2macNotification/ .1.3.6.1.4.1.171.11.63.6.2.20.0.2-необходима для отсылки уведомляющих сообщений - trap - по протоколу SNMP на платформу сетевого управления,функция отсылает уведомляющие сообщения в случае добавления, удаления или изменения МАС адресов на тех портах коммутатора, на которых она настроена.
Variable Bind: swL2macNotifyInfo - насколько я понимаю здесь должна содержаться информация следующего характера:Type (тип действия) + MAC адрес + ID устройства + Номер порта + Окончание.(00 000000000000 0000 0000 00)
Title: Re: Trap/VarBind
Post by: Victor Kirhenshtein on December 20, 2010, 10:46:19 PM
V internete nashel tol'ko takuju informaciju po etomu varbindu:

swL2macNotifyInfo   OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE (0..1024))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the last time reboot information.
            "
        ::= { swl2NotificationBidings 1 }   

V ljubom sluchae pohoze chto tam ne tekstovaja informacija. Esli znat' format, to mozno poprobovat' preobrazovat' ee v normal'nij vid pri pomoschi NXSL skripta. Esli ne pomozet, to nado budet delat' patch - v ljubom sluchae polezno budet dobavit' normal'nij processing binarnih dannih v varbindah. Bilo bi ochen' polezno uznat' bse ze detal'nij format etogo polja, po baitam - skol'ko bait kakaja chast' zanimaet i v kakom formate hranitsja.
Title: Re: Trap/VarBind
Post by: Lexsus on December 21, 2010, 08:24:23 AM
Судя по тому что пишут на сайте производителя там содержится следующая информация:

Hex-STRING: 02 00 03 47 41 39 C9 00 01 00 12 00:

02==>type(01:add 02:remove 03:move)

00 03 47 41 39 C9==> MAC address

00 01==>unit

00 12==>port

00==>reserved

Если это поможет, то не могли бы подсказать как это преобразовать в читабельный вид?

Title: Re: Trap/VarBind
Post by: Lexsus on December 23, 2010, 08:23:48 AM
Я заметил, следующее:
Например при считывании MAC адресов с коммутатора из таблицы коммутации при помощи snmpwalk выдает следующее:
SNMPv2-SMI::mib-2.17.4.3.1.1.0.8.161.157.87.89 = Hex-STRING: 00 08 A1 9D 57 59
SNMPv2-SMI::mib-2.17.4.3.1.1.0.18.207.53.215.96 = Hex-STRING: 00 12 CF 35 D7 60
SNMPv2-SMI::mib-2.17.4.3.1.1.0.19.119.241.215.176 = Hex-STRING: 00 13 77 F1 D7 B0
SNMPv2-SMI::mib-2.17.4.3.1.1.0.19.212.134.66.152 = Hex-STRING: 00 13 D4 86 42 98
SNMPv2-SMI::mib-2.17.4.3.1.1.0.20.209.108.173.9 = Hex-STRING: 00 14 D1 6C AD 09
SNMPv2-SMI::mib-2.17.4.3.1.1.0.24.113.235.204.5 = Hex-STRING: 00 18 71 EB CC 05
SNMPv2-SMI::mib-2.17.4.3.1.1.0.24.113.235.229.5 = Hex-STRING: 00 18 71 EB E5 05

При этом делая walk в NetXms по тому же OID в поле "Value" пусто, подскажите в чем может быть проблема???
Title: Re: Trap/VarBind
Post by: Victor Kirhenshtein on December 23, 2010, 02:02:26 PM
Проблема в том, что NetXMS рассматривает тип OCTET STRING как текст, что не всегда правильно. snmpwalk проверяет строку на наличие непечатаемых символов, и если они есть, печатает всю строку как Hex-String. Я думаю в настройках SNMP трапов добавить опцию возвращать результат как hex string, тогда дальше можно будет сделать необходиимую обработку скриптами.
Title: Re: Trap/VarBind
Post by: Lexsus on December 23, 2010, 02:25:24 PM
Уважаемый Victor Kirhenshtein спасибо за ответ, очень хотелось бы иметь такую возможность.
Насколько я понял на данном этапе нельзя добиться нормального отображения данных типа OCTET STRING?
Как можно будет узнать, когда появится опция возвращания результата как hex string?
Title: Re: Trap/VarBind
Post by: Victor Kirhenshtein on January 19, 2011, 03:05:23 PM
Начиная с версии 1.0.9 данные типа OCTET STRING автоматически конвертируются в Hex формат, если содержат непечатаемые символы. Это можно отключить, выстави параметр сервера AllowTrapVarbindsConversion в значение 0.
Также в версии 1.0.9 nxsnmpget, nxsnmpwalk, и MIB Browser в консоли автоматически конвертируют OCTET STRING в Hex формат, если те содержат непечатаемые символы - по аналогии с утилитами из пакета Net-SNMP.
Title: Re: Trap/VarBind
Post by: Lexsus on January 22, 2011, 12:21:30 PM
Спасибо, все работает..:)
Правда не вижу в Server Configuration вот этого параметра "AllowTrapVarbindsConversion"?
Параметр необходимо создать самому?
Title: Re: Trap/VarBind
Post by: Victor Kirhenshtein on January 24, 2011, 03:18:12 PM
Quote from: Lexsus on January 22, 2011, 12:21:30 PM
Правда не вижу в Server Configuration вот этого параметра "AllowTrapVarbindsConversion"?
Параметр необходимо создать самому?

Да. По умолчанию используется значение 1, т.е. создавать его надо если необходимо получить поведение сервера как в предыдущих версиях.