假设我有8个Java服务器应用程序(实际上是同一个Java应用程序的实例)运行在4个linux机器中(每个2个)。我希望能够使用Jolokia从另一个Linux盒中监视这些应用程序。
我还需要启动和停止这些Java应用程序的功能。 Jolokia可以在这里提供帮助吗?
我是否需要在Linux机器上安装一个Jolokia war agent来监视上述所有8个应用程序?还是我需要在四个linux框中分别安装war agent?还是我需要将jolokia JVM代理附加到8个Java应用程序中的每一个?
我是否需要更改原始Java应用程序中的任何内容才能将Jolokia用于上述目的?
最佳答案
我还需要启动和停止这些Java应用程序的功能。 Jolokia可以在这里提供帮助吗?
Jolkia不允许您启动服务。您可以实现一个自定义jmx命令来停止服务,然后通过Jolokia调用该服务。
Jolokia在使用方式上非常灵活。您可以在任何计算机上设置1个Jolokia proxy,并通过一个代理查询8个jvm。您还可以在每台Linux计算机上设置一个代理。
使用代理意味着您无需修改应用程序,除非添加command line arguments to expose jmx remotely。
您还可以将Jolokia与每个jvm打包在一起。如何执行取决于您的应用程序,并且有here指令。