LINUX.ORG.RU
решено ФорумAdmin

MIB

 , ,


1

2

Доброго времеца.

Есть у Synology MIB (http://www.synology.com/support/snmp_mib.php) файлы для SNMP. Отлично. Если запустить snmpwalk на самом synology будет отлично работать:

$ snmpwalk -c zabbix -v2c localhost synoDisk
SYNOLOGY-DISK-MIB::DiskID.0 = STRING: "Disk 1"
SYNOLOGY-DISK-MIB::DiskID.1 = STRING: "Disk 2"
SYNOLOGY-DISK-MIB::DiskModel.0 = STRING: "HDT721010SLA360 "
SYNOLOGY-DISK-MIB::DiskModel.1 = STRING: "HDT721010SLA360 "
SYNOLOGY-DISK-MIB::DiskType.0 = STRING: "SATA"
SYNOLOGY-DISK-MIB::DiskType.1 = STRING: "SATA"
SYNOLOGY-DISK-MIB::DiskStatus.0 = INTEGER: Normal(1)
SYNOLOGY-DISK-MIB::DiskStatus.1 = INTEGER: Normal(1)
SYNOLOGY-DISK-MIB::DiskTemperature.0 = INTEGER: 46
SYNOLOGY-DISK-MIB::DiskTemperature.1 = INTEGER: 44

Отлично. Качаю MIB файлы, кладу их в /usr/share/snmp/mibs/. Вбиваю:

$ snmpwalk -c zabbix -v2c nas-soft.it.exp.ru synoSystem
synoSystem: Unknown Object Identifier (Sub-id not found: (top) -> synoSystem)

Конечно если вбить так:

]$ snmpwalk -c zabbix -v2c nas-soft.it.exp.ru SYNOLOGY-SYSTEM-MIB::synoSystem
SYNOLOGY-SYSTEM-MIB::SystemStatus.0 = INTEGER: Normal(1)
SYNOLOGY-SYSTEM-MIB::Temperature.0 = INTEGER: 53
SYNOLOGY-SYSTEM-MIB::PowerStatus.0 = INTEGER: Normal(1)
SYNOLOGY-SYSTEM-MIB::SystemFanStatus.0 = INTEGER: Normal(1)
SYNOLOGY-SYSTEM-MIB::CPUFanStatus.0 = INTEGER: Normal(1)

Работает как положено. Но я хочу чтоб работало без указания модуля. В сети не нашел инфы как это сделать... Есть упоминание о том, что есть некий файл .index. Еще можно так:

# export MIBS=ALL
# snmpwalk -c zabbix -v2c nas-soft.it.exp.ru synoSystem
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }
Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB
Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2195 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Undefined OBJECT-GROUP (diffServMultiFieldClfrNextFree): At line 2157 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Undefined OBJECT-GROUP (diffServMIBMultiFieldClfrGroup): At line 2062 in /usr/share/mibs/ietf/IPSEC-SPD-MIB
Expected "::=" (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Expected "{" (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
SYNOLOGY-SYSTEM-MIB::SystemStatus.0 = INTEGER: Normal(1)
SYNOLOGY-SYSTEM-MIB::Temperature.0 = INTEGER: 54
SYNOLOGY-SYSTEM-MIB::PowerStatus.0 = INTEGER: Normal(1)
SYNOLOGY-SYSTEM-MIB::SystemFanStatus.0 = INTEGER: Normal(1)
SYNOLOGY-SYSTEM-MIB::CPUFanStatus.0 = INTEGER: Normal(1)

Работает, но попутно есть ошибки из соседних модулей. Я так понимаю надо где-то новые модули зарегистрировать. Но как и где найти не удалось. Возможно ответ близок, но в упор не вижу.

Есть идеи??


а если положить файл в /usr/share/snmp/mibs (или где он у тебя там) и с помощью ключа -M указать просмотр всей папки?

spunky ★★
()
Ответ на: комментарий от spunky

Уже в какие только папки не пихал...

snmpwalk -M /var/lib/mibs/ietf/ -v 2c -c zabbix nas-soft.it.exp.ru synoSystem
MIB search path: /var/lib/mibs/ietf/
Cannot find module (IANAifType-MIB): At line 13 in /var/lib/mibs/ietf//IF-MIB
Did not find 'IANAifType' in module #-1 (/var/lib/mibs/ietf//IF-MIB)
Cannot find module (UCD-DLMOD-MIB): At line 1 in (none)
Cannot find module (UCD-DISKIO-MIB): At line 1 in (none)
Cannot find module (LM-SENSORS-MIB): At line 1 in (none)
Cannot find module (UCD-SNMP-MIB): At line 1 in (none)
Cannot find module (UCD-DEMO-MIB): At line 1 in (none)
Cannot find module (NET-SNMP-AGENT-MIB): At line 1 in (none)
Cannot find module (IANA-RTPROTO-MIB): At line 12 in /var/lib/mibs/ietf//IP-FORWARD-MIB
Did not find 'IANAipRouteProtocol' in module #-1 (/var/lib/mibs/ietf//IP-FORWARD-MIB)
Cannot find module (NET-SNMP-PASS-MIB): At line 1 in (none)
Cannot find module (NET-SNMP-EXTEND-MIB): At line 1 in (none)
Cannot find module (NET-SNMP-VACM-MIB): At line 1 in (none)
synoSystem: Unknown Object Identifier (Sub-id not found: (top) -> synoSystem)

Если другую указать то на выходе может быть еще больше. Дело в том, что модули от Synology зависят от каких-то стандартных модулей, а эти модули могут тянуть за собой еще что-то. Как я понял они все стандартны, но разбросаны по разным папкам.

modjo
() автор топика
Ответ на: комментарий от modjo

-M /usr/share/snmp/mibs
Наличие ключа -M, насколько я понимаю, отключает просмотр стандартной папки.

spunky ★★
()
Ответ на: комментарий от spunky

Вот например не требуется указывать модуль:

$ snmpwalk -v 2c -c zabbix nas-soft.it.exp.ru sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (183676349) 21 days, 6:12:43.49

После видим, что был задействован модуль DISMAN-EVENT-MIB, а он лежит в /var/lib/mibs/ietf/DISMAN-EVENT-MIB.

PS

$ snmptranslate -On DISMAN-EVENT-MIB::sysUpTimeInstance
.1.3.6.1.2.1.1.3.0
$ snmpwalk -v 2c -c zabbix nas-soft.it.exp.ru .1.3.6.1.2.1.1.3.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (183700852) 21 days, 6:16:48.52

modjo
() автор топика
Ответ на: комментарий от spunky
$ sudo find / -name DISMAN-EVENT-MIB*
[sudo] password for user:
/var/lib/mibs/ietf/DISMAN-EVENT-MIB
modjo
() автор топика
Ответ на: комментарий от spunky
# find / -name DISMAN*
/usr/share/snmp/mibs/DISMAN-EVENT-MIB.txt
/usr/share/snmp/mibs/DISMAN-SCHEDULE-MIB.txt
/usr/share/snmp/mibs/DISMAN-SCRIPT-MIB.txt

В centos, то был вывод из ubuntu. В общем пока не нашел инфы как указывать объект без модуля и чтоб работало...

modjo
() автор топика

В общем решил так (скорее всего не идеально), для centos:

# cat /etc/profile.d/load_mibs.sh
export MIBS=+/usr/share/snmp/mibs/SYNOLOGY-DISK-MIB.txt
export MIBS=+/usr/share/snmp/mibs/SYNOLOGY-RAID-MIB.txt
export MIBS=+/usr/share/snmp/mibs/SYNOLOGY-SYSTEM-MIB.txt

# snmpget -c zabbix -v 2c nas-soft.it.exp.ru DiskStatus.0
SYNOLOGY-DISK-MIB::DiskStatus.0 = INTEGER: Normal(1)
modjo
() автор топика
Ответ на: комментарий от spunky

Ну вот, отлично. Есть два решения :)

modjo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.