문제
장치에서 SNMP 메트릭을 수집하는 데 문제가 있거나 장치가 지원하는 특정 개체 식별자(OID)를 확인해야 합니다.
해결책
snmpwalk 유틸리티는 발생할 수 있는 다양한 SNMP 문제를 해결하는 데 유용한 도구입니다. ktranslate
은 Docker가 실행되는 Linux 호스트의 호스트 네트워크에서 실행되기 때문에 기기가 SNMP 요청에 응답하는지 여부와 구체적으로 무엇으로 응답하는지에 대한 정확한 측정입니다.
팁
대부분의 시스템에는 snmpwalk
이 설치되어 있지만 필요한 경우 apt-get install snmp
또는 yum install net-snmp-utils
를 실행하여 직접 로드할 수 있습니다.
연결 테스트
장치의 SysOID(시스템 개체 식별자)를 수집하기 위한 기본 테스트로 SNMP 장치에 대한 연결을 테스트할 수 있습니다. 성공하면 장치의 SNMP 구성과 Docker 호스트와 장치 간의 네트워크 연결이 제대로 작동하는 것입니다. 실패하면 내부 네트워크의 설정을 확인해야 합니다.
SNMP 장치 버전에 따라 다음 중 하나를 실행합니다.
다음은 snmpwalk
실행 후 예상되는 출력의 예입니다.
$.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.1.46
전체 SNMP 워크 캡처
장치에서 사용 가능한 모든 OID 걷기의 출력을 캡처할 수 있습니다. 이 출력은 ktranslate
에 대한 새 SNMP 프로필을 생성할 때 사용 되며 GitHub에서 프로필 요청을 여는 데 필요합니다.
이에 대한 명령의 주요 차이점은 대상을 루트 .
로 변경하고 나중에 데이터를 수집할 수 있는 파일로 출력을 리디렉션한다는 것입니다.
SNMP v2 example
$snmpwalk -v 2c -On -c $COMMUNITY $IP_ADDRESS . >> snmpwalk.out
SNMP v3 example
$snmpwalk -v 3 -l $LEVEL -u $USERNAME -a $AUTH_PROTOCOL -A $AUTH_PASSPHRASE -x $PRIV_PROTOCOL -X $PRIV_PASSPHRASE -ObentU -Cc $IP_ADDRESS . >> snmpwalk.out
이 명령의 출력은 기기가 응답하는 모든 OID를 나열하는 snmpwalk.out
파일입니다.
팁
인터페이스가 많은 장치에서 이 SNMP 워크는 완료하는 데 10분 이상 걸릴 수 있습니다.