Was ist WebSphere Health Management?

Veröffentlicht: 2015-02-14

Erfahren Sie mehr über Health Management in IBM WebSphere Application Server und wie Sie Health Policies erstellen.

Was ist Gesundheitsmanagement?

Health Management ist Teil der WebSphere Virtual Enterprise-Umgebung , die in WebSphere Application Server 8.5 integriert ist.

WebSphere 8.5 ist in Betriebsrichtlinien integriert, die Integritätsrichtlinien nutzen.

Health Management ist ein richtliniengesteuerter Ansatz zur Überwachung der Nutzung des WebSphere-Unternehmensanwendungsservers und zur Reaktion auf Problembereiche, bevor es zu einem Ausfall kommt.

Gesundheitsmanagement hat zwei Elemente:

  1. Gesundheitscontroller
  2. Gesundheitspolitik

Was ist der Reaktionsmodus?

Gesundheitsrichtlinien umfassen den Gesundheitszustand, den Sie in Ihrer Umgebung überwachen möchten. Es reagiert, wenn Ihre definierten Anforderungen nicht erfüllt werden.

Es gibt zwei Reaktionsmodi.

  1. Automatischer Modus: Das System ergreift Maßnahmen, wenn ein Verstoß gegen die Integritätsrichtlinie erkannt wird.

Wenn Sie beispielsweise die Speichernutzung überwachen und die JVM neu starten möchten, wenn die Nachrichtennutzung 85 % beträgt, startet das System die gezielte JVM neu, wenn die JVM-Heap-Größe 85 % erreicht.

  1. Überwachter Modus: Das System erstellt eine Laufzeitaufgabe, wenn eine Verletzung der Integritätsrichtlinie erkannt wird. Dies erfordert einen manuellen Eingriff für den WebSphere-Administrator, um die Aktion der Laufzeitaufgabe zu genehmigen oder abzulehnen.

Was ist Gesundheitszustand?

Integritätszustand ist das Objekt oder die Metriken, die Sie in Ihrer Umgebung überwachen möchten.

In WebSphere 8.5 sind acht vordefinierte Zustandszustände verfügbar. Sie haben die Möglichkeit, einen benutzerdefinierten Gesundheitszustand zu erstellen.

  • Altersbasierte Bedingung – Diese Bedingung überwacht die definierte JVM und ergreift Maßnahmen, wenn ein konfigurierter Altersschwellenwert erreicht wird.

Ex:

Sie können diese Bedingung so konfigurieren, dass JVM neu gestartet wird, wenn sie 15 Tage lang ausgeführt wird. Akzeptable Werte für diese Situation sind Tage oder Stunden, wie unten gezeigt.

altersbedingter Zustand

  • Bedingung für übermäßiges Anforderungs-Timeout – Diese Bedingung wird ausgeführt, wenn der Prozentsatz für das Anforderungs-Timeout den definierten Wert überschreitet. Der akzeptable Wert wird wie unten gezeigt in Prozent angegeben.

Zeitüberschreitung bei zu langer Anfrage

  • Bedingung „ Übermäßige Antwortzeit “ – Damit wird die Zeit überwacht, die zum Abschließen einer Anfrage benötigt wird, und es werden Maßnahmen ergriffen, wenn die Zeit den definierten Schwellenwert überschreitet.

Ex:

Sie können diese Bedingung so konfigurieren, dass ein Thread-Dump erstellt wird, wenn die Antwortzeit für eine Anfrage eine Minute beträgt. Akzeptable Werte sind Millisekunden, Sekunden und Minuten, wie unten gezeigt.

übermäßige Reaktionszeit

  • Speicherzustand: übermäßige Speichernutzung – überwacht die Speichernutzung von JVM und ergreift Maßnahmen, wenn sie den Schwellenwert überschreitet.

Ex:

Sie können diese Bedingung so konfigurieren, dass ein JVM-Heap-Dump erstellt und JVM neu gestartet wird, wenn die Speichernutzung den Schwellenwert überschreitet. Der akzeptable Wert für die JVM-Heap-Größe wird in Prozent und der fehlerhafte Zeitraum in Sekunden und Minuten angegeben, wie unten gezeigt.

Speicher-Zustand-Nutzung

  • Speicherzustand: Speicherleck – Dies sucht nach Speicherlecks auf der JVM und ergreift Maßnahmen.

Speicherbedingungsleck

Diese hat drei Erkennungsstufen.

  1. Schnell (Fehlalarme)
  2. Standard (einige Fehlalarme)
  3. Langsam (weniger Fehlalarme)
  • Storm-Drain- Bedingung – Überwachen Sie den erheblichen Rückgang der durchschnittlichen Antwortzeit und ergreifen Sie Maßnahmen wie das Generieren eines Thread-Dumps und das Neustarten von JVM.

gesundheitspolitischer Sturm

Dies hat zwei Erkennungsstufen.

  1. Standard (einige Fehlalarme)
  2. Langsam (weniger Fehlalarme)
  • Workload- Bedingung – Diese Bedingung erkennt, sobald eine JVM eine konfigurierte Anzahl von Anforderungen bedient hat.

Ex:

Sie können JVM so konfigurieren, dass es neu gestartet wird, sobald es 20000000 Anforderungen bedient.

Gesundheit-Zustand-Arbeitsbelastung

  • Garbage Collection Percentage Bedingung – Dieser überwacht den Prozentsatz der Zeit, die für einen definierten Zeitraum mit der Garbage Collection verbracht wird, und ergreift Maßnahmen, sobald der Schwellenwert überschritten wird. Akzeptabler Wert ist der Prozentsatz und die Abtastperiode, wie unten gezeigt.

Gesundheitszustand-GC

Was ist Gesundheitsaktion?

Integritätsaktion ist die Integritätsrichtlinienaktion, die ausgeführt wird, sobald der konfigurierte Schwellenwert überschritten wird.

In WebSphere 8.5 sind sieben vordefinierte Integritätsaktionen verfügbar.

Gesundheit-Aktion

  • Server neu starten – um JVM neu zu starten
  • Thread-Dumps erstellen – um Thread-Dumps von JVM zu erstellen
  • JVM-Heap-Dumps erstellen – um JVM-Heap-Dumps zu erstellen
  • SNMP-Trap generieren – SNMP-Trap zur Fehlerbehebung generieren
  • Versetzen Sie den Server in den Wartungsmodus - stoppen Sie neue Client-Anforderungen und bedienen Sie nur aktive Sitzungen
  • Versetzen Sie den Server in den Wartungsmodus und unterbrechen Sie die Affinität – stoppen Sie neue und bestehende Aktionssitzungen
  • Ort außerhalb des Wartungsmodus – bereit, neue Anfragen anzunehmen

Sie haben die Möglichkeit, benutzerdefinierte Gesundheitsmaßnahmen zu erstellen.

Wie erstelle ich Gesundheitsrichtlinien?

Gesundheitsrichtlinien können in vier einfachen Schritten erstellt werden.

  1. Definieren Sie allgemeine Eigenschaften der Integritätsrichtlinie – geben Sie hier den Namen der Richtlinie an und wählen Sie die Integritätsbedingung aus
  2. Definieren Sie die Integritätsbedingungseigenschaften der Integritätsrichtlinie – hier, um den Schwellenwert für die ausgewählte Integritätsbedingung bereitzustellen und die erforderlichen Maßnahmen zu konfigurieren, die ergriffen werden müssen, wenn die Integritätsbedingung verletzt wird
  3. Geben Sie die zu überwachenden Mitglieder an – wählen Sie JVM, Cluster, dynamische Cluster, On-Demand-Router oder Zelle als Ziel der Integritätsrichtlinien aus
  4. Erstellung der Integritätsrichtlinie bestätigen – Überprüfen Sie die Konfiguration der Integritätsrichtlinie und bestätigen Sie die Erstellung

Lassen Sie uns eine Gesundheitsrichtlinie wie folgt erstellen.

  • Melden Sie sich bei der WebSphere 8.5 ND DMGR-Konsole an
  • Klicken Sie auf Betriebsrichtlinien >> Gesundheitsrichtlinien
  • Klicken Sie auf Neu
  • Geben Sie einen Namen an – Test_Policy
  • Wählen Sie Gesundheitszustand als Arbeitsbelastungszustand aus (wir können diesen Zustand schnell testen)
  • Weiter klicken
  • Geben Sie zu Testzwecken Gesamtanforderungen als 1000 ein
  • Wählen Sie als Reaktionsmodus Automatisch aus
  • Aktion Server neu starten und Thread-Dumps erstellen hinzufügen

gesundheitspolitische arbeitsbelastung

  • Weiter klicken
  • Wählen Sie Filtern nach als Server/Knoten aus
  • Fügen Sie server1 als Zielmitglied hinzu
  • Klicken Sie auf Weiter
  • Überprüfen Sie die Konfiguration und klicken Sie auf Fertig stellen

gesundheitspolitische zusammenfassung

Lassen Sie uns nun testen, indem wir auf die Anwendung zugreifen, die auf der Ziel-JVM (Server1) ausgeführt wird.

Sobald die JVM 1000-Anforderungen bedient, sollte sie einen Thread-Dump erstellen und neu starten. Sie können JMeter verwenden, um die Last zu platzieren, damit das Testen schnell durchgeführt werden kann.

Was ist Health Controller?

Health Controller steuert die Integritätsrichtlinien und überwacht das System. Die Integritätsüberwachung muss in Health Controller aktiviert werden, um Richtlinien zu überwachen.

Der Health Controller selbst verfügt über konfigurierbare Eigenschaften, z. B. wie oft er ausgeführt werden soll und manchmal den Server neu starten soll.

Auf diese Weise können Sie den Neustart des Servers während der Geschäftsspitzenzeiten einschränken.

Was ist gesundheitspolitisches Ziel?

Integritätsrichtlinie oder Aktionsziel können JVMs, Cluster, dynamische Cluster, On-Demand-Router oder Zellen sein.

Ich hoffe das hilft zum besseren Verständnis. Wenn Sie daran interessiert sind, DevOps zu lernen, dann sehen Sie sich diesen grundlegenden Kurs an.