Wie man Filebeat für nginx und ElasticSearch konfiguriert

Wie man Filebeat für nginx und ElasticSearch konfiguriert

  • Orchestrierung
5 Minuten Lesezeit Aktualisiert Jul 3, 2019

Auf einen Blick: Die Anweisungen zur Konfiguration von Filebeat, um nginx-Logs zu lesen und an ElasticSearch zu senden, sind detailliert beschrieben und betonen die Verwendung des JSON-Formats zur einfacheren Loganalyse. Wichtige Schritte umfassen die Einrichtung von Elastic Cloud, die Installation von Filebeat und die Konfiguration des nginx-Moduls.

  • Verwenden Sie das nginx-Modul von Filebeat für die automatische JSON-Konvertierung von Logs.
  • Befolgen Sie die spezifischen Einrichtungsanweisungen für die Konfiguration von Elastic Cloud und Filebeat.

Hier erklären wir, wie man ElasticSearch so einrichtet, dass es nginx-Webserver-Logs liest und in ElasticSearch schreibt. Wir verwenden dafür Filebeat. Filebeat hat ein nginx-Modul, das heißt, es ist vorprogrammiert, um jede Zeile der nginx-Webserver-Logs in das JSON-Format umzuwandeln, das das Format ist, das ElasticSearch benötigt. Die Nutzung von JSON ermöglicht es ElasticSearch leichter, solche Logs abzufragen und zu analysieren. Hinweis: Sie könnten auch ElasticSearch Logstash zu diesem Design hinzufügen, aber das zwischen FileBeat und Logstash setzen. Aber diese gängige Praxis scheint hier überflüssig zu sein. Wir werden in einem anderen Beitrag Anwendungsfälle besprechen, wenn Sie Logstash verwenden möchten. Was Sie benötigen

  • nginx-Webserver (oder einfach das unten gezeigte Beispiel herunterladen und in den entsprechenden Ordner legen)
  • Filebeat
  • Elastic Cloud-Konto (oder richte deinen eigenen Server ein)
  • Ubuntu (oder eine andere Linux-Distribution). Hier verwenden wir Ubuntu 16.04.

Elastic Cloud einrichten Du kannst deine eigene lokal installierte ElasticSearch-Instanz verwenden. Hier verwenden wir jedoch Elastic Cloud. Befolge die hier geschriebenen Anweisungen , um ElasticSearch in der Cloud einzurichten, falls du noch kein System hast. Merke dir die Cloud-ID, das Passwort, die Kibana-URL und die Elasticsearch-URL , da du sie unten benötigen wirst. Installiere nginx Wenn du noch keinen Webserver hast, kannst du Linux installieren oder einfach einige Beispiel-nginx-Dateien in den /var/log/nginx-Ordner herunterladen.

    sudo apt-get install nginx

Erstelle einige Daten Wenn dein Webserver nicht viele Daten hat, wechsele direkt zum nginx-Log, um mehr Log-Einträge zu erhalten, und lade diese beiden Logs herunter:

    sudo cd /var/log/nginx

sudo wget http://igm.univ-mlv.fr/~cherrier/download/L1/access.log

wget https://raw.githubusercontent.com/respondcreate/nginx-access-log-frequency/master/example-access.log

Installiere filebeat Lade filebeats herunter und installiere es dann:

    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.0.1-amd64.deb

sudo dpkg -i filebeat-7.0.1-amd64.deb

Aktivieren Sie nun das nginx filebeat-Modul.

    sudo filebeat modules enable nginx

Liste aktivierte Module auf, und du wirst sehen, dass nginx aufgeführt ist.

    sudo filebeat modules list

Enabled:
nginx

Disabled:
apache
auditd
elasticsearch

Füge die Cloud-IT sowie deine Benutzer-ID und dein Passwort zur Filebeat-Konfigurationsdatei hinzu. Das macht die Verbindung zur Instanz einfacher, da IP-Adressen und Ports nicht mehr angegeben werden müssen.

    sudo vi /etc/filebeat/filebeat.yml

cloud.id: 'xxxx'

cloud.auth: 'elastic:xxxxx'

Führe diesen Befehl aus, um nginx-Dashboards zu Kibana zu pushen. Es beginnt auch mit der Verarbeitung von Logs.

    sudo filebeat setup -e

Für nachfolgende Durchläufe von Filebeat läuft es so. Die Option -e gibt die Logs an stdout aus.

    sudo filebeat -e

Filebeat verarbeitet alle Logs in /var/log/nginx. Das können Sie überprüfen, indem Sie ElasticSearch nach den Indizes abfragen und die untenstehende URL für die URL für Ihre ES-Instanz ersetzen. Beachten Sie, dass wir die Option userid:password in der Variablen $pwd environment gespeichert haben.

    curl --user $pwd -X GET 'https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/_cat/indices?v'

Der Indexname wird eine Kombination aus dem Wort filebeat und dem heutigen Datum sein.

    green  open   filebeat-7.0.1-2019.06.12-000001 baiHMtkcSqO1SojJUW1mVg   1   1       8984            0      6.2mb          3.1mb

Kibana öffnen Wenn du Kibana noch nie benutzt hast, wird es dich auffordern, ein Indexmuster einzurichten. Wenn ja, gehe zum Verwaltungsbildschirm und füge eines hinzu.

Ein Indexmuster hinzuzufügen bedeutet einfach, wie viele Buchstaben bestehender Indizes du bei Abfragen zuordnen möchtest. Das heißt, wenn du filebeat* eingibst, liest es alle Indizes, die mit den Buchstaben filebeat beginnen. Wenn du das Datum hinzufügst, liest es die heutigen geparsten Logs. Natürlich ist das nicht nützlich, wenn du andere Arten von Logs als nginx analysierst. Das werden wir in einem anderen Beitrag veranschaulichen. Fang einfach an, die Buchstaben f-i-l-e einzutippen, dann zeigt es dir, welche ES-Dokumentindexe übereinstimmen:

KIbana wird fragen, welches Feld als Zeitstempel verwendet werden kann. Das dient dazu, eine Zeitreihenanalyse zu erstellen, was eigentlich der ganze Sinn der Zusammenstellung von Logs ist. Wähle vorerst @timestamp aus. Es wird von ES generiert. Du kannst das verwenden, wenn sonst nichts in den Daten selbst ist.

Jetzt kannst du vom Discover-Bildschirm (also oben links in der Navigationsleiste) Datensätze durchsuchen. Kibana fragt dich, welches Indexmuster du verwenden möchtest. Klicke auf einen Datensatz, um ihn zu erweitern. Der untenstehende Datensatz ist zu lang, um ihn vollständig zu sehen. Scrolle also nach oben und runter, um alles zu sehen.

Klicken Sie nun auf den Visualisierungsbildschirm und wählen Sie erneut aus der linken Navigationsleiste. Es gibt verschiedene nginx-Dashboards, die Filbeat bereits installiert hat. Das untenstehende zeigt Website-Aufrufe im Zeitverlauf.

Diese Visualisierung (auch Dashboard genannt) zeigt den Standort der Nutzer, die Ihre Webseite für den gewählten Zeitraum besucht haben.

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Orchestrierung

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.