JMX - 如何远程监视应用程序的CPU使用情况

时间:2016-11-07 01:26:31

标签: java mule monitoring jmx

如何实现API / Applications的使用CPU的后端JMX远程监控。

我如何监控或提出我想监控的应用程序规范?

例如

Host : serverhost.example.com
Port : 8088
API/Application : Google Chrome
Monitor : CPU = 35%
          Memory = 30%

以下是代码段

OperatingSystemMXBean osBean = ManagementFactory.getPlatformMXBean(OperatingSystemMXBean.cl‌​ass);
 System.out.println("CPU USAGE " + osBean.getProcessCpuLoad() * 100);
 System.out.println("CPU USAGE " + osBean.getSystemCpuLoad() * 100);
 System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
 System.out.println("MEMORY USAGE " + osBean.getCommittedVirtualMemorySize());
 System.out.println("MEMORY USAGE " + osBean.getFreePhysicalMemorySize());
 System.out.println("MEMORY USAGE " + osBean.getTotalPhysicalMemorySize());
 System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

1 个答案:

答案 0 :(得分:0)

尽管使用JMX可以实现相同的目的,但我发现使用适配器通过rest API将矩阵作为JSON变得容易得多。

我通过jolokia实现了相同的功能,该功能将JMX端点公开为Rest端点。 然后,我使用MatrixBeat来获取要推入ELK堆栈的矩阵。

我找到了prometheus之类的其他工具来代替ELK,它们也做得很好。