如何实现API / Applications的使用CPU的后端JMX远程监控。
我如何监控或提出我想监控的应用程序规范?
例如
Host : serverhost.example.com
Port : 8088
API/Application : Google Chrome
Monitor : CPU = 35%
Memory = 30%
以下是代码段
OperatingSystemMXBean osBean = ManagementFactory.getPlatformMXBean(OperatingSystemMXBean.class);
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("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
答案 0 :(得分:0)
尽管使用JMX可以实现相同的目的,但我发现使用适配器通过rest API将矩阵作为JSON变得容易得多。
我通过jolokia实现了相同的功能,该功能将JMX端点公开为Rest端点。 然后,我使用MatrixBeat来获取要推入ELK堆栈的矩阵。
我找到了prometheus之类的其他工具来代替ELK,它们也做得很好。