News der novaCapta

Graylog: Zentralisiertes Logging – Simpler Logging-Stack mit Graylog

Logging ist ein komplexes und doch essenzielles Thema. Gute Logs vereinfachen einem Supporter die Arbeit und ermöglichen es, Probleme schneller einzugrenzen. Logs dienen auch der Überwachung von Applikationen und Servern.

Einer unserer Kunden führt zentral zeitgesteuerte Tasks (etwa 15 verschiedene) über den Windows Task-Scheduler und einen eigens entwickelten Task Manager aus, welcher die Tasks überwacht. Da der Task Manager nicht sonderlich intuitiv in der Bedienung ist, kam die Anforderung auf, Ausgaben aus den Tasks zentral zu sammeln und auszuwerten – das perfekte Einsatzgebiet von Graylog.

Wieso Graylog?

Der wohl bekannteste Stack für Logging ist der “ELK-Stack”. Elastichsearch, Logstash und Kibana. Graylog verwendet für das Speichern der Logs auch Elasticsearch und kombiniert Logstash und Kibana in ein einzelnes, eigenes Produkt. Graylog ist Open-Source.

Im Gegensatz zu einem ELK-Stack ist Graylog sehr einfach und schnell aufgesetzt. Es bietet ein ansprechendes GUI und User Management. Über LDAP lässt sich sogar ein ActiveDirectory anbinden. Zudem besitzt Graylog eine Vielzahl an integrierter Inputs (Quellen und Formate von Logs) und bietet eine REST-API. Für die initiale Einrichtung ist fast keine Konfiguration notwendig.

Architektur

Grafik zur Architektur von Graylog Minimal Setup
Architektur von Graylog, Minimal Setup (Quelle: http://docs.graylog.org/en/latest/pages/architecture.html)

Graylog verwendet für die interne Speicherung Meta-Informationen und Konfigurationen das Datenbanksystem MongoDB. Die Logs werden in Elasticsearch abgelegt. Somit skaliert Graylog auch super und es ist gut möglich, große Mengen an Logs zu verarbeiten.

Setup und Einrichtung

Wir verwenden eine Azure VM, auf der wir mit Docker die drei Dienste Graylog, MongoDB und Elasticsearch starten. Graylog ist manchmal etwas kompliziert, wenn es um die API und den Zugriff auf das User Interface geht. Es empfiehlt sich, einen Reverse Proxy einzusetzen und das UI nur über den Reverse Proxy auszuliefern. Das macht es auch einfacher, ein SSL-Zertifikat einzusetzen, um den Zugriff nur mittels HTTPS zu erlauben.

Meine Erfahrung mit Graylog nach sollte Elasticsearch mindestens 2 GB RAM und Graylog selber ca. 1 bis 2 GB RAM zur Verfügung haben, um auch bei minimaler Last ansprechende Reaktionszeiten zu haben. Gute Disk I/O-Werte sind essenziell für Elasticsearch.

Screenshot des Startbildschirms von Graylog mit der Suche die das Filtern von Log-Nachrichten mittels einer Query-Language ermöglicht
Der Startbildschirm von Graylog: Die Suche, die das Filtern von Log-Nachrichten mittels einer Query-Language ermöglicht. Im Bild werden z.B. alle Einträge, die im Feld “source” den Wert exam

Graylog verwendet das Prinzip von Inputs, Pipelines, Extractors und Streams. Für den Betrieb (und die initiale Installation) ist nur ein Input notwendig. Alle anderen Optionen können auch nachträglich hinzugefügt werden.

Inputs sind Quellen von Logs, wie z.B. Syslog. Ein Input kann für unterschiedliche Transportmittel definiert werden. Graylog unterstützt TCP und UDP, aber auch AMQP falls der Bedarf da ist.

Eine Pipeline ist ein optionales Konstrukt, um Nachrichten mit Logik zu verarbeiten. Mit Pipelines ist es möglich, die Verarbeitung einer einzelnen Log-Nachricht filigran zu steuern und zu beeinflussen.

Extractors sind meistens simple Reguläre Ausdrücke, um Informationen aus einer Log-Nachricht in ein eigenes Feld zu extrahieren. Zum Beispiel kann aus einer Log-Nachricht von IIS oder Apache die HTTP-Methode oder der HTTP-Status extrahiert werden.

Streams sind Sammlungen von Log-Nachrichten. Streams basieren auf Rules (Regeln). Diese Rules, die z.B. Reguläre Ausdrücke oder einfachere bool’sche Ausdrücke sein können, werden auf jede Nachricht angewendet und die Nachricht wird entsprechend in einen Stream eingeteilt. Das macht es möglich, Logs aus unterschiedlichsten Quellen zu sammeln und mittels Streams wieder in logische Einheiten aufzuteilen (z.B. ein Stream für Webserver, ein Stream für Applikations-Logs).

Screenshot der zwei konfigurierte Inputs in einer Graylog-Instanz zeigt
Zwei konfigurierte Inputs in einer Graylog-Instanz: GELF UDP und Syslog UDP. Inputs lassen sich einfach starten und stoppen und können auf “Nodes” oder global gestartet werden, wenn Graylog

Wie sieht das aus in der Praxis?

Graylog hat ein eigenes Format namens GELF (Graylog Extended Log Format) entwickelt, das inzwischen ein ziemlich breit akzeptiertes Format ist und in praktisch allen Loggern (wie log4net oder log4j) bereits eingebaut ist. GELF basiert auf JSON und ist ein erweiterbares Format. Das erlaubt es, auch zusätzliche Informationen wie einen StackFrame oder andere Informationen zu übertragen. Zusätzlich ist GELF zumindest theoretisch fast nicht in der Größe begrenzt, da es chunking (das Aufteilen von Daten in mehrere Pakete auf IP-Ebene) unterstützt. Jede Log-Nachricht bekommt eine eindeutige UUID und bleibt über einen Permalink aufrufbar.

Screenshot Beispiel einer Log-Nachricht im UI
Beispiel einer Log-Nachricht im UI. Die einzelnen Punkte sind unten im Text erläutert.

Der obige Screenshot zeigt die Detailansicht einer einzelnen Log-Nachricht. Dabei sind die wichtigsten Infos mit Pfeilen markiert:

  1. Die eindeutige UUID einer Log-Nachricht. Die Nachricht bleibt über diese UUID aufrufbar.
  2. Zeigt an, über welchen Input die Nachricht empfangen wurde
  3. Ein Klick und der Permalink ist im Clipboard
  4. Zeigt die umliegenden Sekunden einer Nachricht – ideal um z.B. die letzten 5 Sekunden vor einem Fehler anzeigen zu können.
  5. Zeigt an, in welchen Streams diese Nachricht abgelegt wurde.

Tipps & Hints

Wenn eine Applikation, ob Graylog oder ELK, eingesetzt werden soll, müssen gerade auch in Bezug auf Sicherheit und Compliance einige Punkte beachtet werden:

  • Log-Nachrichten könnten sensible Informationen enthalten, die vielleicht ein System nicht verlassen sollen.
  • Die meisten Protokolle (insbesondere alles über UDP) bieten keine Möglichkeit, Daten zu verschlüsseln. Das ist nicht nur über das Internet heikel, sondern kann auch im internen Netz unerwünscht sein.
  • Auch wenn TCP eine verschlüsselte Übertragung ermöglicht, den Overhead in Bezug auf Verbindungsorientierung und die Problematik, die entsteht, wenn der Empfänger offline ist, ist nicht unbeträchtlich.

Fazit

Graylog ist eine gute Lösung, um einfach und bequem Log-Nachrichten aus unterschiedliche Quellen zu sammeln und zu aggregieren. Es bietet ein angenehmes User Interface und lässt sich sogar in ein Active Directory einbinden, um Benutzer zu authentifizieren. Graylog versteht unterschiedlichste Formate und kann somit mit den gängigsten Logging-Tools einer Plattform (wie log4net für .Net) direkt eingesetzt werden. Allerdings sind Sicherheit und Compliance nicht auf die leichte Schulter zu nehmen. Graylog bietet zudem eine der ausführlicheren und detaillierteren Dokumentationen im Vergleich.

Wer Graylog einmal selber ausprobieren möchte, findet in der Dokumentation ​ein fixfertiges Template für Docker.

Referenzen

Hintergrundbild: https://www.graylog.org/post/announcing-graylog-v2-0-ga
Graylog-Dokumentation: http://docs.graylog.org/en/latest/index.html

Birchmeier Gruppe
Referenz

Birchmeier: Zentralisierte Arbeitsplattform in MS Teams

Die Birchmeier Gruppe hat zusammen mit novaCapta einen zentralen und automatisierten Kollaborations-Hub in MS Teams aufgesetzt, pilotiert und erfolgreich eingeführt.

Technologie 29.06.20

IBM

Wir sind IBM Platinum Business Partner und haben damit seit Jahren den höchsten Partnerstatus bei der IBM.

Training
Service

Academy

Haben Sie ein spezielles Schulungsthema? Sprechen Sie uns an. Wir suchen und vermitteln Ihnen das passende Schulungsangebot.

Logo RedHat
Technologie 02.07.20

RedHat

Wir sind RedHat Advanced Partner. Mit RedHat als dem Marktführer in Open-Source-IT-Lösungen unterstützen wir unsere Kunden ihre Cloud Journey aktiv zu gestalten und umzusetzen.

Logo Armacell
Referenz

Gebündelte Kompetenz für schnelle Mailmigration nach M365

TIMETOACT unterstützt gemeinsam mit novaCapta als Managed Service Partner Armacell für eine erfolgreiche Mailmigration ► Jetzt Success Story lesen

News

IBM übergibt “Trusted AI” Projekte an Linux Foundation AI

Wir begrüßen es sehr, dass die Linux Foundation drei besonders leistungsfähige SW-Komponenten der IBM (z.T. bereits Open Source) in ihren Linux Foundation AI Canon aufgenommen hat.

News 06.08.21

Intelligent Document Processing ab sofort noch effizienter!

Wir verbessern unsere Leistung aus diesen Gründen im Gebiet Intelligent Document Processing stetig und haben nun mit den Experten der PLANET artificial intelligence GmbH aus Rostock einen starken Partner an unserer Seite.

News

TIMETOACT GROUP erwirbt Atlassian Partner catworkx

Die Akquisition steht dabei ganz im Zeichen des Ausbaus des Beratungsportfolios der TIMETOACT GROUP zum führenden Atlassian Partner im deutschsprachigen Raum. Die bereits seit einiger Zeit bestehende Partnerschaft der beiden Unternehmensgruppen wird nun unter dem Dach der TIMETOACT GROUP zusammengeführt und ausgebaut.

Digitale Aktenordner auf dunklem Hintergrund – Verwaltungsdigitalisierung im öffentlichen Sektor.
Branche

Öffentliche Verwaltung

Wie gelingt die Digitalisierung der öffentlichen Verwaltung in der Praxis? Die TIMETOACT GROUP zeigt, wie Cloud, IT-Sicherheit und KI Prozesse spürbar beschleunigen.

Technologie Übersicht

HCL

Als „HCL Platinum Business Partner“ haben wir seit Jahren Erfahrung mit diesen Tools und werden diese auch in Zukunft für Sie betreuen.

Unternehmen

catworkx - Partner für die gesamte Atlassian-Produktpalette

catworkx ist einer der größten Atlassian Platinum und Enterprise Solution Partner in der DACH-Region, der sich zu 100 Prozent auf Atlassian-Lösungen spezialisiert hat.

Event 19.05.22

8. Zukunftskongress Staat & Verwaltung

Vom 20. bis 22. Juni 2022 findet der 8. Zukunftskongress Staat und Verwaltung live im bcc Berlin Congress Center statt.

Jun 20
News 08.06.22

Schnellere App-Entwicklung dank Mendix-Partnerschaft

Die TIMETOACT GROUP baut ihre Kompetenz rund um Low-Code durch eine Partnerschaft mit den Experten von Mendix weiter aus.

Standort 17.11.20

Unsere Standorte

Wir sind Ihr Partner für die Digitalisierung vor Ort: Unsere Standorte in Deutschland, Österreich, der Schweiz, Lettland und Malaysia.

News

Studie Legacy-Modernisierung 2022

Wo stehen Unternehmen aktuell beim Thema Legacy-Modernisierung? Mit dieser und weiteren Fragestellungen beschäftigt sich die Studie "Legacy-Modernisierung 2022".

Event

23. Kongress Innovatives Schadenmanagement

Am 23. und 24. November 2022 findet der 23. MCC Kongress Innovatives Schademanagement 2021 live im Hotel Maritim in Köln statt.

Nov 23
Referenz

Modernisierung der Kernprüfung

TIMETOACT GROUP unterstützte die Deutsche Rentenversicherung Bund bei der Umsetzung der Kernprüfung in Java mittels OSGi und CICS auf IBM System z.

Kompetenz

Artificial Intelligence & Data Strategy

Jedes Unternehmen erfasst und verwaltet Unmengen an Daten, z. B. aus Produktionsprozessen oder Geschäftstransaktionen.

Kompetenz

Sourcing Strategy, Spend Management & Compliance

Trotz immer leistungsfähigerer IT steigen die IT-Kosten gemessen am Umsatz / an EBITDA stetig an.

Kompetenz

Technology Adoption & Integration

IT ist die treibende Kraft hinter der digitalen Transformation.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!