Beliebte Suchanfragen
|
//

Überwachen des JBoss AS Start per JMX

7.9.2010 | 1 Minuten Lesezeit

Wie mein Kollege Robert in seinem Blog Beitrag „Automatisierter Modulimport für OpenCms “ beschrieben hat haben wir für unsere Testumgebung einen automatisierten Deploymentprozess etabliert. Jedoch kam vor kurzem die Frage auf, ob es nicht einen geschickteren Weg gibt den Serverstart zu überwachen als das Server log per grep „started“ zu überwachen (hier kam es vor, dass die Meldung teils ignoriert wurde).

1until tail -n 1 server.log | grep "Started"; do sleep 0.01; done

Hier wollten wir einen verlässlicheren Weg finden, die Diskussion über verschiedene Lösungsansätze habe ich nur am Rand mit bekommen, aber auch nach Feierabend wollte mir diese Frage nicht aus dem Kopf.

Da wir mit JBoss einen JEE Applikationsserver betreiben, lag die Annahme nahe über JMX den Server selber zu fragen, ob er denn bereits wieder zur Verfügung steht. Zuerst wollte ich frohen Mutes einen kleinen JMX Client schreiben, jedoch bin ich bei dem Thema über ein kleines Werkzeug gestolpert, welches JBoss bereits frei Haus mit liefert und mir eine nächtliche Coding Session erspart hat: Twiddle

Die Beschreibung von JBoss ist selbsterklärend:

„A JMX client to ‚twiddle‘ with a remote JBoss server.“

Genau was wir brauchten – jetzt musste nur noch das entsprechende MBean gefunden werden. Da „bist du schon da?“ eine der denkbar einfachsten abzufragenden Dinge ist, sind wir auch hier schnell zu einem Ausdruck gekommen, der das gewünschte Ergebnis liefert:

1twiddle.sh get jboss.system:type=Server Started

Sobald dieser Ausdruck true liefert ist der Server „up and running“.

Robert hat dann auch ASAP unser Skript erweitert:

1function twiddleTheBoss {
2    echo `twiddle.sh get "jboss.system:type=Server" Started | \
3        awk -F "=" '{ print $2 }'`
4}
5 
6...
7 
8local STARTED="starting"
9until [ $STARTED == "true" ]; do
10    sleep 20s
11    STARTED=$(twiddleTheBoss)
12done
13 
14...

Einfach und stabil, so wie man es sich wünscht 🙂 .

|

Beitrag teilen

//

Weitere Artikel in diesem Themenbereich

Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.

//

Gemeinsam bessere Projekte umsetzen.

Wir helfen deinem Unternehmen.

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.