【问题标题】:Monitoring a JVM with SNMP使用 SNMP 监控 JVM
【发布时间】:2013-03-20 09:28:20
【问题描述】:

我正在使用 snmp 监控一些服务器(主要是 win2k3),在我上网的过程中,我发现了一个由 Oracle 完成的 MIB,用于监控 JVM,JVM-MANAGEMENT-MIB。到目前为止我所做的是:

  • 使用 snmp.acl 和 management.properties 配置 JVM
  • 用 mibcc 编译 JVM-MANAGEMENT-MIB 并替换 mib.bin。

通过这些步骤,我想我可以尝试一下。所以我用 snmp4j 制作了一个 java 程序,当我尝试从 JVM mib 调用 OID 时,我得到了一个错误Request timed out。 奇怪的是,我只编译 JVM-MANAGEMENT-MIB,所以我应该只能访问那些 OID,对吧?但事实并非如此,我仍然可以访问 cpu 使用率、进程数...

那么我错过了什么?谢谢

【问题讨论】:

    标签: jvm snmp mib snmp4j


    【解决方案1】:

    将以下三个参数添加到JVM中,应该就是你需要的了。

    -Dcom.sun.management.snmp.interface=127.0.0.1 \
    -Dcom.sun.management.snmp.acl=false \
    -Dcom.sun.management.snmp.port=16500 \
    

    好吧,您不需要编写 java 程序来验证它是否有效。 net-snmp 或者一些 MIB 浏览器就足够了。

    snmpwalk -v2c -c public 127.0.0.1:16500 SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.4
    
    SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.4.2.0 = STRING: "Java HotSpot(TM) 64-Bit Server VM"
    SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.4.3.0 = STRING: "Sun Microsystems Inc."
    SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.4.4.0 = STRING: "20.10-b01"
    SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.4.5.0 = STRING: "Java Virtual Machine Specification"
    SNMPv2-SMI::enterprises.42.2.145.3.163.1.1.4.6.0 = STRING: "Sun Microsystems Inc."
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多