Перейти к содержимому

Как работать с mib браузером

  • автор:

D-Link Switches: Tips & Tricks

Потратив не один час на поиски нашел неплохой MIB-браузер под Windows — SnmpB. Он слегка подзаброшен (не обновляется с 2013 года), но при этом неплох. Отличительная особенность программы в том, что она не требует Java. Большинство других, в т.ч. iReasoning MIB Browser требуют Java для работы.

Небольшой баг программы — она не умеет работать с очень длинными путями к каталогам с файлами с MIB. Добавив несколько каталогов с путями вида ..\usr\share\snmp\mibs\DES-3200_R4.39_MIB_20150306\proprietaryMIB\Dlink-common-mgmt\ долго не мог понять почему программа не видит MIB’ы в основном дереве. Когда уменьшил путь все стало нормально.

По сравнению с браузером от iReasoning браузер SnmpB не имеет ограничения в 10 одновременно подключаемых MIB-файлов. В первом это ограничение очень чувствовалось. Но и минус тоже есть — все пути нужно прописывать явно, диалогового окна выбора нет.

Тем не менее, на данный момент это мой выбор для работы с MIB-файлами под Windows.

2 комментария:

Добрый день! не нашел информации как с Вами связаться. Видел Вашу переписку на forum.dlink.ru по поводу проблем с мультикастом (зависающие подписки и т.п.). Просьба написать статью о тонкостях настройки (тюнинге) мультикаста на свитчах DLINK. В частности querier и коммутаторов доступа. Вы очень качественно объясняете существующие проблемы и особенности в коммутаторах DLINK, думаю статья по мультикасту должна быть отменной! Ответить Удалить

К сожалению, все тонкости работы с мультикастом я так и не постиг. 🙂 Более того, у меня еще есть к D-Link достаточно много вопросов на этот счет. Однако решение для конкретно своей топологии и устройств у меня есть. Про это, в принципе, написать можно.

SNMP MIBs и как их готовить

image

Я 5 лет работаю в компании, предоставляющей широкополосный доступ к всемирной паутине. Занимаюсь непосредственным управлением оборудованием, а также планированием и мониторингом сети. На момент моего прихода в сети было немногим больше 100 единиц управляемого оборудования вендоров Cisco и D-Link. Рисовали карту сети по старинке в visio, ip-адреса вели там же, но мой руководитель в то время начал писать некоторый софт для инвентаризации оборудования — началось все с учета выданных ip-адресов. Учитывая рост сети (а точнее модернизация в лице замены глупых «мыльниц» на «управляки»), мы и решили, что обычного Cacti нам не хватает. Стандартные счетчики по SNMP мы собирали сразу, но найти что-то более нужное и интересное было трудно. Неоднократные попытки овладеть другими опциями не приводили к конечному результату, но не так давно удалось «обуздать» MIB-файлы для коммутаторов D-Link и считаю, что данная статья ускорит процесс изучения коммутаторов и протокола SNMP. Это позволит быстрее и качественнее управлять сетью.

Установка MIBs
Стандартные

MIBs обычно распространяются в виде архива с пачкой файлов. Многие из них, составленные в iana и ietf, повторяются в каждом архиве, но передаются для совместимости.
Для работы в системе по умолчанию (конкретно для Debian) они должны лежать примерно в /usr/share/mibs
Для начала установим стандартные mibs в систему.

$ sudo apt-get install snmp-mibs-downloader 

В файле конфигурации /etc/snmp/snmp.conf включить нужные. Пример:

% cat /etc/snmp/snmp.conf # # As the snmp packages come without MIB files due to license reasons, loading # of MIBs is disabled by default. If you added the MIBs you can reenable # loaging them by commenting out the following line. mibs :BRIDGE-MIB:Q-BRIDGE-MIB:IP-MIB:IF-MIB #mibs :ALL 

mibs :ALL включает все, что не совсем хорошо. Рекомендую для каждого оборудования иметь папку с mib’ами, т.к. они могут отличаться из одной прошивки к другой.

Частный случай

После распаковки структура следующая:

$ tree -d . ├── proprietaryMIB │ ├── Dlink-common-mgmt │ └── Dlink-mgmt └── standardMIB 
Программное обеспечение
D-View

image

Первая попытка использовать эти MIBs были сделана в утилите D-View от производителя коммутаторов. В составе пакета есть MIB Browser и MIB Compiler. После некоторых попыток мне удалось увидеть дерево для модуля DGS3120-24SC-L2MGMT-MIB, но там не было поиска по oid и при загрузке модуля нужно указывать вручную несколько дополнительных MIB-файлов, что замедляло работу. Все усложняется если на руках только числовой oid и ты не знаешь в каком из модулей MIB он может быть — придется загружать все MIB из папки по одиночке и проверять каждый. На этом изучение программы D-View я закончил — мне она не подходит.

Net-SNMP

Возвращаюсь к тому, с чего начинал пост:
Мы скачали архив с MIBs и будем использовать утилиту snmptranslate из пакета Net-SNMP. Для удобства складываем все mibs в одну директорию, но это все равно не хватает:

% snmptranslate -M ./ -m DGS3120-24SC-L2MGMT-MIB -Ln 1.3.6.1.4.1.171.11.117.1.3.2.100.1.2.0.1 iso.3.6.1.4.1.171.11.117.1.3.2.100.1.2.0.1 

Чтобы долго не мучатся скопируем недостающие файлы из mibs коммутатора des-3200 с опцией не перезаписывать существующие. И здесь мы уже получаем положительный результат:

% snmptranslate -M ./ -m DGS3120-24SC-L2MGMT-MIB -Ln 1.3.6.1.4.1.171.11.117.1.3.2.100.1.2.0.1 DGS3120-24SC-L2MGMT-MIB::swL2macNotification 

UPD: Можно не копировать файлы, а указывать директории локальную и стандартные из системы -M ./:/usr/share/mibs/ietf:/usr/share/mibs/iana (для удобства можно делать alias в шелле)

  • -M Указывает на директорию, где искать mibs (можно перечислять, разделяя символом «:»)
    Таким образом можно было не складывать все MIBS в одну директорию, но тогда нужно с флагом -M указать все каталоги из первоначального архива.
  • -m Указывает какой модуль активируем (можно перечислять, разделяя символом «:»)
    Без указания модуля будут использоваться те, которые прописаны в /etc/snmp/snmp.conf
    % snmptranslate -m ./ -Ln 1.3.6.1.4.1.171.11.117.1.3.2.100.1.2.0.1
    RFC1155-SMI::enterprises.171.11.117.1.3.2.100.1.2.0.1
  • -Ln Избавляет нас от бесконечной портянки ошибок в иерархии mibs. Точнее -Ln отключает errors в stdout

Теперь, когда трансляция работает, можно вкусить всю прелесть иерархии OIDs. Для этого есть флаги:

-Td Print full details of the specified OID. -Tp Print a graphical tree, rooted at the specified OID. -Ta Dump the loaded MIB in a trivial form. -Tl Dump a labeled form of all objects. -To Dump a numeric form of all objects. -Ts Dump a symbolic form of all objects. -Tt Dump a tree form of the loaded MIBs (mostly useful for debugging). -Tz Dump a numeric and labeled form of all objects (compatible with MIB2SCHEMA format) 
Примеры использования
% snmptranslate -M ./ -m ALL -Ln -Td 1.3.6.1.4.1.171.11.117.1.3.2.100.1.2.1.1 DGS3120-24SC-L2MGMT-MIB::swL2macNotifyInfo swL2macNotifyInfo OBJECT-TYPE -- FROM DGS3120-24SC-L2MGMT-MIB SYNTAX OCTET STRING (0..1024) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates information about the last time the system rebooted." ::= < iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) dlink(171) dlink-mgmt(11) dlink-Dgs3120Proj(117) dlink-Dgs3120ProjModel(1) dlink-Dgs3120Proj-Dgs3120-24SC(3) swL2MgmtMIB(2) swL2MgmtMIBTraps(100) swL2Notify(1) swL2NotifyPrefix(2) swl2NotificationBidings(1) 1 >% snmptranslate -M ./ -m ALL -Ln -Onf 1.3.6.1.4.1.171.11.117.1.3.2.100.1.2 .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.dlink-Dgs3120Proj.dlink-Dgs3120ProjModel.dlink-Dgs3120Proj-Dgs3120-24SC.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix % snmptranslate -M ./ -m ALL -Ln -Tp -OS 1.3.6.1.4.1.171.11.117.1.3.2.100.1.2 +--swL2NotifyPrefix(2) | +--swL2NotifFirmware(0) | | | +--swL2macNotification(1) | +--swL2PortSecurityViolationTrap(2) | +--swl2NotificationBidings(1) | +-- -R-- String swL2macNotifyInfo(1) | Size: 0..1024 +-- ---N String swL2PortSecurityViolationMac(2) Textual Convention: MacAddress Size: 6 

Можно просканировать все mibs и увидеть, что swL2macNotifyInfo есть и на других коммутаторах

% snmptranslate -M ./ -m ALL -Ln -Ts|grep swL2macNotifyInfo .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.des3200SeriesProd.des3200-28.des3200-28-cx.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix.swl2NotificationBidings.swL2macNotifyInfo .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.dlink-Dgs3120Proj.dlink-Dgs3120ProjModel.dlink-Dgs3120Proj-Dgs3120-24TC.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix.swl2NotificationBidings.swL2macNotifyInfo .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.dlink-Dgs3120Proj.dlink-Dgs3120ProjModel.dlink-Dgs3120Proj-Dgs3120-24PC.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix.swl2NotificationBidings.swL2macNotifyInfo .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.dlink-Dgs3120Proj.dlink-Dgs3120ProjModel.dlink-Dgs3120Proj-Dgs3120-24SC.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix.swl2NotificationBidings.swL2macNotifyInfo .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.dlink-Dgs3120Proj.dlink-Dgs3120ProjModel.dlink-Dgs3120Proj-Dgs3120-48TC.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix.swl2NotificationBidings.swL2macNotifyInfo .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.dlink-Dgs3120Proj.dlink-Dgs3120ProjModel.dlink-Dgs3120Proj-Dgs3120-48PC.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix.swl2NotificationBidings.swL2macNotifyInfo .iso.org.dod.internet.private.enterprises.dlink.dlink-mgmt.dlink-Dgs3120Proj.dlink-Dgs3120ProjModel.dlink-Dgs3120Proj-Dgs3120-24SC-DC.swL2MgmtMIB.swL2MgmtMIBTraps.swL2Notify.swL2NotifyPrefix.swl2NotificationBidings.swL2macNotifyInfo
Подводные камни D-Link

Еще есть особенность в mibs для 3200, что в них присутствует Object Name loop_detect. Символ «_» в net-snmp не поддерживается, так что для профилактики делаем: % sed -i ‘s/_/-/’ * в директории с mibs. Ошибку об этом символе можно увидеть, если вернуть вывод ошибок (убрать ключ -Ln):

% snmptranslate -M ./ -m DES3200-10-L2MGMT-MIB -Td 1.3.6.1.4.1.171.11.113.2.1.2.100.1.2.0.1 No log handling enabled - turning on stderr logging Expected "(" (_): At line 5892 in .//L2mgmtDES3200-10.mib Should be ACCESS (detected): At line 5892 in .//L2mgmtDES3200-10.mib Bad parse of OBJECT-TYPE: At line 5892 in .//L2mgmtDES3200-10.mib SWPRIMGMT-DES3200-MIB::des3200-10-cx.2.100.1.2.0.1 des3200-10-cx OBJECT-TYPE -- FROM SWPRIMGMT-DES3200-MIB ::=

Здесь мы видим, что иерархия не сложилась до конца.
После исправления становится так:

% snmptranslate -M ./ -m DES3200-10-L2MGMT-MIB -Td 1.3.6.1.4.1.171.11.113.2.1.2.100.1.2.0.1 DES3200-10-L2MGMT-MIB::swL2macNotification swL2macNotification NOTIFICATION-TYPE -- FROM DES3200-10-L2MGMT-MIB OBJECTS < swL2macNotifyInfo >DESCRIPTION " This trap indicates the MAC address variations in the address table . " ::=

UPD: Можно использовать флаг -P u (-P MIBOPTS Toggle various defaults controlling mib parsing: u: allow the use of underlines in MIB symbols)

Нужно заметить, что я указал конкретный MIB, в котором искать (остальные «подтянутся» из директории ./). В этом случае не возникает ошибок, ну и скорость работы выше.

Если не указать конкретный MIB, то получим ошибки в других mibs

% snmptranslate -M ./ -Td 1.3.6.1.4.1.171.11.113.2.1.2.100.1.2.0.1

% snmptranslate -M ./ -Td 1.3.6.1.4.1.171.11.113.2.1.2.100.1.2.0.1 No log handling enabled - turning on stderr logging Attempt to define a root oid (iso): At line 5 in .//SNMPv2-SMI.mib Bad parse of OBJECT IDENTIFIER: At line 5 in .//SNMPv2-SMI.mib Did not find 'snmpModules' in module SNMPv2-SMI (.//SNMPv2-MIB.mib) Did not find 'mib-2' in module SNMPv2-SMI (.//SNMPv2-MIB.mib) Unlinked OID in SNMPv2-MIB: snmp ::= < mib-2 11 >Undefined identifier: mib-2 near line 230 of .//SNMPv2-MIB.mib Unlinked OID in SNMPv2-MIB: system ::= < mib-2 1 >Undefined identifier: mib-2 near line 46 of .//SNMPv2-MIB.mib Unlinked OID in SNMPv2-MIB: snmpMIB ::= < snmpModules 1 >Undefined identifier: snmpModules near line 12 of .//SNMPv2-MIB.mib Did not find 'mib-2' in module SNMPv2-SMI (.//IF-MIB.mib) Did not find 'snmpTraps' in module SNMPv2-MIB (.//IF-MIB.mib) Unlinked OID in IF-MIB: interfaces ::= < mib-2 2 >Undefined identifier: mib-2 near line 41 of .//IF-MIB.mib Unlinked OID in IF-MIB: ifMIB ::= < mib-2 31 >Undefined identifier: mib-2 near line 13 of .//IF-MIB.mib Unlinked OID in IF-MIB: linkUp ::= < snmpTraps 4 >Undefined identifier: snmpTraps near line 1356 of .//IF-MIB.mib Unlinked OID in IF-MIB: linkDown ::= < snmpTraps 3 >Undefined identifier: snmpTraps near line 1344 of .//IF-MIB.mib Did not find 'mib-2' in module SNMPv2-SMI (.//BRIDGE-MIB.mib) Unlinked OID in BRIDGE-MIB: dot1dBridge ::= < mib-2 17 >Undefined identifier: mib-2 near line 17 of .//BRIDGE-MIB.mib Did not find 'snmpModules' in module SNMPv2-SMI (.//rfc3411.mib) Unlinked OID in SNMP-FRAMEWORK-MIB: snmpFrameworkMIB ::= < snmpModules 10 >Undefined identifier: snmpModules near line 10 of .//rfc3411.mib Did not find 'dot1dTp' in module BRIDGE-MIB (.//P-BRIDGE-MIB.mib) Did not find 'dot1dTpPort' in module BRIDGE-MIB (.//P-BRIDGE-MIB.mib) Did not find 'dot1dBridge' in module BRIDGE-MIB (.//P-BRIDGE-MIB.mib) Did not find 'dot1dBasePortEntry' in module BRIDGE-MIB (.//P-BRIDGE-MIB.mib) Did not find 'dot1dBasePort' in module BRIDGE-MIB (.//P-BRIDGE-MIB.mib) Unlinked OID in P-BRIDGE-MIB: dot1dTpPortOverflowTable ::= < dot1dTp 6 >Undefined identifier: dot1dTp near line 740 of .//P-BRIDGE-MIB.mib Unlinked OID in P-BRIDGE-MIB: dot1dTpHCPortTable ::= < dot1dTp 5 >Undefined identifier: dot1dTp near line 664 of .//P-BRIDGE-MIB.mib Unlinked OID in P-BRIDGE-MIB: pBridgeMIB ::= < dot1dBridge 6 >Undefined identifier: dot1dBridge near line 18 of .//P-BRIDGE-MIB.mib Did not find 'mib-2' in module SNMPv2-SMI (.//RMON-MIB.mib) Unlinked OID in RMON-MIB: rmon ::= < mib-2 16 >Undefined identifier: mib-2 near line 88 of .//RMON-MIB.mib Did not find 'statistics' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'history' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'hosts' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'matrix' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'filter' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'etherStatsEntry' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'historyControlEntry' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'hostControlEntry' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'matrixControlEntry' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'filterEntry' in module RMON-MIB (.//RMON2-MIB.MIB) Did not find 'channelEntry' in module RMON-MIB (.//RMON2-MIB.MIB) Unlinked OID in RMON2-MIB: filter2Table ::= < filter 4 >Undefined identifier: filter near line 4931 of .//RMON2-MIB.MIB Unlinked OID in RMON2-MIB: channel2Table ::= < filter 3 >Undefined identifier: filter near line 4675 of .//RMON2-MIB.MIB Unlinked OID in RMON2-MIB: historyControl2Table ::= < history 5 >Undefined identifier: history near line 4531 of .//RMON2-MIB.MIB Unlinked OID in RMON2-MIB: matrixControl2Table ::= < matrix 4 >Undefined identifier: matrix near line 4623 of .//RMON2-MIB.MIB Unlinked OID in RMON2-MIB: hostControl2Table ::= < hosts 4 >Undefined identifier: hosts near line 4571 of .//RMON2-MIB.MIB Unlinked OID in RMON2-MIB: tokenRingPStats2Table ::= < statistics 6 >Undefined identifier: statistics near line 4778 of .//RMON2-MIB.MIB Unlinked OID in RMON2-MIB: tokenRingMLStats2Table ::= < statistics 5 >Undefined identifier: statistics near line 4727 of .//RMON2-MIB.MIB Unlinked OID in RMON2-MIB: etherStats2Table ::= < statistics 4 >Undefined identifier: statistics near line 4479 of .//RMON2-MIB.MIB Did not find 'dot1dBridge' in module BRIDGE-MIB (.//Q-BRIDGE-MIB.mib) Did not find 'dot1dBasePortEntry' in module BRIDGE-MIB (.//Q-BRIDGE-MIB.mib) Did not find 'dot1dBasePort' in module BRIDGE-MIB (.//Q-BRIDGE-MIB.mib) Unlinked OID in Q-BRIDGE-MIB: qBridgeMIB ::= < dot1dBridge 7 >Undefined identifier: dot1dBridge near line 24 of .//Q-BRIDGE-MIB.mib Did not find 'mib-2' in module SNMPv2-SMI (.//INET-ADDRESS-MIB.mib) Unlinked OID in INET-ADDRESS-MIB: inetAddressMIB ::= < mib-2 76 >Undefined identifier: mib-2 near line 7 of .//INET-ADDRESS-MIB.mib Did not find 'mib-2' in module SNMPv2-SMI (.//IP-MIB.MIB) Did not find 'zeroDotZero' in module SNMPv2-SMI (.//IP-MIB.MIB) Unlinked OID in IP-MIB: icmp ::= < mib-2 5 >Undefined identifier: mib-2 near line 3291 of .//IP-MIB.MIB Unlinked OID in IP-MIB: ip ::= < mib-2 4 >Undefined identifier: mib-2 near line 184 of .//IP-MIB.MIB Unlinked OID in IP-MIB: ipMIB ::= < mib-2 48 >Undefined identifier: mib-2 near line 18 of .//IP-MIB.MIB Cannot adopt OID in SNMPv2-MIB: snmpMIBGroups ::= < snmpMIBConformance 2 >Cannot adopt OID in SNMPv2-MIB: snmpMIBCompliances ::= < snmpMIBConformance 1 >Cannot adopt OID in SNMPv2-MIB: snmpBasicCompliance ::= < snmpMIBCompliances 2 >Cannot adopt OID in SNMPv2-MIB: snmpSetSerialNo ::= < snmpSet 1 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpPrivProtocols ::= < snmpFrameworkAdmin 2 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpAuthProtocols ::= < snmpFrameworkAdmin 1 >Cannot adopt OID in SNMPv2-MIB: snmpObsoleteGroup ::= < snmpMIBGroups 10 >Cannot adopt OID in SNMPv2-MIB: snmpBasicNotificationsGroup ::= < snmpMIBGroups 7 >Cannot adopt OID in SNMPv2-MIB: systemGroup ::= < snmpMIBGroups 6 >Cannot adopt OID in SNMPv2-MIB: snmpSetGroup ::= < snmpMIBGroups 5 >Cannot adopt OID in SNMPv2-MIB: snmpCommunityGroup ::= < snmpMIBGroups 9 >Cannot adopt OID in SNMPv2-MIB: snmpGroup ::= < snmpMIBGroups 8 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpEngine ::= < snmpFrameworkMIBObjects 1 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpEngineMaxMessageSize ::= < snmpEngine 4 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpEngineTime ::= < snmpEngine 3 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpEngineBoots ::= < snmpEngine 2 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpEngineID ::= < snmpEngine 1 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpFrameworkMIB ::= < snmpModules 10 >Cannot adopt OID in SNMPv2-MIB: snmpMIB ::= < snmpModules 1 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpFrameworkMIBConformance ::= < snmpFrameworkMIB 3 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpFrameworkMIBObjects ::= < snmpFrameworkMIB 2 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpFrameworkAdmin ::= < snmpFrameworkMIB 1 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpFrameworkMIBGroups ::= < snmpFrameworkMIBConformance 2 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpFrameworkMIBCompliances ::= < snmpFrameworkMIBConformance 1 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpFrameworkMIBCompliance ::= < snmpFrameworkMIBCompliances 1 >Cannot adopt OID in SNMPv2-MIB: snmpSet ::= < snmpMIBObjects 6 >Cannot adopt OID in SNMPv2-MIB: snmpTraps ::= < snmpMIBObjects 5 >Cannot adopt OID in SNMPv2-MIB: snmpTrap ::= < snmpMIBObjects 4 >Cannot adopt OID in SNMP-FRAMEWORK-MIB: snmpEngineGroup ::= < snmpFrameworkMIBGroups 1 >Cannot adopt OID in IF-MIB: linkDown ::= < snmpTraps 3 >Cannot adopt OID in IF-MIB: linkUp ::= < snmpTraps 4 >Cannot adopt OID in SNMPv2-MIB: authenticationFailure ::= < snmpTraps 5 >Cannot adopt OID in SNMPv2-MIB: warmStart ::= < snmpTraps 2 >Cannot adopt OID in SNMPv2-MIB: coldStart ::= < snmpTraps 1 >Cannot adopt OID in SNMPv2-MIB: snmpTrapEnterprise ::= < snmpTrap 3 >Cannot adopt OID in SNMPv2-MIB: snmpTrapOID ::= < snmpTrap 1 >Cannot adopt OID in SNMPv2-MIB: snmpMIBConformance ::= < snmpMIB 2 >Cannot adopt OID in SNMPv2-MIB: snmpMIBObjects ::= < snmpMIB 1 >RFC1155-SMI::enterprises.171.11.113.2.1.2.100.1.2.0.1 enterprises OBJECT-TYPE -- FROM RFC1155-SMI ::=
Еще пример

Можно увидеть все mibs которые поддерживает коммутатор:
% snmpwalk -v2c -c qqq -M ./ -Ln -m ALL 172.11.11.166 sysORID

% snmpwalk -v2c -c qqq -M ./ -Ln -m ALL 172.11.11.166 sysORID SNMPv2-MIB::sysORID.1 = OID: FILE-SYSTEM-MIB::swFileSystemMIB SNMPv2-MIB::sysORID.2 = OID: L2PROTOCOL-TUNNEL-MIB::swL2ProtocolTunnelMIB SNMPv2-MIB::sysORID.3 = OID: CABLE-DIAG-MIB::swCableDiagMIB SNMPv2-MIB::sysORID.4 = OID: DDM-MGMT-MIB::swDdmMIB SNMPv2-MIB::sysORID.5 = OID: ACLMGMT-MIB::swAclMgmtMIB SNMPv2-MIB::sysORID.6 = OID: iso.2.840.802.10006.300.43 SNMPv2-MIB::sysORID.7 = OID: LLDP-MIB::lldpMIB.65538.131072.2156632268 SNMPv2-MIB::sysORID.8 = OID: LLDP-MIB::lldpMIB.65538.131072.2156662528.12.8802.1 SNMPv2-MIB::sysORID.9 = OID: LLDP-EXT-DOT3-MIB::lldpXdot3MIB.65540.131072.2156670924 SNMPv2-MIB::sysORID.10 = OID: LLDP-EXT-MED-MIB::lldpXMedMIB SNMPv2-MIB::sysORID.11 = OID: SWPROTOCOLVLAN-MIB::swProtocolVLANMIB SNMPv2-MIB::sysORID.12 = OID: STATIC-MAC-BASED-VLAN-MIB::swSMBVMIB SNMPv2-MIB::sysORID.13 = OID: VOICE-VLAN-MIB::swVoiceVLANMIB SNMPv2-MIB::sysORID.14 = OID: Q-IN-Q-MIB::swQinQMIB SNMPv2-MIB::sysORID.15 = OID: MSTP-MIB::swMSTPMIB SNMPv2-MIB::sysORID.16 = OID: ERPS-MIB::swERPSMIB SNMPv2-MIB::sysORID.17 = OID: PoE-MIB::swPoEMIB SNMPv2-MIB::sysORID.18 = OID: DOT3-OAM-MIB::dot3OamMIB SNMPv2-MIB::sysORID.19 = OID: DULD-MIB::swDULDMIB SNMPv2-MIB::sysORID.20 = OID: IEEE8021-CFM-MIB::ieee8021CfmMib SNMPv2-MIB::sysORID.21 = OID: NLB-MIB::swNlbMIB SNMPv2-MIB::sysORID.22 = OID: QoS-MIB::swQoSMIB SNMPv2-MIB::sysORID.23 = OID: MCAST-SNOOPING-MIB::swMcastSnoopingMIB SNMPv2-MIB::sysORID.24 = OID: MCAST-FILTER-MIB::swMcastFilterMgmt SNMPv2-MIB::sysORID.25 = OID: MCAST-VLAN-MIB::swMcastVlanMIB SNMPv2-MIB::sysORID.26 = OID: SFLOW-MIB::sFlowMIB SNMPv2-MIB::sysORID.27 = OID: PPPOE-MGMT-MIB::swPPPoEMIB SNMPv2-MIB::sysORID.28 = OID: IPV6-STATIC-ROUTE-MIB::swIPv6StaticRouteMIB SNMPv2-MIB::sysORID.29 = OID: SRC-IPIF-MIB::swSrcIpIfMIB SNMPv2-MIB::sysORID.30 = OID: SYSLOG-MIB::swSysLogMIB SNMPv2-MIB::sysORID.31 = OID: BRIDGE-MIB::dot1dBridge SNMPv2-MIB::sysORID.32 = OID: RFC1155-SMI::internet.6.3.1 SNMPv2-MIB::sysORID.33 = OID: RFC1271-MIB::rmon SNMPv2-MIB::sysORID.34 = OID: RFC1155-SMI::internet.6.3.10 SNMPv2-MIB::sysORID.35 = OID: RFC1155-SMI::internet.6.3.11 SNMPv2-MIB::sysORID.36 = OID: STATICFDB-MIB::swStaticFdbMIB SNMPv2-MIB::sysORID.37 = OID: RFC1155-SMI::internet.6.3.13 SNMPv2-MIB::sysORID.38 = OID: RFC1155-SMI::internet.6.3.12 SNMPv2-MIB::sysORID.39 = OID: RFC1155-SMI::internet.6.3.15 SNMPv2-MIB::sysORID.40 = OID: RFC1155-SMI::internet.6.3.16 SNMPv2-MIB::sysORID.41 = OID: RFC1155-SMI::internet.6.3.18 SNMPv2-MIB::sysORID.42 = OID: EtherLike-MIB::etherMIB SNMPv2-MIB::sysORID.43 = OID: P-BRIDGE-MIB::pBridgeMIB SNMPv2-MIB::sysORID.44 = OID: Q-BRIDGE-MIB::qBridgeMIB SNMPv2-MIB::sysORID.45 = OID: RMON-MIB::rmonMibModule SNMPv2-MIB::sysORID.46 = OID: IF-MIB::ifMIB SNMPv2-MIB::sysORID.47 = OID: ENTITY-MIB::entityMIB SNMPv2-MIB::sysORID.48 = OID: AGENT-GENERAL-MIB::agentGeneralMgmt SNMPv2-MIB::sysORID.49 = OID: DES3200-10-L2MGMT-MIB::swL2MgmtMIB SNMPv2-MIB::sysORID.50 = OID: SSL-MIB::swSSLMIB SNMPv2-MIB::sysORID.51 = OID: SINGLE-IP-MIB::swSingleIPMIB SNMPv2-MIB::sysORID.52 = OID: EQUIPMENT-MIB::swEquipmentMIB SNMPv2-MIB::sysORID.53 = OID: TIMERANGE-MIB::swTimeRangeMIB SNMPv2-MIB::sysORID.54 = OID: DES3200-10-L3MGMT-MIB::swL3MgmtMIB SNMPv2-MIB::sysORID.55 = OID: SRED-MIB::swSredMIB SNMPv2-MIB::sysORID.56 = OID: FILTER-MIB::swFilterMIB SNMPv2-MIB::sysORID.57 = OID: ARP-Spoofing-Prevent-MIB::swARPSpoofingPreventMIB SNMPv2-MIB::sysORID.58 = OID: BPDU-PROTECTION-MIB::swBpduProtectionMIB SNMPv2-MIB::sysORID.59 = OID: LOOPBACK-DETECT-MIB::swLoopDetectMIB SNMPv2-MIB::sysORID.60 = OID: DISMAN-PING-MIB::pingMIB SNMPv2-MIB::sysORID.61 = OID: DISMAN-TRACEROUTE-MIB::traceRouteMIB SNMPv2-MIB::sysORID.62 = OID: DHCP-RELAY-MGMT-MIB::swDHCPRelayMIB SNMPv2-MIB::sysORID.63 = OID: DOS-PREV-MIB::swDoSMgmtMIB SNMPv2-MIB::sysORID.64 = OID: TIME-MIB::swTimeMIB SNMPv2-MIB::sysORID.65 = OID: RFC1213-MIB::mib-2 SNMPv2-MIB::sysORID.66 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.67 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.68 = OID: RFC1213-MIB::mib-2 SNMPv2-MIB::sysORID.69 = OID: SMTP-MIB::swSMTPMIB SNMPv2-MIB::sysORID.70 = OID: ZONE-DEFENSE-MGMT-MIB::swZoneDefenseMIB SNMPv2-MIB::sysORID.71 = OID: AUTH-MIB::swAuthCtrl SNMPv2-MIB::sysORID.72 = OID: IEEE8021-PAE-MIB::ieee8021paeMIB SNMPv2-MIB::sysORID.73 = OID: Dot1xMGMT-MIB::swdot1xMGMTMIB SNMPv2-MIB::sysORID.74 = OID: RADIUS-ACCOUNTING-MIB::swRadiusAccountMGMTMIB SNMPv2-MIB::sysORID.75 = OID: RADIUS-AUTH-CLIENT-MIB::radiusAuthClientMIB SNMPv2-MIB::sysORID.76 = OID: RADIUS-ACC-CLIENT-MIB::radiusAccClientMIB SNMPv2-MIB::sysORID.77 = OID: DLINK-ID-REC-MIB::dlink-common-mgmt.35 SNMPv2-MIB::sysORID.78 = OID: IP-MAC-BIND-MIB::swIpMacBindMIB SNMPv2-MIB::sysORID.79 = OID: AAC-MIB::swAACMIB SNMPv2-MIB::sysORID.80 = OID: PORT-SECURITY-MIB::swPortSecMIB SNMPv2-MIB::sysORID.81 = OID: SAFEGUARD-ENGINE-MIB::swSafeGuardMIB SNMPv2-MIB::sysORID.82 = OID: SSH-MIB::swSSHMIB SNMPv2-MIB::sysORID.83 = OID: PKT-STORM-CTRL-MIB::swPktStormMIB 

Здесь мы видим тот mib, который ранее использовали в ключе -m DES3200-10-L2MGMT-MIB
SNMPv2-MIB::sysORID.49 = OID: DES3200-10-L2MGMT-MIB::swL2MgmtMIB

Еще бонус в виде команды snmptable

% snmptable -v2c -c eee -M ./ -m ALL -Ln 172.11.11.4

% snmptable -v2c -c eee -M ./ -m ALL -Ln 172.11.11.4 1.3.6.1.4.1.171.11.117.1.3.2.3.1 SNMP table: DGS3120-24SC-L2MGMT-MIB::swL2PortInfoTable swL2PortInfoPortIndex swL2PortInfoMediumType swL2PortInfoUnitID swL2PortInfoType swL2PortInfoLinkStatus swL2PortInfoNwayStatus swL2PortInfoErrorDisabled 1 copper 1 portType-1000Base-T link-pass full-1Gigabps-none none 1 fiber 1 portType-1000Base-X link-fail link-down none 2 copper 1 portType-1000Base-T link-pass full-1Gigabps-none none 2 fiber 1 portType-1000Base-X link-fail link-down none 3 copper 1 portType-1000Base-T link-fail link-down none 3 fiber 1 portType-1000Base-X link-fail link-down none 4 copper 1 portType-1000Base-T link-fail link-down none 4 fiber 1 portType-1000Base-X link-fail link-down none 5 copper 1 portType-1000Base-T link-fail link-down none 5 fiber 1 portType-1000Base-X link-pass full-1Gigabps-none none 6 copper 1 portType-1000Base-T link-fail link-down none 6 fiber 1 portType-1000Base-X link-pass full-1Gigabps-none none 7 copper 1 portType-1000Base-T link-pass full-100Mbps-none none 7 fiber 1 portType-1000Base-X link-fail link-down none 8 copper 1 portType-1000Base-T link-pass full-100Mbps-none none 8 fiber 1 portType-1000Base-X link-fail link-down none 9 fiber 1 portType-1000Base-X link-fail link-down none 10 fiber 1 portType-1000Base-X link-pass full-1Gigabps-none none 11 fiber 1 portType-1000Base-X link-pass full-1Gigabps-none none 12 fiber 1 portType-1000Base-X link-fail link-down none 13 fiber 1 portType-1000Base-X link-fail link-down none 14 fiber 1 portType-1000Base-X link-fail link-down none 15 fiber 1 portType-1000Base-X link-pass full-1Gigabps-none none 16 fiber 1 portType-1000Base-X link-fail link-down none 17 fiber 1 portType-1000Base-X link-fail link-down none 18 fiber 1 portType-1000Base-X link-pass full-1Gigabps-none none 19 fiber 1 portType-1000Base-X link-fail link-down none 20 fiber 1 portType-1000Base-X link-fail link-down none 21 fiber 1 portType-1000Base-X link-fail link-down none 22 fiber 1 portType-1000Base-X link-fail link-down none 23 fiber 1 portType-1000Base-X link-fail link-down none 24 fiber 1 portType-1000Base-X link-pass full-1Gigabps-none none 65 copper 2 portType-1000Base-T link-pass full-1Gigabps-none none 65 fiber 2 portType-1000Base-X link-fail link-down none 66 copper 2 portType-1000Base-T link-pass full-1Gigabps-none none 66 fiber 2 portType-1000Base-X link-fail link-down none 67 copper 2 portType-1000Base-T link-fail link-down none 67 fiber 2 portType-1000Base-X link-fail link-down none 68 copper 2 portType-1000Base-T link-fail link-down none 68 fiber 2 portType-1000Base-X link-fail link-down none 69 copper 2 portType-1000Base-T link-fail link-down none 69 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 70 copper 2 portType-1000Base-T link-fail link-down none 70 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 71 copper 2 portType-1000Base-T link-fail link-down none 71 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 72 copper 2 portType-1000Base-T link-fail link-down none 72 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 73 fiber 2 portType-1000Base-X link-fail link-down none 74 fiber 2 portType-1000Base-X link-fail link-down none 75 fiber 2 portType-1000Base-X link-fail link-down none 76 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 77 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 78 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 79 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 80 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 81 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 82 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 83 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 84 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 85 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 86 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 87 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 88 fiber 2 portType-1000Base-X link-pass full-1Gigabps-none none 
Итого

В данный момент, я перевожу OID SNMP Traps с коммутаторов в понятный для оператора формат. Это послужит основой для системы регистрации событий на оборудовании. Использовать MIBs в приложении мы не собираемся по причине непереносимости и не универсальности. Думаю подавляющее большинство библиотек используют для трансляции OID системные базы MIBs и конфиг /etc/snmp/snmp.conf (их использует Net-SNMP, а библиотека обращется к последнему), а глобально включать эти модули MIBs мы не хотим. Эти данные можно использовать для экспериментов и добиться более универсального варианта по использованию MIBs, но для меня этого достаточно.

UPD:
Полезные ключи:
-TB ищет в MIBs Object Name по regexp
-On выводит Object ID
Примеры:

% snmptranslate -M ./ -m DGS3120-24SC-L2MGMT-MIB -TB swPortSecPortLockAddrMode PORT-SECURITY-MIB::swPortSecPortLockAddrMode % snmptranslate -M ./ -m DGS3120-24SC-L2MGMT-MIB -On -TB swPortSecPortLockAddrMode .1.3.6.1.4.1.171.12.63.3.1.1.1.3 % snmptranslate -M ./ -m DGS3120-24SC-L2MGMT-MIB -On -TBd swPortSecPortLockAddrMode .1.3.6.1.4.1.171.12.63.3.1.1.1.3 swPortSecPortLockAddrMode OBJECT-TYPE -- FROM PORT-SECURITY-MIB SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the mode of locking address. In deleteOnTimeout(2) mode, the locked addresses can be aged out after the aging timer expires. In this mode, when the locked address is aged out, the number of addresses that can be learned has to be increased by one. In deleteOnReset (3) mode, locked addresses never age out unless the system restarts which will prevent port movement or intrusion." ::=
  • *nix
  • Сетевые технологии

Документация Algorius Net Viewer | SNMP MIB Browser

SNMP MIB браузер — это удобный инструмент сетевого администратора доступный в Algorius Net Viewer. С его помощью можно просматривать структуру MIB файлов, смотреть текущие значения объектов в MIB для указанных устройств, выбирать OID для настройки сенсора SNMP.

Вместе с приложением поставляется MIB файл по спецификации RFC1213. С его помощью можно смотреть информацию об устройстве, таблицу сетевых интерфейсов, TCP соединений и многое другое.

MIB файлы доступны на сайтах производителей сетевого оборудования.

Запуск

Существуют два режима запуска SNMP MIB Browser:

  • В режиме выбора OID — в этом случае отображается только дерево MIB файлов и информация о каждом элементе дерева. Для запуска в этом режиме нажмите на кнопку выбора OID в настройках сенсора SNMP, выберите в дереве нужный OID и нажмите кнопку OK.
  • В режиме отображения значений SNMP — в этом случае помимо отображения дерева MIB файлов можно смотреть текущие значения SNMP объектов для указанного устройства. Для запуска в этом режиме выберите команду MIB Browser в контекстном меню устройства. По умолчанию она расположена в группе Стандартные. Параметры соединения по протоколу SNMP берутся из способа опроса указанного устройства. Если устройство не опрашивается по SNMP, то параметры берутся из сенсора SNMP в настройках приложения.

Окно SNMP MIB браузер состоит из трех основных секций:

  • Панель управления (вверху);
  • Дерево MIB файлов (слева);
  • Информация о выбранном элементе дерева (справа).

Панель управления

Панель управления содержит следующие элементы:

Открыть
Выбрать MIB файл и добавить его в дерево.
Ctrl+O
Закрыть
Закрыть текущий MIB файл и убрать его из дерева.
Ctrl+W
Закрыть все
Закрыть все открытые MIB файлы и убрать их из дерева.
Ctrl+Shift+W
Печать
Распечатать информацию о текущем элементе дерева. Откроется окно предварительного просмотра, в котором можно выбрать принтер, настроить параметры печати и запустить печать.
Ctrl+P
Экспорт в CSV
Экспортировать информацию о текущем элементе дерева в файл в формате CSV. Этот файл можно открыть в текстовом редакторе или в Excel.
Получить значения
Получить текущие значения SNMP указанного элемента дерева. Доступно, только если SNMP MIB Browser запущен в режиме отображения значений SNMP.
Ctrl+G, DblClick

Работа с деревом MIB файлов

Для открытия MIB файла выберите Открыть на панели управления или в контекстном меню дерева MIB файлов. Укажите требуемый MIB файл. После этого приложение осуществит разбор этого файла и отобразит его элементы в дереве.

Для закрытия MIB файла выделите его в дереве и выберите Закрыть в его контекстном меню или на панели управления.

Чтобы полностью распахнуть или свернуть дерево MIB файла, выберите Распахнуть или Свернуть в его контекстном меню или на панели управления.

Для просмотра информации об элементе MIB файла выделите его. Информация отобразится в основной части окна. Отображается полное имя текущего элемента, OID и описание (если оно присутствует в MIB файле).

Просмотр значений SNMP

Отображение значений SNMP объектов доступно, только если SNMP MIB Browser запущен в режиме отображения значений. Для получения текущего значений SNMP объекта дважды щелкните по нему в дереве или выделите и выберите Получить значения на панели управления. Данные могут отображаться в виде списка или в виде таблицы в зависимости от типа элемента.

Средства и методы разработки

Мне кажется проще использовать SNMP MIB Browser. Протокол стандартный, MIB-файлы пишутся легко, один раз только надо в структуре разобраться.

В интерфейсе MIB-браузера видно какой параметр Read-Only, какой Read-Write. Текстовое описание каждого параметра ничего не ограничено. Параметры можно группировать.

Имеется куча типов данных.

    • . мой совет — держитесь подальше от этих болот. Но у меня, возможно, немного перекошенный опыт по SNMP — интеграция различных зоопарков, возможно для только своих устройств не так все печально. — Cкpипaч (28.10.2023 22:29 )
      • В телекоммуникациях SNMP это стандарт. Есть куча софта, в том числе и опенсорсного, например Zabbix. Можно сделать свою систему мониторинга за вечер.FDA (67 знак., 28.10.2023 22:53 )
        • Вы лучше исходники SNMP-агента, приемлимые для эмбедда, покажите 🙂 — Cкpипaч (28.10.2023 23:01 )
          • Исходников агентов хватает. Интересно становится, когда устройства должны взаимодействовать между собой и становится нужен SNMP-менеджер. — AlexG (29.10.2023 03:34 )
            • «Хватает» это не ответ. Ссылок накидаете? — Cкpипaч (29.10.2023 08:39 )
              • Уже накидали без меня.AlexG (149 знак., 29.10.2023 16:44 , ссылка)
                • Спасибо. — Cкpипaч (29.10.2023 16:47 )
                • А что в качестве транспорта? Ethernet\IP? — Evgeny_CD (29.10.2023 00:50 )
                  • SNMP работает поверх UDP, поэтому крайне легко реализуется. Мы его просто с нуля написали, там ничего сложного нет. — FDA (29.10.2023 14:05 )
                    • Нелюблю UDP-based протоколы, злой пролетарской нелюбовью.Cкpипaч (32 знак., 29.10.2023 14:13 )
                      • . а у TCP есть проблемы ? там где есть IP — там всегда присутствует маршрутизация. — Zoro (30.10.2023 14:26 )
                        • Там где есть маршрутизаторы, маршрутизация может быть заблокирована. — Cкpипaч (30.10.2023 15:05 )
                        • Вся разница — в наличии ожидаемого стандартного ответа. При диамической маршрутизации в сети с трансляцией IP-адресов (NAT), трансляторы намного лучше справляются с пробросом портов, когда видят предопределённые, ожидаемые ответы. Если протокол стандартный, то NAT, по умолчанию, с его маршрутизацией в обе стороны справляется хорошо. Если протокол собственный, то без специальной настройки NAT, не заработает. NAT просто не знает этого протокола и не знает, с какого портаNikolay_Po (61 знак., 30.10.2023 15:01 )
                          • Т.е. маршрутизатор прямо распознает http/3, и адаптирует алгоритм? Пототом распознает пакеты пары десятков ВКС, и тоже адаптируеся? Довольно сомнительно, если честно. Версия с тайм-аутом 15 сек вышлядит реалистично. — Evgeny_CD (31.10.2023 00:23 )
                          • NAT при отправке запроса «наружу» выделяет какой-то внешний порт и запоминает соответствие внешний порт — внутренний порт/IP (он же порт источника). При поступлении ответа на внешний порт пакет транслируется NAT’ом на соответствующий внутренний порт/IP. Внешний порт держится открытым какие-то время. Но не меньше 15-30 сек. Если устройство хотя бы раз в 15 сек шлёт какой-то пакет присутствия, то всегда извне можно достучаться до этого устройства по внешнему IP и внешнемуFDA (35 знак., 30.10.2023 16:19 )
                          • Нет. У нас свой стек. За основу когда-то брался TuxGraphics, но это было около 10 лет назад, в итоге на данный момент мы всё под себя переписали. — FDA (29.10.2023 13:58 )
                            • А разве исходники от него доступны? — Evgeny_CD (31.10.2023 01:48 )
                              • Вот тут лежат:FDA (1 знак., 02.11.2023 00:39 , ссылка)
                              • Мы продаём «железки», заказчики часто используют либо Zabbix, либо какие-то свои системы, поддерживающие SNMP-протокол. Zabbix разворачивается и настраивается за вечер. Там есть наверное всё, что нужно. Опрос любого кол-ва устройств, отчёты, графики, уведомления по почте или в телегу и т.п. Для первого запуска можно с их сайта виртуалку с уже установленной системой скачать, там нужно будет только OID’ы вбить и всё. — FDA (29.10.2023 14:00 )
                              • У нас своя SCADA,с почти сотней протоколов. — Cкpипaч (29.10.2023 08:37 )

                              Лето 7532 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна. Вебмастер
                              MMI © MMXXIV

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *