zoukankan      html  css  js  c++  java
  • JVM的SNMP监控配置

    近期看了一下JVM对监控的支持,除了常规的JMX外居然还有SNMP, 有点意思, 这个网管协议适配的地方还真多,那么就先测试一下。

    先随便找一个能在后台持续运行的java小程序,如我手头的BIO的socket服务器。

    JVM端SNMP的配置

    启动SNMP需要两个地方更改,(http://docs.oracle.com/javase/7/docs/technotes/guides/management/snmp.html)

    • 在jvm的system properties上加一个

    com.sun.management.snmp.port=PORT_NUMBER, PORT_NUMBER指JVM监控的SNMP端口,常规应该是161

    • 还需要Copy the ACL template file from JRE_HOME/lib/management/snmp.acl.template to JRE_HOME/lib/management/snmp.acl.

    将这个原始的模板文件改一下,解注释掉一些comments,变为以下格式:

     acl = {
      {
        communities = public, private
        access = read-only
        managers = localhost
      }
     }
     trap = {
       {
         trap-community = public
         hosts = localhost 
       }
     }

    然后操作系统改一下,让这个acl文件只有一个owner,就是启动java的这个用户的名字,如何改参考这个文章http://docs.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html

    如果这步不搞,启动时会报错

    Error: Password file read access must be restricted: C:Program FilesJavajre7
    libmanagementsnmp.acl

    我这里嫌麻烦,直接将启动参数设成不检查(com.sun.management.snmp.acl=false),这样能跳过这个检查

    java -Dcom.sun.management.snmp.port=161 -Dcom.sun.management.snmp.acl=false com.tool.server.MyBIOServer

    这里JVM这边的配置就都OK了。

    SNMP管理端的配置

    先到这个地址下JVM的SNMP MIB文件:http://java.sun.com/j2se/1.5.0/docs/guide/management/JVM-MANAGEMENT-MIB.mib

    然后找一个SNMP客户端,我用的是iReasoning MIB Browser,load这个下过来的MIB文件。

    地址填上localhost, 端口用我们之前设置的161, 直接walk一下被管理端JVM的所有暴露出来的属性

    可以看到各种JVM内部信息都有, jvmClassessLoadedCount 等,还支持trap,低内存警告,还是不错。

  • 相关阅读:
    大熊君说说JS与设计模式之------中介者模式Mediator
    大熊君说说JS与设计模式之------命令模式Command
    读书笔记:《HTML5开发手册》--HTML5新的结构元素
    读书笔记:JavaScript DOM 编程艺术(第二版)
    记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL
    总结:Mac前端开发环境的搭建(配置)
    js学习笔记:操作iframe
    js学习笔记:webpack基础入门(一)
    js学习笔记:webpack基础入门(一)
    微信日志开发之人脸识别开发
  • 原文地址:https://www.cnblogs.com/zhukunrong/p/3860803.html
Copyright © 2011-2022 走看看