我正在为JBoss Application Server编写一个Highly Available代理,以便在Solaris Open HA Cluster上运行。由于我不太了解JBoss AS,有人可以告诉我如何探测应用服务器的状态?

我想知道应用程序服务器的运行状况,例如它当前是否正在运行。

有帮助吗?

解决方案

开箱即用,JBoss有一个JMX控制台,它提供有关加载到微内核中的模块和正在运行的服务的信息。此应用程序通常可以在 http:// hostname:8080 / jmx-console 上找到,您可以想象使用它的存在或不存在作为JBoss服务器是否正在运行的指示器。

在HA群集的上下文中,您可能在节点前面有一个负载平衡交换机或其他支持layer4-7的设备。如果要检测群集中每个节点的状态,则需要确保使用节点的本地IP地址。

当然,在微内核中运行的大多数进程都启用了JMX ......如果你想知道单个进程的状态,那就问问吧!

其他提示

感谢您的回答。

检查JBOSS服务器状态的一种方法是使用TCP套接字请求探测JBOSS端口(它可以是任何基本服务的端口,例如像JNDI服务)。如果端口忙,则意味着JBOSS会以其他方式启动。

我发现,这是检查状态的更可编程方式。 :P特别是在Solaris OHAC的情况下,JBOSS将驻留在全局文件系统上。

如果您有兴趣监控JBoss的状态以及整个系统/集群的状态,我建议您查看 Hyperic

他们拥有出色的JBoss / Tomcat监控插件,可以监控集群中数据库,操作系统和网络连接的状态。客户端监视器是基于Java的,虽然我没有在Solaris上测试过,我相信它有效

与其他系统监控工具相比,Hyperic设置相对简单,特别是如果您熟悉JBoss& Java的。

好消息是Hyperic通过JMX监控JBoss的内部和外部状态。有了这个,您可以根据JBoss服务器中的条件和集群的底层基础结构构建复杂的操作。

即。如果X&满足Y条件这样做,如果仍然存在问题,请执行此操作...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top