2009-11-30 3 views
1

JMX MBeans에서 레이아웃 된 모든 정보를 SNMP 속성으로 변환하는 JMX 사용 애플리케이션 용 snmp 래퍼 에이전트를 작성하려고했습니다.snmp4jAgentJMX의 기능과 필요한 기능을 이해하려고 시도했습니다.

저는 어디에서 시작하고 무엇을 사용해야하는지 이해하려고 애쓰는 데 약간의 손실이 있습니다. 내가 읽은 것부터 snmp4j는 아마도 Java 용 snmp 라이브러리로 갈 것이지만 Snmp4jAgent에있는 코드 예제를 이해할 수는 없습니다.

또한 저자 웹 사이트의 SNMP4JAgentJMX에 대한 description을 읽으면 Snmp4jAgentJMX가이 에이전트를 작성하는 데 도움이 될 수 있다고 생각하지만 사용 방법을 이해할 수 없습니다. 실제로 예제 코드 (org.snmp4j.agent.mo.jmx.example.JMXTestAgent)를 보면 코드가 MBean 또는 JMX Factory에 등록되어있는 부분을 찾을 수 없기 때문에 내가 이해하지 못하는 부분이 있다고 생각하게되었습니다. 이 코드가 무엇을하는지 정확하게.

SNMP 경험이없는 사람을위한 코드 예제 및/또는 튜토리얼 또는 설명서를 보내 주시면 감사하겠습니다.

감사합니다.

답변

1

jmx2snmp에서 제공하는 SNMP 에이전트가 불완전하고 오류가 있습니다. SNMP 에이전트를 작성하는 데는 할 일이 거의 없습니다. 예를 들어 SNMPv1이 올바르게 지원되지 않습니다 (오류 상태). GETBULK는 지원되지 않습니다 (SNMPv2의 경우 필수). GETNEXT는 에이전트의 존재하지 않는 OID를 호출하고 다음 OID는 반환하지 않고 대신 noSuchObject (GETNEXT에서는 반환하지 않아야 함)를 반환하지만 SET은 전혀 지원되지 않으며 대부분 다른 문제가있을 수 있습니다.

따라서 SNMP4J-AgentJMX와 SNMP4J-Agent 및 SNMP4J (해당 작성자)를 함께 사용하는 것이 좋습니다. exmple 에이전트는 addJvmManagementMibInstrumentaton 메소드의 MIB 계측 클래스 JvmManagementMibInst에서 초기화하는 동안 JMX와 SNMP 간의 매핑을 수행합니다.

여기서 설명적인 매핑을 수행하는 방법에 대한 많은 예제를 찾을 수 있습니다. MIB 스펙이 이미있는 경우 AgenPro를 사용하여 Mib 스텁 클래스를 생성 할 수 있으며 샘플 JvmManagementMibInst.java 클래스에 표시된대로 기본적으로 맵핑 만 수행해야합니다.

아직 MIB가 없으면 MIB 디자이너 도구 (예 : MIB 디자이너)를 사용하여 MIB를 만드는 것이 좋습니다. 이는 주로 중개 프로세스이기 때문에 MIB를 재구성해야합니다. JMX에 매핑하는 더 쉬운 방법을 발견하게된다.

+0

와우. 이것은 3.5 년 전이었다! 하지만 난 네 답을 좋아해 .-) – Ben

0

많은 연구 끝에 나는 snmp4j 에이전트를 사용하여 JMX를 랩하고 SNMP 서비스를 제공하는 this 패키지를 발견했습니다.

이 패키지를 사용하면 MBean에 등록하고 JMX-SNMP 매핑을 변경하기 만하면됩니다.

관련 문제