2012-04-10 7 views
1

SNMP를 처음 사용했습니다. 나는 매니저를 개발해야한다. 나는 매니저를 위해 프로그램하는 방법을 찾고 있었다. WinSNMP, SNMP ++ 및 Net-SNMP가 있습니다. Net-SNMP의 장점은 MIB에서 트랩 내용을 변환 할 수 있다는 것입니다 (MIB를 구문 분석 할 수 있음). Net-SNMP는 관리자 개발을위한 라이브러리의 좋은 선택일까요? 관리자를 개발하기위한 기초로 snmptrapd를 사용하는 것이 좋은지 궁금합니다. 현재 나는 함정을받는 것에 집중하고 있지만, 결국 나는 다른 사람들을 위해서 (Get, Set, ...) 프로그래밍해야 할 것이다.SNMP 관리자 용 라이브러리/API

관리자 프로그램 방법에 대한 일반적인 개요는 무엇입니까? 몇 주 동안 SNMP를 읽었지 만 여전히 어떻게해야하는지 명확하게 이해하지 못했습니다.

도움을 주시면 감사하겠습니다. 감사.

+0

빠른 Google 검색 결과 [snmp4j] (http://www.snmp4j.org/)와 [agentpp] (http://www.agentpp.com/agen/agen.html)는 모두 문서가있는 것 같습니다. 그게 당신을 시작할 수 있습니다 –

답변

3

원하는 툴킷은 최종 목표와 기본 언어 (예 : C vs C++)에 따라 크게 달라집니다. 네이티브 윈도우 라이브러리에는 없지만 (mg-soft 및 snmp 리서치의 구현에서 제공하는) SNMPv3 지원을 얻으십시오. winsnmp API를 사용하여 Windows에서 SNMPv3 지원을 원하면 돈을 지불해야합니다.

Net-SNMP와 SNMP ++는 모두 잘 알려진 개방형 라이브러리입니다. Net-SNMP는 배포 측면에서 시장을 공략했지만 사전 설치되거나 Windows를 제외한 모든 OS에서 쉽게 사용할 수 있습니다 (MS는 패키지되지 않습니다).

트랩을 받으려면 Net-SNMP의 snmptrapd가 쉽게 시작할 수있는 장소이며 확장 가능한 명령 (시작하기 쉽도록 snmptrapd.conf 맨 페이지 참조) 또는 C (일부 C 등록의 경우 apps/snmptrapd * .c 파일 참조).

Net-SNMP를 시작하고 나가는 관리 작업을 프로그래밍하려면 관리 응용 프로그램 작성에 대한 tutorials부터 시작해야합니다. 관리 응용 프로그램이 한 번에 여러 호스트와 대화하는 경우 비동기 지원을 수행하는 툴킷을 확보해야합니다 (위 링크의 두 번째 항목 참조).

+0

응답 주셔서 감사합니다. 내가 작업하고있는 것은 SCADA (감시 제어 및 데이터 수집) 소프트웨어에 SNMP 관리자가 될 수있는 기능을 추가하는 것입니다. 관리자는 모니터링 지점을 무제한으로 실시간 모니터링 할 수 있어야합니다. 소프트웨어는 C++이지만 C를 사용하는 것도 좋습니다. Net-SNMP가 이러한 목적에 적합할까요? 그리고 Net-SNMP에서 SNMPv3가 다중 스레드 안전하지 않다는 것을 읽었습니다. 이 문제가 해결 되었습니까? – rocket

+0

당신은 다른 쓰레드에 쓰레드를 쓰는 것이 안전하지 않다는 것을 알았지 만, 모든 쓰레드를 자신의 쓰레드에 넣을 수 있습니다. 한 스레드에서 많은 요청을 수행하는 올바른 방법은 비동기 부분을 사용하는 것입니다. –

+0

@rocket, 더 나은 성능을 원한다면 일반적으로 스레드 안전 라이브러리가 아닌 것이 좋습니다. 물론 멀티 스레딩 응용 프로그램을 작성하는 방법을 완전히 이해하는 더 나은 프로그래머가되어야합니다. –

0

Sun Microsyatem의 JDMK 5.1 API도 있습니다. SNMP 에이전트뿐만 아니라 Manager도 매우 쉽게 개발할 수 있습니다.

관련 문제