Logstash-Protokollcollectors
Liberty generiert verschiedene Ereignisse zur Laufzeit, wie z. B. Protokollereignisse, Traceereignisse, FFDC-Ereignisse (First-Failure Data Capture, Erfassung von Fehlerdaten beim ersten Auftreten), Zugriffsprotokollereignisse und Garbage-Collection-Ereignisse. Insbesondere wenn Sie viele Server verwalten oder Server auf verschiedenen Plattformen (z. B. auf dedizierter Hardware und in IBM Cloud) ausführen, ist es hilfreich, Ereignisse von allen Servern zu konsolidieren, sodass die Ereignisse gesucht, gefiltert und analysiert werden können. In Fällen, in denen Sie Liberty in Umgebungen ohne persistenten Dateispeicher für Problembestimmungsdaten verwenden, kann es außerdem hilfreich sein, Ereignisse in einem separaten Server zu speichern.
Liberty stellt das Logstash-Protokollcollectorfeature für die Konsolidierung von Ereignissen über Fernzugriff bereit. Die Collectors erfassen gerade ausgeführte Ereignisse, teilen sie in Felder auf und leiten die Ereignisse sicher an den konfigurierten Logstash--Protokollerfassungsserver weiter. Die Collectors können so konfiguriert werden, dass sie Daten mindestens einer der folgenden Typen senden:
- Nachrichtenprotokollereignisse
- Traceprotokollereignisse
- HTTP-Zugriffsprotokollereignisse (vom Liberty-Server)
- FFDC-Protokollereignisse
- Garbage-Collection-Ereignisse (nur für IBM JDKs verfügbar)
Logstash-Collector
Das Feature "Logstash-Collector" ((logstashCollector-1.0) sendet Ereignisse an einen Logstash-Server, den Sie bereitstellen.
Logstash kann mit dem Elasticsearch-Suchserver und dem Kibana-Dashboard verwendet werden. Sie stellen alle diese Ressourcen bereit, konfigurieren sie und verwalten sie, um eine konsolidierte Ansicht der Protokolle oder anderer Ereignisse in Ihrem Unternehmen zu erhalten. Sie müssen bei der Verwendung des Logstash-Collectors zum Weiterleiten von Ereignissen keine separaten Prozesse oder Agenten auf dem Liberty-Server-Computer konfigurieren.
Ereignisstruktur
Ein Collector sendet jedes Ereignis als Satz von Feldname/Feldwert-Paaren. Jeder Typ von Ereignis hat einen eigenen Satz von Feldern. Beim Erstellen eigener Kibana-Dashboards ist es hilfreich zu wissen, welche Felder die einzelnen Ereignisse haben.
Feldname in logstashCollector-1.0 | Feldbeschreibung |
---|---|
type | Eine Zeichenfolge, die den Ereignistyp angibt. |
datetime | Die Uhrzeit, zu der das Ereignis eingetreten ist. |
hostName | Der Hostname des Servers, der die Quelle des Ereignisses ist. Weitere Informationen zu den Regeln zum Festlegen des Hostnamens finden Sie unter Protokollcollectors mit Liberty für die Ausführung in Docker verwenden. |
wlpUserDir | Das Benutzerverzeichnis des Servers, der die Quelle des Ereignisses ist, z. B. D:\wlp\usr. |
serverName | Der Servername des Servers, der die Quelle des Ereignisses ist. Weitere Informationen zu den Regeln zum Festlegen des Servernamens finden Sie unter Protokollcollectors mit Liberty für die Ausführung in Docker verwenden. |
sequence | Die Folgenummer des Ereignisses (hilfreich beim Sortieren von Datensätzen mit derselben Zeitmarke). |
![]() |
![]() |
- Nachrichtenereignisse
Tabelle 2. Nachrichtenereignisse (Typ: "liberty_message") Feldname in logstashCollector-1.0 Feldbeschreibung severity Der Anzeiger für den Schweregrad (F = Fatal, E = Error, W = Warning, A = Audit, I = Info, O = SystemOut, R = SystemErr). messageId Die Nachrichten-ID in der Protokollzeile, die verwendet werden kann, um bestimmte Fehlertypen zu finden, z. B. s SRVE0250I. methodName Der Methodenname aus dem Protokolldatensatz. className Der Klassenname aus dem Protokolldatensatz. loggerName Der Protokollname aus dem Protokolldatensatz. threadId Die Thread-ID in der Protokollzeile, z. B. 00000015. Die Thread-ID ist eine Zeichenfolge und keine Zahl. message Die mit der Nachrichten-ID beginnende Nachricht aus dem Protokolldatensatz. Anmerkung: Zusätzlich zum Standardprotokoll- und Trace-Framework leitet der Logstash-Collector Nachrichtenereignisse weiter, wenn die Binärprotokollierung aktiviert ist.
- Traceereignisse
Tabelle 3. Traceereignisse (Typ: "liberty_trace") Feldname in logstashCollector-1.0 Feldbeschreibung severity Der Anzeiger für den Schweregrad (1 = Fine, 2 = Finer, 3 = Finest, > = Entry, < = Exit). methodName Der Methodenname aus dem Protokolldatensatz. className Der Klassenname aus dem Protokolldatensatz. loggerName Der Protokollname aus dem Protokolldatensatz. threadId Die Thread-ID in der Protokollzeile, z. B. 00000015. Die Thread-ID ist eine Zeichenfolge und keine Zahl. message Die Nachricht aus dem Protokolldatensatz. Anmerkung: Zusätzlich zum Standardprotokoll- und Trace-Framework leitet der Logstash-Collector Traceereignisse weiter, wenn die Binärprotokollierung aktiviert ist.
- HTTP-Zugriffsprotokollereignisse
Tabelle 4. HTTP-Zugriffsprotokollereignisse (Typ: "liberty_accesslog") Feldname in logstashCollector-1.0 Feldbeschreibung uriPath Die Pfadangabe für die angeforderte URL. Diese Pfadangabe enthält nicht die Abfrageparameter, z. B. /pushworksserver/ push/apps/tags. requestMethod Das verwendete HTTP-Verb, z. B. GET. remoteHost Die IP-Adresse des fernen Host, z. B. 127.0.0.1. userAgent Der userAgent-Wert in der Anforderung. requestProtocol Der Protokolltyp, z. B. HTTP/1.1. queryString Die Zeichenfolge, die die Abfragezeichenfolge aus der HTTP-Anforderung darstellt, z. B. color=blue&size=large. bytesReceived In der URL empfangene Byte, z. B. 94. responseCode Der HTTP-Antwortcode, z. B. 200. elapsedTime Die für die Bearbeitung der Anforderung benötigte Zeit in Mikrosekunden. requestHost Die IP-Adresse des Anforderungshosts, z. B. 127.0.0.1. requestPort Die Portnummer der Anforderung. - FFDC-Ereignisseevents
Tabelle 5. FFDC-Ereignisse (Typ: "liberty_ffdc":) Feldname in logstashCollector-1.0 Feldbeschreibung className Die Klasse, die den FFDC-Eintrag ausgegeben hat. exceptionName Die Ausnahme, die im FFD-Eintrag gemeldet wurde. probeID Die eindeutige ID des FFDC-Punkts in der Klasse. stackTrace Der Stack-Trace des FFDC-Vorfalls. objectDetails Die Vorfalldetails für den FFDC-Vorfall. threadId Die Thread-ID des FFDC-Vorfalls. - Garbage-Collection-Ereignisse
Tabelle 6. Garbage-Collection-Ereignisse (Typ: "liberty_gc") Feldname in logstashCollector-1.0 Feldbeschreibung heap Der insgesamt zurzeit verfügbare Heapspeicher. usedHeap Der belegte Heapspeicher. maxHeap
Der von der JVM maximal zulässige Heapspeicher.
duration Die Dauer der Garbage-Collection-Ausführung in Mikrosekunden. gcType Der Typ des Garbage-Collection-Ereignisses (z. B. Nursery, Global). reason Der Grund für die Garbage-Collection.
Protokollcollectors mit Liberty für die Ausführung in Docker verwenden
Für die Ausführung von Liberty-Servern in Docker-Containern oder anderen virtualisierten Umgebungen werden hostName und serverName wie folgt definiert:
- Wert der Umgebungsvariablen CONTAINER_HOST
- Wert der Liberty-Konfigurationsvariablen ${defaultHostName}
- Kanonischer Hostname gemäß Bericht des Software-Development-Kit (JDK)
- Wert der Umgebungsvariablen CONTAINER_NAME
- Wert der Liberty-Konfigurationsvariablen ${wlp.server.name}
Bei der Ausführung von Liberty-Servern im IBM Cloud-Container-Service sind CONTAINER_HOST und CONTAINER_NAME bereits definiert.
Bei der Ausführung von Liberty-Servern in Liberty-Docker-Verbünden sind CONTAINER_HOST und CONTAINER_NAME bereits definiert.
docker run -d -e LICENSE=accept -e CONTAINER_NAME=Containername -e CONTAINER_HOST=Container-Host --name=Containername Imagename