Graylog: Auswahl des Eingabeformats

Diese Dokumentation ist Teil des Eingabetypen auswählen-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie den richtigen Graylog-Eingabetyp auswählen.

👋 Willkommen in der Stackhero-Dokumentation

Stackhero bietet eine vollständig verwaltete Graylog Cloud-Lösung, die auf Geschwindigkeit und Einfachheit ausgelegt ist. Sie können:

  • Auf einen unbegrenzten, dedizierten SMTP-E-Mail-Server vertrauen, der in Ihrem Service enthalten ist.
  • Updates mühelos per Klick anwenden – ganz ohne manuellen Aufwand.
  • Einen individuellen Domainnamen nutzen, der durch HTTPS gesichert ist (zum Beispiel https://logs.your-company.com), sodass Ihr Team sicheren und direkten Zugriff erhält.
  • Von hoher Performance und Sicherheit auf einer privaten, dedizierten Infrastruktur profitieren – ohne geteilte Ressourcen oder störende Nachbarn.

Konzentrieren Sie sich auf Ihre Daten, nicht auf das Tooling: Mit Stackheros Graylog Cloud Hosting können Sie in nur wenigen Minuten starten.

Die erste Entscheidung betrifft das Format Ihrer Log-Nachrichten. Es gibt drei Hauptoptionen: RAW/Plaintext, Syslog oder GELF.

Dies ist das einfachste Format. Es funktioniert mit jedem System, da es eine vollständige Klartext-Nachricht sendet. Es ist sehr leicht zu verwenden und eignet sich perfekt für erste Tests, wie zum Beispiel das Senden einer Nachricht mit dem Tool netcat.

Zum Testen können Sie eine "Raw/Plaintext UDP"-Eingabe erstellen und dann einen Test-Log mit einem der folgenden Befehle senden:

  1. Unter macOS: echo "Hello Graylog from UDP" | nc -u -w1 -c <XXXXXX>.stackhero-network.com 5555
  2. Unter Linux: echo "Hello Graylog from UDP" | nc -u -w1 <XXXXXX>.stackhero-network.com 5555

Sehr einfach, oder? Da es sich jedoch um ein grundlegendes Format handelt, stoßen Sie schnell an Grenzen. Daher raten wir davon ab, es über einfache Tests hinaus zu verwenden.

Dies ist ein bekanntes Format, das weit verbreitet zum Speichern und Übertragen von Logs in Serverumgebungen genutzt wird. Es ist unter Linux, Windows, *BSD und anderen Betriebssystemen verfügbar.

Wenn Sie Syslog, Rsyslog oder einen anderen kompatiblen Dienst verwenden und Logs von einem Server an Graylog senden möchten, ist die syslog-Eingabe die einfachste Option.

Da GELF jedoch leistungsfähiger ist, empfehlen wir, sofern möglich, Nachrichten im GELF-Format zu senden, wie im Folgenden erläutert.

Beachten Sie, dass das Syslog-Format auf 1024 Zeichen begrenzt ist.

GELF steht für "Graylog Extended Log Format". Dieses Format wurde von Graylog entwickelt und ist mittlerweile in vielen Produkten weit verbreitet und als Standard etabliert.

Das GELF-Format ist leistungsstark, da es Logs strukturiert überträgt. Strukturiertes Logging ermöglicht es, mehrere Felder und Werte zu senden, anstatt nur eine unstrukturierte Textnachricht. Dadurch kann Graylog die Informationen leichter parsen und auswerten.

Wenn Sie beispielsweise ein Log mit einer IP-Adresse und einem Request-Typ senden möchten, können Sie eine Nachricht mit zwei Feldern namens ip und request_type übermitteln. In Graylog können Sie dann gezielt nach diesen Feldern suchen, etwa mit der Abfrage: request_type: POST.

GELF basiert auf JSON und muss mindestens die Felder version, host und short_message enthalten. Sie können beliebig viele weitere Felder hinzufügen, diese müssen jedoch mit einem Unterstrich (_) beginnen.

Ein einfaches Beispiel mit einem zusätzlichen Feld namens device_id sieht so aus:

{
  "version": "1.1",
  "host": "myIotDevice",
  "short_message": "Something is happening",
  "_device_id": "abcd"
}

Sie können dann in Graylog nach allen Nachrichten vom Gerät "abcd" mit der Abfrage device_id: abcd suchen.

Weitere Details zu GELF finden Sie in der offiziellen Spezifikation hier: https://docs.graylog.org/en/4.0/pages/gelf.html.

Wenn Sie Logs von Servern oder Anwendungen senden möchten, können Sie eine der vielen verfügbaren Bibliotheken nutzen, die Ihre Nachrichten automatisch erstellen und versenden. Beispiele finden Sie für Node.js, .NET und Python.