Plug-in zur GlassFish-Überwachung

Überwachen Sie GlassFish-Server mit Site24x7 und bleiben Sie bei Problemen auf dem Laufenden.

GlassFish ist ein Open-Source-Projekt für Anwendungsserver, das von der Firma Oracle gesponsert wird. Konfigurieren Sie das Site24x7-Plug-in, um die Leistung Ihrer GlassFish-Server zu überwachen.

In diesem Dokument werden die Konfiguration des Oracle GlassFish-Plug-ins und die Überwachungsmetriken beschrieben, um detaillierte Einblicke in die Leistung, Verfügbarkeit und Nutzungsstatistiken von GlassFish-Servern zu erhalten.

Metriken zur Überwachung der GlassFish-Leistung:

Beheben Sie Probleme in Ihrer GlassFish-Umgebung ganz einfach, indem Sie kritische Metriken verfolgen, darunter:

Gebundener Heap/Non-Heap-Speicher

Die Metriken "usedheapsize-count" und "usednonheapsize-count" geben die Gesamtmenge des genutzten Heap-/Nicht-Heap-Speichers in Byte an.

Maximaler Heap-/Non-Heap-Speicher

Die Metriken "maxheapsize-count" und "maxnonheapsize-count" geben die maximale Menge an Heap-/Nicht-Heap-Speicher in Byte an, die für die Speicherverwaltung verwendet werden kann.

Anfänglicher Heap-/Non-Heap-Speicher

Die Metriken "initheapsize-count" und "initnonheapsizecount" geben die Gesamtmenge an Heap-/Non-Heap-Speicher in Byte an, die die JVM ursprünglich vom Betriebssystem zur Speicherverwaltung anfordert.

Gebundener Heap/Non-Heap-Speicher

Die Metriken "committedheapsize-count" und "committedunheapsize-count" geben die Gesamtmenge an Heap-/Non-Heap-Speicher in Bytes an, die für die JVM zur Verwendung übergeben wird.

Abschluss des Objekts ausstehend

Die Metrik "objectpendingfinalization-count" gibt die ungefähre Anzahl der Objekte mit ausstehendem Abschluss an.

Blockierte Threads

Informieren Sie sich über die Anzahl der Threads, die blockiert sind und darauf warten, Objektmonitore oder Ownable Synchronizer zu erhalten, indem Sie die Metrik "deadlockedthreads" verwenden.

Gestartete Threads

Erhalten Sie mit der Metrik "totalstartedthreadcount" Informationen über die Anzahl der Threads, die seit dem Start der JVM erstellt und auch gestartet wurden.

Daemon-Threads

Informationen über die Anzahl der Live-Daemon-Threads erhalten Sie mit der Metrik "daemonthradcount".

Blockierte Threads überwachen

Erhalten Sie mithilfe der Metrik "monitordeadlockedThreads" Informationen über die Anzahl der blockierten Threads, die darauf warten, Objektmonitore zu erhalten.

Benutzerzeit des aktuellen Threads

Erhalten Sie Informationen über die CPU-Zeit für einen Thread, der im Benutzermodus ausgeführt wird, indem Sie die Metrik "currentthreadusertime" verwenden.

Maximale Anzahl von Threads

Rufen Sie mit der Metrik "peakthreadcount" Informationen über die maximale Anzahl der Live-Threads seit dem Start der JVM oder dem Zurücksetzen des Spitzenwerts ab.

Threadanzahl

Mit der Metrik "Threadcount" erhalten Sie Informationen über die Anzahl der Live-Threads, einschließlich Daemon- und Nicht-Daemon-Threads.

CPU-Zeit des aktuellen Threads

Erhalten Sie mit der Metrik "currentthreadcputime" Informationen zur gesamten CPU-Zeit für den aktuellen Thread in Nanosekunden.

Lecks in Verbindungen

Verwenden Sie die Metrik "numpotentialconnleak", um die Anzahl der möglichen Verbindungslecks zu erhalten.

Logische Verbindung freigegeben

Verwenden Sie die Metrik "numconnreleased", um die Anzahl der möglichen logischen Verbindungen zu ermitteln, die für den Pool freigegeben wurden.

Verbindungsanfragen in Warteschlange

Verwenden Sie die Metrik "waitqueuelength", um die Anzahl der Verbindungsanforderungen in der Warteschlange zu erhalten, die auf die Bearbeitung warten.

Freie Verbindungen

Verwenden Sie die Metrik "numconnfree", um die Anzahl der freien Verbindungen im Pool zu ermitteln.

Wartezeit für die Verbindung

Verwenden Sie die Metrik "averageconnwaittime", um die durchschnittliche Wartezeit pro erfolgreicher Verbindungsanfrage zu erhalten.

Verbindungen mit Zeitüberschreitung

Verwenden Sie die Metrik "numconntimedout", um die Anzahl der Verbindungen im Pool zu ermitteln, die ab der Startzeit eine Zeitüberschreitung hatten.

Erstellte Verbindungen

Verwenden Sie die Metrik "numconncreated", um die Gesamtanzahl der physischen Verbindungen zu erhalten, die seit dem letzten Zurücksetzen erstellt wurden.

Wie es funktioniert?

Voraussetzungen:

  • Stellen Sie sicher, dass GlassFish auf dem Server installiert ist und ausgeführt wird.

Installation des GlassFish-Plug-ins:

  • Create seperate directories for all the three plugins with the name "glassfish_jvm_memory", "glassfish_jvm_thread", "glassfish_resource_connectionpool" under the Site24x7 Linux agent's plugin directory - /opt/site24x7/monagent/plugins/
    cd /opt/site24x7/monagent/plugins/
    sudo mkdir glassfish_jvm_memory
    sudo mkdir glassfish_jvm_thread
    sudo mkdir glassfish_resource_connectionpool
  • Download the file ""glassfish_jvm_memory.py" aus unserem GitHub-Repository and place it under the "glassfish_jvm_memory" directory
    cd glassfish_jvm_memory
    sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/glassfish_jvm_memory/glassfish_jvm_memory.py
  • Download the file "glassfish_jvm_thread.py" aus unserem GitHub-Repository and place it under the "glassfish_jvm_thread" directory
    cd glassfish_jvm_thread
    sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/glassfish_jvm_thread/glassfish_jvm_thread.py
  • Download the file "glassfish_resource_connectionpool.py" aus unserem GitHub-Repository and place it under the "glassfish_resource_connectionpool" directory
    cd glassfish_resource_connectionpool
    sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/glassfish_resource_connectionpool/glassfish_resource_connectionpool.py

Schritte zum Aktivieren der Überwachung im GlassFish-Server

  • The following steps need to be peformed to enable monitoring for your GlassFish server:
    cd /bin/asadmin
    ./asadmin
    set server.monitoring-service.module-monitoring-levels.jvm=LOW
    set server.monitoring-service.module-monitoring-levels.jdbc-connection-pool=LOW

Konfiguration des GlassFish-Plug-ins:

  • Der im Plug-in-Skript angegebene Standard-Python-Pfad lautet #!/usr/bin/python. Wenn Sie einen alternativen Python-Pfad angeben möchten, ersetzen Sie den vorhandenen Pfad, dem das Shebang-Zeichen "#!" vorangestellt ist.
  • Configure host and port values for the GlassFish plugin
    HOST = "localhost"
    ADMINPORT = "4848"
    USERNAME = None
    PASSWORD = None
  • Dieselben Änderungen können auch für Verbindungspool und Thread-Plug-ins vorgenommen werden.
  • Save the changes and restart the agent.
    /etc/init.d/site24x7monagent restart

Überwachung zusätzlicher Metriken:

  • Um zusätzliche Metriken zu überwachen, bearbeiten Sie eine der Plug-in-Dateien und fügen Sie die neuen Metriken hinzu, die überwacht werden müssen.
  • Erhöhen Sie den Wert der Plug-in-Version in der Plug-in-Datei um die neu hinzugefügten Metriken anzuzeigen. (Ändern Sie z. B. die Standard-Plug-in-Version von PLUGIN_VERSION = "1" in "PLUGIN_VERSION = "2".)

Zugehörige Plug-ins:

  • Redis-Plug-in: Zur Überwachung der Leistungsmetriken Ihrer Redis-Datenbanken
  • MongoDB-Plug-in: Zur Überwachung der Leistungsmetriken Ihrer MongoDB-Datenbanken
  • Memcached-Plug-in: Zur Analyse Ihres Memcached-Servers
  • Nagios-Plug-in – Zur Ausführung Tausender von Nagios-Plug-ins in Site24x7, ohne einen Nagios-Server betreiben zu müssen
  • Sofort einsetzbare Plug-ins – Zur Überwachung Ihres gesamten App-Stacks mit unserer umfangreichen Auswahl an Integrationen
  • Benutzerdefinierte Plug-ins erstellen – Erstellen Sie benutzerdefinierte Linux- und Windows-Plug-ins und überwachen Sie benutzerdefinierte Attribute.