snmp: obtendo o nome da interface curta em vez de longo ifDescr (de novo)

2

Estou usando o cricket para fazer alguns monitoramentos simples (incluindo dispositivos de rede) dos meus servidores baseados em Debian.

As interfaces são identificadas pelo nome (por exemplo, eth0 , eth1 , ...) e o críquete mapeia esses nomes para os OIDs apropriados, pesquisando-os em IF-MIB::ifDescr :

$ snmpwalk -Os -c public -v 1 wheezy 1.3.6.1.2.1.2.2.1.2
iso.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "eth0"
iso.3.6.1.2.1.2.2.1.2.3 = STRING: "eth1"

Tudo funcionou legal até que eu atualizei minha máquina para Debian / jessie hoje. Agora, os nomes das interfaces relatadas são uma descrição longa da marca:

$ snmpwalk -Os -c public -v 1 jessie 1.3.6.1.2.1.2.2.1.2
iso.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "Intel Corporation 82576 Gigabit Network Connection"
iso.3.6.1.2.1.2.2.1.2.3 = STRING: "Intel Corporation 82576 Gigabit Network Connection"

Embora eu ache o nome longo chato o suficiente, ele se torna inútil, já que não é mais exclusivo: como a máquina em questão tem duas placas de rede idênticas embutidas, eu só obtenho o mesmo nome duas vezes.

Existe uma maneira de fazer snmpd reportar os nomes das interfaces short ?

    
por umläute 12.08.2015 / 17:28

1 resposta

1

Parece que usar IF-MIB::ifDescr para a interface nome é simplesmente errado. Como o nome do OID implica, este deve ser uma descrição (detalhada) da interface, em vez de um nome (exclusivo).

O OID correto a ser usado é IF-MIB::ifName

$ snmpwalk -Os -c public -v 1 wheezy 1.3.6.1.2.1.31.1.1.1.1
iso.3.6.1.2.1.31.1.1.1.1.1 = STRING: "lo"
iso.3.6.1.2.1.31.1.1.1.1.2 = STRING: "eth0"
iso.3.6.1.2.1.31.1.1.1.1.3 = STRING: "eth1"

$ snmpwalk -Os -c public -v 1 jessie 1.3.6.1.2.1.31.1.1.1.1
iso.3.6.1.2.1.31.1.1.1.1.1 = STRING: "lo"
iso.3.6.1.2.1.31.1.1.1.1.2 = STRING: "eth0"
iso.3.6.1.2.1.31.1.1.1.1.3 = STRING: "eth1"

No caso de cricket , isso significa que mudei a configuração de críquete do mapa de interface para:

OID    ifName                 1.3.6.1.2.1.31.1.1.1.1 

map interface-name
    base-oid    =   ifName
    match       =   %interface-name%
    
por 13.08.2015 / 10:01