![SNMP에서 특정 정보를 얻으려면 어떤 단계를 거쳐야 합니까?](https://rvso.com/image/1597816/SNMP%EC%97%90%EC%84%9C%20%ED%8A%B9%EC%A0%95%20%EC%A0%95%EB%B3%B4%EB%A5%BC%20%EC%96%BB%EC%9C%BC%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%A4%20%EB%8B%A8%EA%B3%84%EB%A5%BC%20%EA%B1%B0%EC%B3%90%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
FortiGate의 CPU 사용량을 쿼리하고 싶습니다.
Fortinet 설명서에 따라 사용할 변수는 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,
그러나 fgPerCpuHighDetails를 조사하려고 하면 다음과 같은 결과가 나타납니다.
$ snmpget -v2c -cpublic -mALL 192.168.1.99 fgPerCpuHighDetails
FORTINET-FORTIGATE-MIB::fgPerCpuHighDetails = No Such Object available on this agent at this OID
SNMP에서 정보를 얻기 위해 취해야 할 단계를 설명하는 URL을 추천해 주실 수 있나요?
$ 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)
답변1
텍스트 형식을 사용하여 OID를 폴링하려면 표기법을 사용해야 합니다 MIB::OID
. 숫자 형식으로 OID를 사용하는 경우 직접 사용할 수 있습니다. 이는 SNMP 에이전트가 숫자 형식을 사용하고 사람이 텍스트(DNS와 유사)를 사용하기 때문입니다. 따라서 상담원은 숫자를 쉽게 구문 분석할 수 있지만 숫자로 변환된 텍스트 형식이 필요합니다. MIB가 이를 수행하므로 에이전트를 폴링하기 전에 snmp 명령이 이를 변환할 수 있도록 OID가 정의된 올바른 MIB를 지정해야 합니다.
DEFINITIONS
MIB 이름은 MIB 파일의 명령문 으로 정의됩니다 . 이를 MIB 파일 이름과 혼동하지 마십시오(때때로 동일하지만 항상 그런 것은 아님). 따라서 fgPerCpuHighDetails
귀하의 예에서 정의된 대로 FORTINET-FORTIGATE-MIB.mib
다음을 수행하십시오.
grep DEFINITIONS /home/qa/.snmp/mibs/FORTINET-FORTIGATE-MIB.mib
MIB의 이름을 알아내려면 이 특정 MIB는 없지만 이름은 FORTINET-FORTIGATE-MIB
.
해당 정보를 사용하여 장치를 폴링할 수 있습니다.
snmpwalk -v2c -c public 192.168.1.99 FORTINET-FORTIGATE-MIB::fgPerCpuHighDetails
snmptranslate
MIB를 구문 분석하고 탐색하는 데 사용합니다 .
snmptranslate -Td MIB::OID
OID에 대한 설명snmptranslate -Tp MIB::OID
OID와 모든 하위 OID의 계층 구조를 매핑합니다.snmptranslate -On MIB:OID
OID를 숫자 형식으로 변환하려면더 많은 옵션을 보려면 매뉴얼 페이지를 확인하세요.