JMX java进程监控

时间:2013-09-17 06:43:02

标签: java monitoring jmx

我在JBoss 7上工作,我想监视JBoss进程:  (此进程使用的内存,CPU百分比......) ,使用JMX功能。 我试试这段代码:

 Process p = Runtime.getRuntime().exec
                ("C:\\Users\\*****\\Downloads\\PSTools\\pslist -m");
Process p = Runtime.getRuntime().exec(
                    "C:\\Users\\olawzi\\Downloads\\PSTools\\pslist.exe -s 2");

它给出了一个好结果, 但它不是JMX的方式。 我想使用JMX。 有没有办法做到这一点? 谢谢大家...

1 个答案:

答案 0 :(得分:0)

你可以使用Nagios非常有效地监视JBoss和其他进程。你只需要一个jmx插件和mbean类,它们已经是here

通过一个小型Collector MBean和一个基于Perl的Nagios插件将JBoss集成到Nagios监控中。允许您非常有效地从JBoss服务器读取和监视JMX值。在Nagios服务器上,不需要安装JDK或JBoss。 enter image description here

  

<强>安装

     

使用JBoss:

     

将collector.sar(从mbean /目录)复制到JBoss   部署目录。然后打开端口5566以使插件访问它。   与Tomcat或其他任何东西:

     

将collector.sar放在文件系统中的某处并添加   -javaagent:/path/to/collector.sar到要监视的JVM的选项。 Nagios服务器:

     

将插件check_mbean_collector(来自插件/目录)复制到   Nagios服务器上的Nagios插件目录。编辑你的Nagios   config使用check_mbean_collector来监视的任何属性   任何MBean。您可能会检查插件和MBean是否正常工作   通过在Nagios服务器上进行测试运行:

./check_mbean_collector -H jbossserver -p 5566 -m jboss.system:type=ServerInfo -a ActiveThreadCount -w 200 -c 400<p>

使用nagios的好处是: 你不必每次都写定制的mbeans。 成千上万的现成插件。 可以通过集中式服务器以非常少的工作来监视大量分布式进程。 当然还有社区支持。

注意:你可以从here安装nagios但是如果你不想安装nrpe和nagios,那么使用op5 monitor和check_jmx plugin.you然后可以简单地使用它像

./check_jmx -U service:jmx:rmi:///jndi/rmi://'app-server':'1090'/jmxrmi -O jboss.jca:name=JmsXA,service=ManagedConnectionPool -A AvailableConnectionCount