分类: Java
2013-03-05 10:52:27
对于java语言开发的服务器,本来以为需要另外开发监控平台,但是发现java 本身就提供了监控的支持,就是JMX.
先是了解JMX:
http://www.ibm.com/developerworks/cn/java/j-lo-jse63/index.html
http://www.cnblogs.com/aurawing/articles/1887060.html
使用方式可以使用jconsole采用JMX连接远程或本地的服务器进程来监控
也可以使用SNMP协议或HTTP协议的方式来监控服务器
举实例说明:
部署tigase后,如果想要监控服务器的JVM的性能,可以通过JMX来做。
需要在服务器(192.168.1.89)侧配置虚拟机的参数:
-Dcom.sun.management.jmxremote.port=9050
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.server.hostname=192.168.1.89
选项中最重要的是port,虽然在配置文件中已经指定。
监控服务器的JVM通过jconsole的远程访问来实现
service:jmx:rmi://192.168.1.89:9050/jndi/rmi://192.168.1.89:9050/jmxrmi
这是不需要用户名和密码的情况下,如果想要更安全点,可以配置用户名和密码
当然-Dcom.sun.management.jmxremote.authenticate=false要取消
用户名和密码需要在服务器etc目录下配置
用户名文件jmx.access
内容如下:
monitor readonly
admin readwrite
密码文件jmx.password
内容如下:
monitor monitor_password
admin admin_password