SNMP TRAP
SNMP (Simple Network Management Protocol) 는 네트워크 장비의 상태 및 프로세스 상태 등을 관리자에게 전달해 줄 수 있는 프로토콜이다. SNMP 데몬은 관리자의 요청이 오면 해당 정보를 관리자에게 일정한 형식에 맞추어 전송해 주는데, GET, SET 등의 명령어를 이용해서 시스템의 정보를 받거나, 시스템에 일정 값을 셋팅해 줄 수도 있다.
그리고 한가지 옵션이 더 있는데, 바로 TRAP이다.
TRAP은 관리자가 요청을 해서 정보를 주는 것이 아니라, 시스템 자체에서 비동기적으로 일어나는 이벤트에 대한 정보를 알아서 관리자에게 보내주는 역할을 한다.
GET, SET 과 같은 명령어는 snmpd가 수행하고, 이러한 비동기적 TRAP 요청은 snmptrapd 라는 데몬이 실행하게 된다. (UDP 프로토콜을 사용하며, snmpd는 161번, snmptrapd는 162번 port를 사용한다.)
> netstat -nap |grep snmp udp 0 0 0.0.0.0:161 0.0.0.0:* 30551/snmpd |
사실 SNMP나 SNMP TRAP이나 모두 "SIMPLE"이 앞에 붙음에도 불구하고, 보기에는 상당히 까다로워 보인다. 그런데 실제 테스트 해보니까 의외로 쉬웠다. (사실 지금 일하다가 까먹을까봐 급 포스팅 중임..ㅋㅋ 소중한 정보는 바로바로 저장해야겠죵)
간단한 쉘 스크립트를 작성하여 프로세스의 상태를 확인하고, 그 프로세스가 죽었으면 SNMP 패킷을 전송하여 죽었음을 알리도록 하였다.
일단 데몬 설정
> cd /etc/snmp > ls snmpd.conf snmptrapd.conf > cat snmptrapd.conf # Example configuration file for snmptrapd |
설정은 요게 다이다. 빨간부분이 씌여 있어야 데이터가 제대로 보내지는듯.
그리고 snmptrapd 데몬을 실행시킨다.
> snmptrapd -m all -Le -f -d |
> vi test.sh
while true sleep 1
> sh test.sh |
그리고 쉘 프로그램을 실행하면...
짜잔~
다음과 같이 SNMP 패킷이 들어오는것을 확인할 수 있다. (SNMP 서버가 없어서 걍 패킷 덤프로 들어오는지만 확인)
'Backend > Network' 카테고리의 다른 글
FTP - 두 번째. (0) | 2012.04.12 |
---|---|
FTP (0) | 2012.04.12 |
SNMP - MIB 정보 보기 (0) | 2011.05.20 |
TLS Handshaking - 알기 쉽게 정리 (0) | 2011.05.13 |
ARP (0) | 2011.05.13 |