![¿Cuáles son los pasos a seguir para obtener información específica de SNMP?](https://rvso.com/image/1597816/%C2%BFCu%C3%A1les%20son%20los%20pasos%20a%20seguir%20para%20obtener%20informaci%C3%B3n%20espec%C3%ADfica%20de%20SNMP%3F.png)
Quiero consultar un FortiGate por su uso de CPU.
Según la documentación de Fortinet, la variable a utilizar es fgPerCpuHighDetails:
$ grep fgPerCpuHighDetails /home/qa/.snmp/mibs/FORTINET-*
/home/qa/.snmp/mibs/FORTINET-FORTIGATE-MIB.mib:fgPerCpuHighDetails OBJECT-TYPE
/home/qa/.snmp/mibs/FORTINET-FORTIGATE-MIB.mib: OBJECTS { fnSysSerial, sysName, fgPerCpuHighDetails }
/home/qa/.snmp/mibs/FORTINET-FORTIGATE-MIB.mib: fgProcModMemCapacity, fgProcModMemUsage, fgPerCpuHighDetails,
Sin embargo, cuando intento sondear fgPerCpuHighDetails, obtengo:
$ snmpget -v2c -cpublic -mALL 192.168.1.99 fgPerCpuHighDetails
FORTINET-FORTIGATE-MIB::fgPerCpuHighDetails = No Such Object available on this agent at this OID
¿Puede recomendarme alguna URL que explique los pasos a seguir para obtener información de SNMP?
$ sudo systemctl status snmpd -l
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2019-07-17 16:46:31 PDT; 21h ago
Main PID: 879 (snmpd)
Tasks: 1
CGroup: /system.slice/snmpd.service
└─879 /usr/sbin/snmpd -LS0-6d -f
Jul 17 16:46:30 vestal8 systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Jul 17 16:46:31 vestal8 snmpd[879]: NET-SNMP version 5.7.2
Jul 17 16:46:31 vestal8 systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
$ snmpwalk -v2c -c public 192.168.1.99 fgPerCpuHighDetails
fgPerCpuHighDetails: Unknown Object Identifier (Sub-id not found: (top) -> fgPerCpuHighDetails)
Respuesta1
Para sondear un OID usando su forma textual, debes usar la MIB::OID
notación. Si usa OID en su forma numérica, puede usarlo directamente. Esto se debe a que los agentes SNMP usan forma numérica y los humanos usan forma textual (similar a DNS). Por lo tanto, los agentes pueden analizar fácilmente los números, pero necesitan formas textuales traducidas a números. Las MIB hacen eso, por lo que debe especificar la MIB correcta donde se define el OID para que el comando snmp pueda traducirlo antes de sondear al agente.
El nombre MIB se define con la DEFINITIONS
declaración en el archivo MIB. No confunda esto con el nombre del archivo MIB (a veces es el mismo, pero no siempre). Entonces, como fgPerCpuHighDetails
en su ejemplo se define en FORTINET-FORTIGATE-MIB.mib
, haga:
grep DEFINITIONS /home/qa/.snmp/mibs/FORTINET-FORTIGATE-MIB.mib
para averiguar el nombre del MIB. No tengo este MIB en particular, pero probablemente el nombre sea FORTINET-FORTIGATE-MIB
.
Con esa información puedes sondear el dispositivo:
snmpwalk -v2c -c public 192.168.1.99 FORTINET-FORTIGATE-MIB::fgPerCpuHighDetails
Úselo snmptranslate
para analizar las MIB y explorarlas:
snmptranslate -Td MIB::OID
para la descripción de un OIDsnmptranslate -Tp MIB::OID
para mapear la estructura jerárquica de un OID y todos los OID secundarios.snmptranslate -On MIB:OID
traducir un OID a forma numéricaConsulte la página de manual para obtener más opciones.