Quais são as etapas a serem seguidas para obter informações específicas do SNMP?

Quais são as etapas a serem seguidas para obter informações específicas do SNMP?

Quero consultar um FortiGate sobre o uso da CPU.
De acordo com a documentação da Fortinet, a variável a ser usada é 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,

No entanto, quando tento investigar fgPerCpuHighDetails, recebo:

$ snmpget -v2c -cpublic -mALL 192.168.1.99 fgPerCpuHighDetails
FORTINET-FORTIGATE-MIB::fgPerCpuHighDetails = No Such Object available on this agent at this OID

Você pode recomendar algum URL que explique as etapas a serem seguidas para obter informações do 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)

Responder1

Para pesquisar um OID usando sua forma textual, você deve usar a MIB::OIDnotação. Se estiver usando o OID em sua forma numérica, você poderá usá-lo diretamente. Isso ocorre porque os agentes SNMP usam forma numérica e os humanos usam textual (semelhante ao DNS). Assim, os agentes podem analisar facilmente os números, mas precisam de formas textuais traduzidas em números. Os MIBs fazem isso, então você precisa especificar o MIB correto onde o OID é definido para que o comando snmp possa traduzi-lo antes de pesquisar o agente.

O nome MIB é definido com a DEFINITIONSinstrução no arquivo MIB. Não confunda isso com o nome do arquivo MIB (às vezes o mesmo, mas nem sempre). Então, como fgPerCpuHighDetailsno seu exemplo está definido em FORTINET-FORTIGATE-MIB.mib, faça:

grep DEFINITIONS /home/qa/.snmp/mibs/FORTINET-FORTIGATE-MIB.mib

para descobrir o nome do MIB. Não tenho esse MIB específico, mas provavelmente o nome será FORTINET-FORTIGATE-MIB.

Com essas informações, você pode pesquisar o dispositivo:

snmpwalk -v2c -c public 192.168.1.99 FORTINET-FORTIGATE-MIB::fgPerCpuHighDetails

Use snmptranslatepara analisar os MIBs e explorá-los:

  • snmptranslate -Td MIB::OIDpara descrição de um OID

  • snmptranslate -Tp MIB::OIDpara mapear a estrutura hierárquica do OID e de todos os OIDs filhos.

  • snmptranslate -On MIB:OIDpara traduzir um OID em formato numérico

  • Verifique a página de manual para mais opções.

informação relacionada