0

我在 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。有没有办法做到这一点?谢谢大家...

4

1 回答 1

0

好吧,您可以使用 Nagios 非常有效地监控 JBoss 和其他进程。您只需要一个 jmx 插件和 mbean 类,它们已经在这里

通过小型 Collector MBean 和基于 perl 的 Nagios 插件将 JBoss 集成到 Nagios 监控中。让您可以非常有效地从 JBoss 服务器读取和监控 JMX 值。在 Nagios 服务器上,不需要安装 JDK 或 JBoss。 在此处输入图像描述

安装

与 JBoss:

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

将 collector.sar 放在文件系统中的某个位置,并将 -javaagent:/path/to/collector.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 monitor 和 check_jmx 插件。您可以像这样简单地使用它

./check_jmx -U service:jmx:rmi:///jndi/rmi://'app-server':'1090'/jmxrmi -O jboss.jca:name=JmsXA,service=ManagedConnectionPool -A AvailableConnectionCount
于 2016-10-14T07:18:10.673 回答