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:
- Python installiert: Stellen Sie sicher, dass Python auf Ihrem Server oder lokalen Rechner installiert ist.
- OpenSearch-Cluster: Sie sollten Zugriff auf ein OpenSearch-Cluster haben. Sie können entweder ein neues Cluster erstellen oder ein vorhandenes verwenden.
- 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.logan. - 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
- Melden Sie sich mit Ihren Anmeldedaten bei OpenSearch Dashboards an.
- Erweitern Sie das Menü auf der linken Seite und klicken Sie auf Indexverwaltung unter Verwaltung.
- Klicken Sie im Menü Indizes auf Index erstellen.
- 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.
