Einrichtung von Filebeat und Logstash in DevOps
Wenn eine Anwendung Protokolle generiert, ist es wichtig, diese zu sammeln, zu verarbeiten und zu analysieren. Im DevOps-Bereich wird hierfür häufig der ELK-Stack (Elasticsearch, Logstash, Kibana) zusammen mit Filebeat verwendet. Filebeat liest Protokolle von Ihrem Server, Logstash verarbeitet und filtert die Daten, und Elasticsearch speichert sie zur weiteren Analyse.
Sie lernen, wie Sie Filebeat und Logstash so konfigurieren, dass sie mit unserer Flask-Anwendung zusammenarbeiten, sodass alle Benutzerereignisse ordnungsgemäß erfasst und an den ELK-Stack gesendet werden.
Funktionsweise
Filebeat fungiert als Agent auf dem Server, auf dem Ihre Anwendung läuft. Es überwacht Protokolldateien und sendet neue Einträge an Logstash. Logstash empfängt die Protokolle, verarbeitet sie – beispielsweise durch das Parsen von JSON-Strukturen – und leitet sie dann an Elasticsearch weiter. Elasticsearch speichert und organisiert die Daten, sodass Sie diese in Kibana einfach durchsuchen, analysieren und visualisieren können.
In unserem Beispiel überwacht Filebeat die von der Flask-Anwendung generierte app.log-Datei. Logstash verarbeitet diese Protokolle und sendet sie an Elasticsearch. Elasticsearch erstellt für jeden Tag einen separaten Index mit dem Namen flask-logs-YYYY.MM.DD. Diese täglichen Indizes helfen Ihnen, die Protokolle nach Datum zu organisieren, sodass Sie Ereignisse leichter suchen, Trends analysieren oder Probleme eines bestimmten Tages beheben können, ohne alle Protokolle durchsuchen zu müssen.
Konfiguration von Filebeat
Erstellen Sie zunächst eine Konfigurationsdatei für Filebeat. Stellen Sie sicher, dass Sie sich im Ordner elk-demo befinden, den Sie zuvor erstellt haben. Führen Sie dann den folgenden Befehl aus, um die Filebeat-Konfigurationsdatei zu erstellen und zu öffnen:
Dies öffnet den Editor, in den die Filebeat-Konfiguration eingefügt werden kann.
Nach dem Einfügen die Datei mit Ctrl + O speichern, mit Enter bestätigen und mit Ctrl + X beenden.
Im Editor die folgende Konfiguration einfügen:
filebeat.yml
Diese Konfiguration weist Filebeat an, die Datei /logs/app.log zu überwachen. Jeder neue Logeintrag wird an Logstash gesendet, das auf Port 5044 lauscht. Dadurch wird sichergestellt, dass alle Ereignisse der Anwendung automatisch zur Verarbeitung und Indexierung weitergeleitet werden.
Logstash konfigurieren
Erstellen Sie als Nächstes eine Konfigurationsdatei für Logstash. Stellen Sie sicher, dass Sie sich im zuvor erstellten Ordner elk-demo befinden. Führen Sie dann den folgenden Befehl aus, um die Logstash-Konfigurationsdatei zu erstellen und zu öffnen:
Dadurch wird der Editor geöffnet, in den Sie die Logstash-Konfiguration einfügen können. Fügen Sie die folgende Konfiguration in die Datei ein:
logstash.conf
Mit diesen Konfigurationen sind Filebeat und Logstash bereit, zusammenzuarbeiten. Filebeat überwacht die Anwendungsprotokolle, Logstash filtert und verarbeitet sie, und Elasticsearch speichert und indiziert die Daten, sodass sie für Analyse und Visualisierung in Kibana bereitstehen.
1. Was ist die Hauptaufgabe von Filebeat im ELK-Stack?
2. Warum erstellt Logstash für jeden Tag einen separaten Index in Elasticsearch?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 3.7
Einrichtung von Filebeat und Logstash in DevOps
Swipe um das Menü anzuzeigen
Wenn eine Anwendung Protokolle generiert, ist es wichtig, diese zu sammeln, zu verarbeiten und zu analysieren. Im DevOps-Bereich wird hierfür häufig der ELK-Stack (Elasticsearch, Logstash, Kibana) zusammen mit Filebeat verwendet. Filebeat liest Protokolle von Ihrem Server, Logstash verarbeitet und filtert die Daten, und Elasticsearch speichert sie zur weiteren Analyse.
Sie lernen, wie Sie Filebeat und Logstash so konfigurieren, dass sie mit unserer Flask-Anwendung zusammenarbeiten, sodass alle Benutzerereignisse ordnungsgemäß erfasst und an den ELK-Stack gesendet werden.
Funktionsweise
Filebeat fungiert als Agent auf dem Server, auf dem Ihre Anwendung läuft. Es überwacht Protokolldateien und sendet neue Einträge an Logstash. Logstash empfängt die Protokolle, verarbeitet sie – beispielsweise durch das Parsen von JSON-Strukturen – und leitet sie dann an Elasticsearch weiter. Elasticsearch speichert und organisiert die Daten, sodass Sie diese in Kibana einfach durchsuchen, analysieren und visualisieren können.
In unserem Beispiel überwacht Filebeat die von der Flask-Anwendung generierte app.log-Datei. Logstash verarbeitet diese Protokolle und sendet sie an Elasticsearch. Elasticsearch erstellt für jeden Tag einen separaten Index mit dem Namen flask-logs-YYYY.MM.DD. Diese täglichen Indizes helfen Ihnen, die Protokolle nach Datum zu organisieren, sodass Sie Ereignisse leichter suchen, Trends analysieren oder Probleme eines bestimmten Tages beheben können, ohne alle Protokolle durchsuchen zu müssen.
Konfiguration von Filebeat
Erstellen Sie zunächst eine Konfigurationsdatei für Filebeat. Stellen Sie sicher, dass Sie sich im Ordner elk-demo befinden, den Sie zuvor erstellt haben. Führen Sie dann den folgenden Befehl aus, um die Filebeat-Konfigurationsdatei zu erstellen und zu öffnen:
Dies öffnet den Editor, in den die Filebeat-Konfiguration eingefügt werden kann.
Nach dem Einfügen die Datei mit Ctrl + O speichern, mit Enter bestätigen und mit Ctrl + X beenden.
Im Editor die folgende Konfiguration einfügen:
filebeat.yml
Diese Konfiguration weist Filebeat an, die Datei /logs/app.log zu überwachen. Jeder neue Logeintrag wird an Logstash gesendet, das auf Port 5044 lauscht. Dadurch wird sichergestellt, dass alle Ereignisse der Anwendung automatisch zur Verarbeitung und Indexierung weitergeleitet werden.
Logstash konfigurieren
Erstellen Sie als Nächstes eine Konfigurationsdatei für Logstash. Stellen Sie sicher, dass Sie sich im zuvor erstellten Ordner elk-demo befinden. Führen Sie dann den folgenden Befehl aus, um die Logstash-Konfigurationsdatei zu erstellen und zu öffnen:
Dadurch wird der Editor geöffnet, in den Sie die Logstash-Konfiguration einfügen können. Fügen Sie die folgende Konfiguration in die Datei ein:
logstash.conf
Mit diesen Konfigurationen sind Filebeat und Logstash bereit, zusammenzuarbeiten. Filebeat überwacht die Anwendungsprotokolle, Logstash filtert und verarbeitet sie, und Elasticsearch speichert und indiziert die Daten, sodass sie für Analyse und Visualisierung in Kibana bereitstehen.
1. Was ist die Hauptaufgabe von Filebeat im ELK-Stack?
2. Warum erstellt Logstash für jeden Tag einen separaten Index in Elasticsearch?
Danke für Ihr Feedback!