SNMP Extend
snmpd 는 시스템의 자원들에 대해서 SNMP 프로토콜을 통해서 볼 수 있는 기능을 제공 한다. 그런데, 알고 싶은 자원들에 대한 목록들을 조회하기 위해 MIB 값들이 할당되어 있으며 자주 사용되는 운영체제, 라우터, 스위치 같은 장비들에 대한 MIB 값들을 미리 할당되어 전 세계적으로 표준으로 재정해 사용하고 있다.
그런데, 표준으로 재정된 MIB 값외에 사용자가 필요한 자원들을 조회하기 위한 MIB 값을 등록해야 하는데 이때 사용하는 것이 SNMP Extend 를 사용하면 된다.
SNMP Extend 는 ‘.1.3.6.1.4.1.2021.8.10’ 같은 MIB 에 조회하고자하는 값들을 등록하면 된다.
예를들면 다음과 같다.
1 |
extend .1.3.6.1.4.1.2021.8.10.101 iostate /usr/local/bin/iostate |
이렇게 하면 ‘.1.3.6.1.4.1.2021.8.10.101’ 를 뿌리로하는 MIB 를 조회하면 iostate 으로 조회된 값이 등록되어 SNMP 프로토콜을 이용해서 원격에서도 조회가 가능하다.
테스트를 해보면 snmpwalk 명령어를 이용해서 다음과 같이 해보자
1 |
snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.8.10.101.3.1.2.8.99.104.101 |
‘-v 1’ 은 snmpd 의 version 1 을 지정해주는 것이다. 만일 이게 안된다면 ‘-v2c’ 로 지정해서 해보자
1 |
snmpwalk -v2c localhost -c public .1.3.6.1.4.1.2021.8.10.101.3.1.2.8.99.104.101 |
이렇게해서 무언가 나온다면 정상이다.
만일 ‘Timeout’ 에러 메시지를 만단다면 다음과 같이 퍼미션을 조정해주자.
1 2 |
chmod 644 /etc/hosts.allow chmod 644 /etc/hosts.deny |
흥미롭게도 snmpd 는 /etc/hosts.allow, /etc/hosts.deny 두개의 파일을 참조하는데, 퍼미션이 없다면 ‘Timeout’ 이 오류를 내다.