Как получить статус сервера приложений JBoss
Я работаю над созданием агента высокой доступности для сервера приложений JBoss для работы в Solaris Open HA Cluster. Поскольку я не очень разбираюсь в JBoss AS, может кто-нибудь сказать мне, как я могу проверить состояние сервера приложений?
Я хочу знать работоспособность сервера приложений, например, работает ли он в данный момент или нет.
3 ответа
Из коробки у JBoss есть консоль JMX, которая предоставляет информацию о модулях, загруженных в микроядро, и работающих службах. Это приложение обычно доступно по адресу http://hostname:8080/jmx-console, и вы можете использовать его наличие или отсутствие в качестве индикатора того, работает ли ваш сервер JBoss.
В контексте кластера высокой доступности вы, вероятно, располагаете коммутатор балансировки нагрузки или другое устройство, поддерживающее уровень 4-7, перед узлами. Если вы хотите определить состояние каждого узла в кластере, вам необходимо убедиться, что вы используете локальный IP-адрес узла.
Конечно, большинство процессов, которые выполняются в микроядре, поддерживают JMX... если вы хотите узнать состояние отдельного процесса, просто спросите его!
Если вы заинтересованы в мониторинге состояния JBoss, а также состояния вашей общей системы / кластера, я рекомендую проверить Hyperic.
Они имеют отличный плагин для мониторинга JBoss/Tomcat и могут отслеживать состояние ваших баз данных, операционных систем и сетевых подключений в вашем кластере. Монитор на стороне клиента основан на Java, и хотя я не тестировал его на Solaris, я считаю, что он работает.
По сравнению с другими инструментами мониторинга системы Hyperic относительно прост в настройке, особенно если вы знакомы с JBoss & Java.
Приятно то, что Hyperic контролирует внутренний и внешний статус вашего JBoss через JMX. При этом вы можете создавать сложные действия на основе условий на сервере JBoss и базовой инфраструктуры кластера.
т.е. если выполнены условия X & Y, сделайте это, и если это все еще проблема, сделайте это...
Спасибо за ответ.
Один из способов проверить состояние сервера JBOSS - это проверить порт JBOSS (это может быть порт любой существенной службы, например, такой как служба JNDI) с помощью запроса сокета TCP. Если порт занят, значит, JBOSS работает иначе, в противном случае.
Я понял, что это более программируемый способ проверки статуса.:P Особенно в случае Solaris OHAC, где JBOSS будет находиться в глобальной файловой системе.