[질문] net-snmp에서 확장 mib 작성법
글쓴이: dux / 작성시간: 목, 2004/07/29 - 11:57오전
제가 나름대로 mib를 작성해서 등록시키는 방법을 알고싶습니다.
http://net-snmp.org 도 찾아보았고 여러가지 많이 봤는데도 아직 감이 잘 잡히지가 않습니다.
특히 한글로된 자료는 거의 없네요ㅠㅠ
net-snmp 라이브러리 등을 써서 프로그래밍 해 보신분들의 답변 부탁드립니다.
Forums:
net-snmp 패키지 top directory에 agent.txt를
net-snmp 패키지 top directory에 agent.txt를 참조하세요..
perl script로 만들어진 mib2c로 mib의 노드를 컨트롤 할 수 있는 헤더파일과 C파일을 생성할 수 있습니다.
그리고 configure에서 추가한 mib module을 추가해주는 옵션을 주면 되는걸 로 아는데..
음...ANGENT.txt 파일을 일단 대충 읽어봤습니다.그것만
음...
ANGENT.txt 파일을 일단 대충 읽어봤습니다.
그것만 다 보면 왠만큼 작성 해 볼 수 있을듯 한데, 지금 시간이 별로 없어서요..
mib module은 제가 알기에 asn.1 이라는 언어(?)로 되어 있는 것으로 아는데.. 그런것까지 다 공부해야 하는 것인가요?
일단 공부해야 할 것으로 보고 대충 문법하고 배경지식을 봐 놨습니다만...
아.. 오늘 하루종일 net-snmp 홈페이지도 안들어가지고..ㅠㅠ
예를들어 제가 만들어 놓은 파일에서 특정 정보를 갖고와서 제가 정의한 mib을 snmp agent 에서 request했을때, 파일을 열어서 긁어와서 그것을 전송하도록 하려면 제가 c 이외에 뭘 알아야 할까요? 그리고 어떤 문서를 봐야 할까요..
도움이 될런지는 모르겠지만...예를 들어 새로은 MIB파일을 생성
도움이 될런지는 모르겠지만...
예를 들어 새로은 MIB파일을 생성한후에
mib2c 명령 형식에 따라. newmibgrp.c, newmibgrp.h파일이 만들어 진다면..
agent/mibgroup/newmib/으로 옮긴다음에
agent/mibgroup/newmib.h 파일에 agent.txt파일에 기술된것처럼..
config_require(newmibgrp);
처럼하고..
newmibgrp.c파일에서 snmpget/set에 해당되는 부분을 구현해주면 될것 같네요..
get 은 var_XXXXX 형식의 함수 였던거 같습니다. 그곳에서 값을 채워 넣는 형식이던데 manage가 필요한 장비일 경우에 상위 agent의 요청에 커널딴의 값을 수집해서 리턴해주는 kernel단의 모듈을 두는게 좋을 거 같습니다. 통신은 보통 /proc을 통해서일 거 같습니다.
다른 uds같은 ipc형식으로 이벤트를 받는다든지..구현하기 나름인거 같고
그런 식으로 파일을 구현한 다음에
configure에서 등록한후
./configure --with-mib-modules="newmib" --other options......
make...
...
처럼 하면 될 것 같은데엽..
저도 직접 구현 해본 적이 없는 반쪽짜리라
다른분의 대답도 듣고 싶습니다..^^*
흠..
먼저 제 경험은 별로 도움이 되지 않을 것으로 생각합니다만...
제가 1년 전에 경험했던 건데..
제가 하려고 했던 것은 net-snmp 즉 , 유닉스 기반의 Agent 설계는 아니고
WINDOWS 기반의 Agent -정확히 얘기하면 Extension Agent-를 개발하려고 했습니다.
결론적으로 못했지요.- 1개월 투자하였습니다만.-
물론 Platform SDK 도 설치하고 snmp 예제(snmputil, testdll ) 도 돌려보고
ASN.1 문서도 보고 , SNMP 관련 rfc 도 보았는데 그게 한 두달 가지고 되는 게 아니더군요. 그래서 일찌감치 손뗏었지요.
- 꼭 해야하는 상황이 아니어서.
unix 기반의 Agent 를 개발하는 과정도 역시 쉽지 않은 걸로 알고 있습니다.
ASN.1 방식의 언어도 이해를 하셔야 합니다.
왜냐하면 이를 이용하여 mib 파일과 메시지 포맷은 ASN.1 을 기반으로 하니까요.
unix 기반의 agent 개발하신분의 경우 1년 가까이 그 부분만 팠다고 합니다.
당근 지금은 Agent 쪽의 고수가 되어 계시지만...
snmp에 대한 자료는 www.snmp.org , codeproject 및 sourceforge를 이용하시면 보다 직접적인
소스레벨까지 접근하실 수 있을 겁니다.
도움이 안되어 미안하네요.
With Everlasting Passion about new Tech. and Information!
댓글 달기