我在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。有办法这样做吗?谢谢大家..。
发布于 2016-10-13 23:18:10
您可以使用Nagios来监视JBoss和其他进程,非常efficiently.You只需要一个jmx插件和mbean类,它们已经是这里了。
通过一个小型收集器MBean和一个基于perl的Nagios插件将MBean集成到Nagios监视中。允许您非常有效地从JBoss服务器读取和监视JMX值。在Nagios服务器上,不需要安装JDK或JBoss。
安装: 使用JBoss: 将collector.sar (从mbean/目录)复制到JBoss部署目录。然后打开端口5566,让插件访问它。和Tomcat什么的: 将collector.sar放在文件系统的某个位置,并将-javaagent:/path/ to /regtor.sar添加到要监视的JVM的选项中。Nagios服务器: 将插件check_mbean_collector (从plugin/目录)复制到Nagios服务器上的Nagios插件目录。编辑Nagios配置以使用check_mbean_collector来监视任何MBean的属性。您可以通过在Nagios服务器上运行测试来检查插件和MBean是否正常工作:
./check_mbean_collector -H jbossserver -p 5566 -m jboss.system:type=ServerInfo -a ActiveThreadCount -w 200 -c 400<p>
使用nagios的好处是:不必每次都编写定制的mbean。成千上万个现成的插件。可以用集中式服务器很少的精力来监视大量的分布式进程。当然还有社区支持。
注意事项:您可以从这里安装nagios,但是如果您不想安装nrpe和nagios,那么可以使用op5监视器,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
https://stackoverflow.com/questions/18842944
复制相似问题