![Quais são as etapas a serem seguidas para obter informações específicas do SNMP?](https://rvso.com/image/1597816/Quais%20s%C3%A3o%20as%20etapas%20a%20serem%20seguidas%20para%20obter%20informa%C3%A7%C3%B5es%20espec%C3%ADficas%20do%20SNMP%3F.png)
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::OID
notaçã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 DEFINITIONS
instrução no arquivo MIB. Não confunda isso com o nome do arquivo MIB (às vezes o mesmo, mas nem sempre). Então, como fgPerCpuHighDetails
no 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 snmptranslate
para analisar os MIBs e explorá-los:
snmptranslate -Td MIB::OID
para descrição de um OIDsnmptranslate -Tp MIB::OID
para mapear a estrutura hierárquica do OID e de todos os OIDs filhos.snmptranslate -On MIB:OID
para traduzir um OID em formato numéricoVerifique a página de manual para mais opções.