У меня есть коммутатор Cisco, агент SNMP которого возвращает описания интерфейсов длиной до 256 символов ( ifAlias
). Например, здесь я получаю описание интерфейса длиной 100 символов:
$ snmpget -m ./IF-MIB_tmp -M /usr/share/snmp/mibs/ -M
/usr/local/share/snmp/mibs/ -Ov -v 2c -c public switch
IF-MIB::ifAlias.53
STRING: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$
Однако DisplayString SIZE в файлах MIB составляет 64 символа:
$ grep -A 5 -i "^ifalias" ./IF-MIB_tmp /usr/share/snmp/mibs/* /usr/local/shar /snmp/mibs/*
./IF-MIB_tmp:ifAlias OBJECT-TYPE
./IF-MIB_tmp- SYNTAX DisplayString (SIZE(0..64))
./IF-MIB_tmp- MAX-ACCESS read-write
./IF-MIB_tmp- STATUS current
./IF-MIB_tmp- DESCRIPTION
./IF-MIB_tmp- "This object is an 'alias' name for the interface as
--
/usr/share/snmp/mibs/mib-rfc2863a.txt:ifAlias OBJECT-TYPE
/usr/share/snmp/mibs/mib-rfc2863a.txt- SYNTAX DisplayString (SIZE(0..64))
/usr/share/snmp/mibs/mib-rfc2863a.txt- MAX-ACCESS read-write
/usr/share/snmp/mibs/mib-rfc2863a.txt- STATUS current
/usr/share/snmp/mibs/mib-rfc2863a.txt- DESCRIPTION
/usr/share/snmp/mibs/mib-rfc2863a.txt- "This object is an 'alias' name for the interface as
$
Я ожидал, что это snmpget
отображает количество символов, определенное параметром DisplayString SIZE, например, первые 64 символа "x". Влияет ли DisplayString SIZE на вывод snmpget
? Если да, то как? Или параметр DISPLAY-HINT единственный, который фактически изменяет вывод значений SNMP GetResponse?
решение1
Информация в вашем клиентском MIB не будет иметь никакого отношения к значению, которое он получает от сервера/коммутатора, и не должна этого делать. snmpget
просто возвращает то, что ему передает агент SNMP коммутатора Cisco. В этом случае MIB в основном является руководством: Cisco может свободно реализовывать свой MIB так, как захочет, пока реализация Cisco соответствует определению SMIv2 DisplayString, которая может иметь длину от 0 до 255 (см.https://www.rfc-editor.org/rfc/rfc2579). Это также стандарт для RFC 2863 (см.https://www.rfc-editor.org/rfc/rfc2863).