Website-Suche

Wie man Python-Protokolle mit Fluent Bit an OpenSearch sendet


Einführung

Eine effektive Protokollverwaltung ist unerlässlich, um Anwendungen in der heutigen datengesteuerten Welt zu überwachen und zu warten. OpenSearch, eine Open-Source-Such- und Analyseengine, bietet robuste Protokollaggregations- und Analysefähigkeiten. Durch die Kombination mit Fluent Bit, einem leichtgewichtigen Protokoll-Forwarder, können wir Python-Protokolle effizient an OpenSearch für die Echtzeitüberwachung und -analyse senden. Diese Anleitung führt Sie durch die Einrichtung dieser leistungsstarken Kombination.

Anwendungsfall

Dieses Setup kommt Entwicklern und Systemadministratoren zugute, die Python-Anwendungen in Echtzeit überwachen müssen. Durch das Senden von Protokollen aus Python-Anwendungen an OpenSearch können Sie Protokolle analysieren, Dashboards erstellen, Alarme setzen und wertvolle Einblicke in die Leistung und das Verhalten Ihrer Anwendung gewinnen. Dieser Ansatz ist skalierbar und sowohl für kleine Projekte als auch für groß angelegte Produktionsumgebungen geeignet.

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 vorhandenes verwenden.
  3. Fluent Bit installiert: Fluent Bit sollte auf dem Server oder der Maschine installiert sein, auf der Ihre Python-Anwendung läuft.

Schritt 1 - Installieren Sie Python

Zuerst aktualisieren Sie Ihr Repository und installieren Python. Führen Sie die folgenden Befehle aus:

sudo apt update
sudo apt install python3

Um die Python-Installation zu überprüfen, führen Sie aus:

python3 --version

Schritt 2 - Python-Protokollierung einrichten

Konfigurieren Sie Ihre Python-Anwendung so, dass sie Nachrichten in eine Datei protokolliert. Hier ist eine grundlegende Einrichtung:

import logging

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

Sample log message
logging.info('This is a test log message.')

Diese Konfiguration schreibt Protokollnachrichten in app.log mit einem Zeitstempel, Log-Level und Nachrichtenformat.

Schritt 3 - OpenSearch-Cluster erstellen

Wenn Sie kein OpenSearch-Cluster haben, können Sie eines mit dem Befehlszeilenwerkzeug doctl von DigitalOcean erstellen. Führen Sie den folgenden Befehl aus:

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

Ersetzen Sie your-region durch Ihre gewünschte Region. Alternativ können Sie das DigitalOcean-Dashboard verwenden, um einen Cluster manuell zu erstellen. Für Details dazu beziehen Sie sich auf diesen Leitfaden zum Erstellen von OpenSearch-Clustern über das Dashboard.

Schritt 4 - Installieren Sie Fluent Bit

Um Fluent Bit zu installieren, verwenden Sie den folgenden Befehl:

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

Schritt 5 - Konfigurieren von Fluent Bit

Erstellen Sie eine Konfigurationsdatei mit dem Namen fluent-bit.conf, um zu definieren, wie Fluent Bit Protokolle lesen und an OpenSearch weiterleiten soll. Hier ist ein Beispiel für eine Konfiguration:

[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 Ihrer app.log an.
  • Host: Ersetzen Sie dies mit Ihrem OpenSearch-Host.
  • HTTP_User: Ihr OpenSearch-Benutzername.
  • HTTP_Passwd: Ihr OpenSearch-Passwort.
  • Index: Der Name des Index, in dem die Protokolle gespeichert werden.

Schritt 6 - Führen Sie Fluent Bit aus

Führen Sie Fluent Bit mit der Konfigurationsdatei aus:

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

Schritt 7 - Protokolle in OpenSearch überprüfen

Um sicherzustellen, dass die Protokolle korrekt erfasst werden, überprüfen Sie Ihr OpenSearch-Dashboard. Sie sollten sehen, dass die Protokolle von Fluent Bit weitergeleitet werden.

Schritt 8 - Erstellen Sie ein Indexmuster in OpenSearch Dashboards

  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 Menü Indizes auf Index erstellen.
  4. Geben Sie den Indexnamen ein, konfigurieren Sie andere Einstellungen nach Bedarf und klicken Sie auf Erstellen.

Schlussfolgerung

Indem Sie diese Schritte befolgt haben, 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, was Ihnen hilft, Ihre Anwendungen effektiv zu warten und zu überwachen. Mit OpenSearch und Fluent Bit haben Sie eine leistungsstarke Lösung für die Echtzeit-Protokollanalyse und -überwachung, die auf die Bedürfnisse jeder auf Python basierenden Anwendung zugeschnitten ist.