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.

Event

Webcast: KI für Versicherer

Dr. Matthias Quaisser erläutert Ihnen praktische Projekterfahrung und Erfolgsfaktoren von KI und erzählt von fachliche Anwendungsfälle von KI bei Versicherern.

May 14
Event

Webcast: Cloud Transformation & "run your App"

Lernen Sie mit Jochen Schneider die Cloud 1.0 (Cloud 1.0 (Lift&Shift), Cloud 2.0 (Microservices, Big Data) und Cloud 3.0 (Multi Cloud Management, Big Compute) kennen.

Standort

Seligenstadt

Finden Sie u.a. novaCapta GmbH und TIMETOACT Software & Consulting GmbH in Seligenstadt: Dr.-Hermann-Neubauer-Ring 40; 63500 Seligenstadt

Unternehmen

CLOUDPILOTS Software & Consulting GmbH

CLOUDPILOTS berät und begleitet Unternehmen bei dem Transformationsprozess von Geschäftsprozessen und -anwendung in die Cloud und unterstützt bei der Implementierung von Cloud basierten IT-Services (SaaS).

Process Integration & Automation
Service

Process Integration & Automation

Unternehmensprozesse digitalisieren und verbessern sowie auf Veränderungen agil reagieren – diesen Herausforderungen sehen sich immer mehr Unternehmen gegenübergestellt.

Event

Webcast: Chancen des Quantum Computing für Versicherer

Dieser Webcast liefert einen Einblick in das Thema Quantencomputer und dessen Stand der Technik. Behandelt wird das Potential dieser Technologie und wie man sich auf diesen sprichwörtlichen Quantensprung in der IT vorbereiten kann.

Aug 11
Event

Künstliche Intelligenz in der Rechnungsprüfung

Webcast 06.Oktober: Techniken des maschinellen Lernens können die Prüfung von Rechnungen in der privaten Krankenversicherung effektiv unterstützen. „Natural Language Processing“ ermöglicht so die Klassifikation von kurzen Texten aus den Tabellen von Rechnungen.

Oct 06
Unternehmen 16.09.20

synaigy

synaigy – die Digitalagentur für Ihr strategisches Projekt im digitalen Kundendialog bietet passende Lösungen in allen relevanten Bereichen des Digital Customer Engagement an.

Managed Services & Managed Support
Service

Managed Services & Managed Support

Durch unsere Managed Service Team aus Spezialisten der TIMETOACT GROUP entlasten Sie Ihr IT-Department. Wir sorgen dafür, dass Sie effizienter, zuverlässiger und schneller arbeiten können

Social 16.02.21

FAST-elovend 2021 – unsere virtuelle Karnevalsfeier

Kölle Alaf! Auch dieses Jahr feierten die Jecken der TIMETOACT GROUP Fastelovend - aber nur FAST so wie immer. Denn nach unserer (digitalen) Weihnachtsfeier ließen wir uns auch Karneval nicht nehmen und feierten Karneval einfach virtuell.

Event 22.04.21

Webcast: AI Factory for Insurance

Im Webcast erfahren Sie, warum das Thema Künstliche Intelligenz für Versicherer so wichtig ist. Wir erklären Ihnen was die die AI Factory for Insurance genau ist und welche fünf Elemente die Factory ausmachen. Anschließend zeigen wir auf, wie diese konkret bei Versicherungen umgesetzt wird und wie sie sich in andere/ähnliche Initiativen eingliedern lässt.

May 11
Logo Microsoft
Technologie 29.06.20

Microsoft

Wir sind Microsoft Solutions Partner in den Bereichen Business Applications, Data & AI, Digital & App Innovation, Infrastructure Azure, Modern Work sowie Security

News 07.05.21

Equistone erwirbt Mehrheit an TIMETOACT GROUP

Im Rahmen einer Mehrheitsbeteiligung hat sich Equistone im Mai 2021 an der TIMETOACT GROUP beteiligt. Frank Fuchs komplettiert als neuer CFO die Geschäftsführung der TIMETOACT GROUP.

Headerbild zu Digitalem Ökosystem
Service

Fit für das digitale Ökosystem

Versicherer vernetzen sich digital mit ihrem Ökosystem, um kritische Fähigkeiten in einer Arbeitsteilung zu erlangen. Dabei werden Personendaten oder Vorgangsdaten sicher ausgetauscht.

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.

Standort

Augsburg

Finden Sie u.a. die novaCapta GmbH in Augsburg: Schertlinstraße 19, 86159 Augsburg, +49 821 789 887 90, info.augsburg@novacapta.de

Service 15.07.21

Open Insurance

Bei Open Insurance geht es darum neuartige, datengetriebene Dienstleistungen für Kunden zu erbringen – und zwar nicht allein, sondern indem man im Digitalen Ökosystem zusamnenarbeitet und Daten über Schnittstellen bezieht/bereitstellt.

Standort

Sursee

Finden Sie die novaCapta Schweiz AG in Sursee; Industriestraße 5a, 6210 Sursee, Tel: +41 41 39220 00, Mail: info.sursee@novacapta.com

News

ARS Event: KI meets Finance & Insurance

Am 20.11.2019 versammeln sich CxOs, Innovation Manager und Risk Manager zum ARS Event: KI meets Finance & Insurance 2019 in Nürnberg, um über die Zukunft der Finanzbranche zu diskutieren.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!