Я пытаюсь использовать файлы MIB, поставляемые Cisco, чтобы получить информацию о получении информации, опросив мой коммутатор через SNMP. Это SG300-52P, файлы можно найти here.Как я могу справиться с этими ошибками синтаксического анализа mib-файлов SNMP?
После того, как я поместил файлы в один из nc-файлов по умолчанию в mets-каталогах netsnmp, было несколько ошибок, когда я попытался декодировать одно из описания до его числового значения, чтобы убедиться, что файлы MIB работают. Я думал о решении проблем, но их было слишком много, поэтому я решил просто попробовать и получить простейший из этих файлов для работы с netsnmp. Я поместил только файл SNMPv2-SMI в один из каталогов mib-файлов по умолчанию netsnmp (потому что это произошло в ошибках и является коротким файлом без зависимостей, я добавил содержимое для удобства) и выполнил следующую команду:
snmptranslate -m SNMPv2-SMI zeroDotZero
Однако это возвращает следующие два erros:
Expected LAST-UPDATED (SMI): At line 35 in /home/buildmanager/.snmp/mibs/SNMPv2-SMI.my
zeroDotZero: Unknown Object Identifier (Sub-id not found: (top) -> zeroDotZero)
Через некоторое Googling и угадывание, я пошел вперед и проверил файл с этим интернет-MIB-файл валидатор here, которые возражали, что
Line 34:
2 `SMI' should start with a lower case letter
1 syntax error, unexpected MODULE_IDENTITY, expecting OBJECT
У меня нет идеи о том, что делать с этими сообщениями, и они не раскрывают ничего, что я мог бы понять. Означает ли это, что у моего файла есть ошибки? Это файл, официально предоставленный компанией Cisco, и это очень просто - я не могу представить, что это так. Я убедился, что в моей системе нет помех SNMPv2-SMI, поэтому я уверен, что это файл netsnmp использует. Я подозреваю, что здесь есть что-то, что я не понял о SNMP и этих файлах Mib в целом, поэтому, пожалуйста, укажите мне в правильном направлении или скажите мне, где и как искать ответы. Благодаря!
Содержание SNMPv2-SMI:
-- file: SNMPv2-SMI.my
-- Changes:
-- Converted to SMIC format.
-- [email protected]
SNMPv2-SMI DEFINITIONS ::= BEGIN
org OBJECT IDENTIFIER ::= { iso 3 }
dod OBJECT IDENTIFIER ::= { org 6 }
internet OBJECT IDENTIFIER ::= { dod 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
transmission OBJECT IDENTIFIER ::= { mib-2 10 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
security OBJECT IDENTIFIER ::= { internet 5 }
snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
-- transport domains
snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
-- transport proxies
snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
-- module identities
snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
-- macros
SMI MODULE-IDENTITY
SMI OBJECT-IDENTITY
SMI OBJECT-TYPE
SMI NOTIFICATION-TYPE
-- types
SMI Counter32
SMI Counter64
SMI Gauge32
SMI Integer32
SMI IpAddress
SMI Opaque
SMI TimeTicks
SMI BITS
SMI Unsigned32
zeroDotZero OBJECT-IDENTITY
STATUS current
DESCRIPTION
"A value used for null identifiers."
::= { 0 0 }
END
NET-SNMP сам поставляется с надлежащими документами MIB, такими как SNMPv2-SMI, поэтому вам не нужно использовать проблемные устройства от Cisco. –
Какая чертовщина. Зачем тогда Cisco поставлять эти файлы? И как я могу определить, какой из их файлов хорош для использования, и который я должен выбросить? В любом случае, с той, что поставляется с NET-SNMP, я получаю ту же ошибку. – fishgehoelz
Некоторые компиляторы автоматически пропускают основополагающие документы MIB, поэтому даже при некорректных сообщениях об ошибках не сообщается. Однако NET-SNMP недопустим. Что такое ошибка после переключения на версию NET-SNMP? Вы не могли грубо сказать, что это не работает. –