Der ELK-Stack hat sich langsam zur weltweit meistgenutzten Plattform für die Protokollverwaltung entwickelt, vor allem weil er schnell, zuverlässig und quelloffen ist.
Laut der offiziellen Beschreibung ist „ELK“ das Akronym für drei Open-Source-Projekte: Elasticsearch, Logstash und Kibana. Elasticsearch ist eine Such- und Analysemaschine. Logstash ist eine serverseitige Datenverarbeitungspipeline, die Daten aus mehreren Quellen gleichzeitig aufnimmt, sie umwandelt und dann an einen „Stash“ wie Elasticsearch sendet. Mit Kibana können Benutzer Daten mit Diagrammen und Grafiken in Elasticsearch visualisieren. ELK entwickelte sich zum Elastic-Stack mit der Hinzufügung von Beats – leichtgewichtige Agenten, die auf Hosts installiert werden, um Daten zu sammeln und sie in den Stack, an Elasticsearch oder Logstash zu senden.
Eine gute Nachricht für IBM App Connect Enterprise (ACE)-Entwickler ist, dass das Fixpack V11.0.0.8 ELK-Konnektivität bringt. Natürlich ist dies eine fabelhafte Nachricht für Windows-basierte ACE-Entwickler, die die Möglichkeit haben, die Windows-Ereignisanzeige loszuwerden.
Genauer gesagt kann ACE ab Version 11.0.0.8 Protokollierungsdaten an einen Logstash-Eingang in einem ELK-Stack veröffentlichen. Schauen wir uns die Schritte an, die erforderlich sind, damit die Protokollierungsdaten (BIP-Nachrichten) in einem Kibana-Dashboard angezeigt werden.
Ich gehe davon aus, dass Sie den ELK-Stack installiert haben und ausführen (Elasticsearch + Logstash + Kibana). Die neueste Version, als dieser Artikel erstellt wurde, ist 7.10.0. Das ist die Version, die ich für die hier gezeigten Beispiele verwenden werde.
Zunächst müssen wir Logstash so einrichten, dass es auf die ACE-Protokolldaten hört. Gehen Sie zu Ihrem Logstash-Konfigurationsordner und bearbeiten Sie pipelines.yml, um eine neue Pipeline hinzuzufügen:
Erstellen Sie eine neue Pipeline-Konfigurationsdatei „ace_logs.conf“ und geben Sie den Port an, der von Logstash verwendet wird, um auf ACE-Daten zu warten (ein beliebiger unbenutzter Port) sowie die Elasticsearch-URL. Sie können auch den Indexnamen angeben, in dem die neuen Daten gespeichert werden, und ob die Daten in der Logstash-Konsole (stdout) ausgegeben werden sollen:
Starten Sie Logstash oder starten Sie es neu, um die neue Pipeline zu aktivieren. Logstash wartet nun darauf, dass Protokollierungsdaten an den angegebenen Port (in meinem Fall 5040) gesendet werden.
Konfigurieren wir nun ACE zum Senden von Protokolldaten. Es gibt eine gute Erklärung im Knowledge Center. Sie können Daten für einen bestimmten Integrationsserver oder für den gesamten Integrationsknoten senden. Ich habe mich für die ELK-Verbindung auf Knotenebene entschieden und daher die Datei node.conf.yaml im Arbeitsverzeichnis von ACE bearbeitet. Aktivieren Sie zunächst das Senden der Protokolle an ELK:
Übersetzt mit DeepL.com (kostenlose Version)
Legen Sie dann die Verbindungsdetails fest:
Starten Sie den Integrationsknoten neu, und die Protokolldaten sollten zu Logstash fließen. Überprüfen Sie die ACE-Systemprotokolle auf die Bestätigung, dass die Verbindung funktioniert.
Überprüfen Sie die Zusammenfassung der Elasticsearch-Indizes (http://elastic_url:9200/_cat/indices). Ihr neuer Index sollte erscheinen.
Jetzt beginnt der Spaß… Öffnen Sie Ihre Kibana-Hauptseite (http://kibana_url:5601/app/home) und wählen Sie Stack Management aus dem Hauptmenü. Gehen Sie zu Data / Index Management und Sie sollten den neuen Index sehen:
Gehen Sie zu Kibana / Index Patterns und erstellen Sie ein neues Muster auf der Grundlage des neuen Index. Jetzt können Sie die aktuellen Protokollierungsdaten mit den verfügbaren Feldern sehen:
Sie können anschließend verschiedene Diagramme oder Tabellen auf der Grundlage der Indexfelder erstellen, wie das folgende, das die Protokolleinträge gruppiert nach Protokollstufe und Integrationsserver zeigt:
Sie können dann nach dem spezifischen Integrationsserver, dem Datum und der Protokollebene filtern und die Option „Zugrundeliegende Daten erkunden“ wählen, die Ihnen alle verfügbaren Felder für die Daten anzeigt, die diesem Filter entsprechen.
Wir hoffen, dass die hier beschriebenen Schritte Ihnen eine Vorstellung davon vermittelt haben, wie Sie die neue ELK-Konnektivität von ACE nutzen können. Wenn Sie den ELK-Stack bereits in Ihrer Infrastruktur eingerichtet haben, sollten Sie in Erwägung ziehen, die ACE-Protokolldaten an ihn zu senden. Und wenn Ihre ACE-Umgebung Windows-basiert ist, haben Sie wirklich keine andere Wahl – stellen Sie sich vor, Sie müssten in der Ereignisanzeige die ACE-Fehler von letzter Woche finden!!!
Ressourcen:
– https://www.elastic.co/what-is/elk-stack
– https://www.ibm.com/support/knowledgecenter/SSTTDS_11.0.0/com.ibm.etools.mft.doc/bz91196_.html
– https://www.ibm.com/support/knowledgecenter/SSTTDS_11.0.0/com.ibm.etools.mft.doc/bz91195_.html