使用现有MBean为Java应用程序启用SNMP监视

时间:2013-02-15 14:08:34

标签: jmx snmp java-7 snmp4j

我正在寻找一个示例,通过SNMP公开已经通过MBean服务器公开的方法。

我读过,因为Java6已经支持JDK,但我也发现了snmp4j作为库。但我找不到适合我的情况的任何例子,或者会有所帮助。

我已经在MBeanServer上注册了MBean,我正在寻找一种方法来增强我已经拥有的类,以使它们适合于SNMP。我不能使用mibgen,因为它会反过来。

也许有人可以举例说明我需要做些什么才能通过某个SNMP管理器监控我的应用程序。

示例MBean将是

public interface ExporterMXBean {
public static String BEANNAME = "exporter:type=Exporter,name=Exporter";
String getOutputDirectory();
void setOutputDirectory(String outputDirectory);
void startExport();
    int getNumberOfThreadsWorking();
}

我需要添加到接口的实现中,如何将其注册到MIB,以及如何向管理器公开/查看?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我建议在SNMP4J-Agent和SNMP4J之上使用SNMP4J-AgentJMX,就像名为JvmManagementMibInst.java的SNMP4J-AgentJMX示例一样。

使用此方法,您不会修改现有类(MBean)。而是编程或生成使用上述API的映射。

SNMP4J-AgentJMX HowTo

中描述了基于MBean服务器的某些MBean创建SNMP代理的必要步骤的基本方法。