Wie man Python-Protokolle mit Fluent Bit an OpenSearch sendet

Einführung

Eine effektive Logverwaltung ist für die Überwachung und Wartung von Anwendungen in der heutigen datengesteuerten Welt unerlässlich. OpenSearch, ein quelloffener Such- und Analyseschrittmotor, bietet solide Log-Aggregation- und Analysefähigkeiten. Indem es mit Fluent Bit, einem leichten Log-Forwarder, kombiniert wird, können Python-Logs effizient an OpenSearch gesendet werden, um in Echtzeit zu überwachen und zu analysieren. Diese Anleitung wird Ihnen Schritt für Schritt durch die Einrichtung dieser leistungsstarken Kombination führen.

Anwendungsfall

Diese Einrichtung profitiert Entwickler und Systemadministratoren, die Python-Anwendungen in Echtzeit überwachen müssen. Durch das Senden von Logs von Python-Anwendungen an OpenSearch, können Sie Logs analysieren, Dashboards erstellen, Alarme setzen und wertvolle Einblicke in die Leistung und das Verhalten Ihrer Anwendung erhalten. Dieser Ansatz ist skalierbar und geeignet für sowohl kleine Projekte als auch großscale Produktionsumgebungen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:

  1. Python installiert: Stellen Sie sicher, dass Python auf Ihrem Server oder lokalen Rechner installiert ist.
  2. OpenSearch-Cluster: Sie sollten Zugriff auf ein OpenSearch-Cluster haben. Sie können entweder ein neues Cluster erstellen oder ein bestehendes verwenden.
  3. Fluent Bit installiert: Fluent Bit sollte auf dem Server oder dem Rechner installiert sein, auf dem Ihre Python-Anwendung läuft.

Schritt 1 – Installieren von Python

Erstellen Sie zunächst Ihren Repository-Pfad und installieren Sie Python. Führen Sie die folgenden Befehle aus:

sudo apt update
sudo apt install python3

Um die Python-Installation zu verifizieren, führen Sie:

python3 --version

Schritt 2 – Einrichten der Python- Protokollierung

Richten Sie Ihre Python-Anwendung ein, um Nachrichten in einer Datei zu protokollieren. Hier ist ein grundlegender Einstellungsbeispiel:

import logging

# Protokollierung einrichten
logging.basicConfig(
    filename='app.log',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

# Beispiel für Protokollmeldung
logging.info('This is a test log message.')

Diese Konfiguration schreibt Protokollmeldungen in die Datei app.log mit einem Zeitstempel, Protokollierungsstufe und Nachrichtenformat.

Schritt 3 – Erstellen eines OpenSearch-Clusters

Wenn du keinen OpenSearch-Cluster hast, kannst du einen mit dem DigitalOcean-Befehlszeilenwerkzeug doctl erstellen. Führe den folgenden Befehl aus:

doctl databases create opensearch-doks --engine opensearch --region your-region --size db-s-1vcpu-2gb --num-nodes 1

Ersetze your-region mit deiner gewünschten Region. Alternativ kannst du den Cluster auch manuell über das DigitalOcean-Kontrollpanell erstellen. Weitere Informationen dazu findest du in diesem Leitfaden zu Erstellen von OpenSearch-Clustern über das Kontrollpanell.

Schritt 4 – Installieren von Fluent Bit

Um Fluent Bit zu installieren, verwende den folgenden Befehl:

curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh

Schritt 5 – Fluent Bit konfigurieren

Erstellen Sie eine Konfigurationsdatei namens fluent-bit.conf, um festzulegen, wie Fluent Bit Logs lesen und an OpenSearch weiterleiten soll. Hier ist ein Beispielkonfiguration:

[SERVICE]
    Flush         1
    Daemon        Off
    Log_Level     info

[INPUT]
    Name          tail
    Path          /path/to/your/log/file.log
    Tag           python_logs
    Refresh_Interval 5

[OUTPUT]
    Name          opensearch
    Match         python_logs
    Host          your-opensearch-host
    Port          25060
    HTTP_User     your-username
    HTTP_Passwd   your-password
    Index         your-index-name
    tls           On
    Suppress_Type_Name On
  • Pfad: Geben Sie den Pfad zu Ihrem app.log an.
  • Host: Ersetzen Sie mit Ihrem OpenSearch-Host.
  • HTTP_User: Ihr OpenSearch-Nutzername.
  • HTTP_Passwd: Ihr OpenSearch-Passwort.
  • Index: Der Name des Indizes, in dem die Logs gespeichert werden.

Schritt 6 – Fluent Bit ausführen

Führen Sie Fluent Bit mit der Konfigurationsdatei aus:

/opt/fluent-bit/bin/fluent-bit -c fluent-bit.conf

Schritt 7 – Logs in OpenSearch verifizieren

Um sicherzugehen, dass die Logs korrekt importiert werden, überprüfen Sie Ihren OpenSearch-Dashboard. Sie sollten die Logs sehen, die von Fluent Bit weitergeleitet wurden.

Schritt 8 – Ein Indexmuster in den OpenSearch-Dashboards erstellen

  1. Melden Sie sich mit Ihren Anmeldedaten bei OpenSearch Dashboards an.
  2. Erweitern Sie das Menü auf der linken Seite und klicken Sie auf Indexverwaltung unter Verwaltung.
  3. Klicken Sie im Indizes-Menü auf Index erstellen.
  4. Geben Sie den Indexnamen ein, konfigurieren Sie andere Einstellungen nach Bedarf und klicken Sie auf Erstellen.

Schlussfolgerung

Indem Sie diesen Schritten folgen, haben Sie ein System eingerichtet, um Python-Protokolle mit Fluent Bit an OpenSearch zu senden. Diese Einrichtung ermöglicht es Ihnen, Protokolle effizient zu verwalten und zu analysieren, um Anwendungen effektiv zu überwachen und aufrechtzuerhalten. Mit OpenSearch und Fluent Bit haben Sie eine leistungsstarke Lösung für die Echtzeit-Protokollanalyse und -überwachung, die den Anforderungen jeder Python-basierten Anwendung gerecht wird.

Source:
https://www.digitalocean.com/community/tutorials/send-python-logs-to-opensearch-using-fluentbit