Filebeat mit Elasticsearch 8.x – Teil 1: Installieren und Sichern

Veröffentlicht am 2023-01-04

« Alle Vorträge ansehen Kontaktieren Sie uns
Filebeat with Elasticsearch 8.x - Part 1: Install & Secure

Einführung

Code auf Github: Elasticsearch und Beats

Wir werden einrichten Filebeat mit Elasticsearch und Kibana. Wenn Sie Elasticsearch und Kibana noch nicht eingerichtet haben, dann Befolgen Sie diese Anweisungen.

Dieses Video setzt voraus, dass Sie Öffentlich signierte Zertifikate. Wenn Sie Selbstsignierte Zertifikate, hier klicken Wird noch bekannt gegeben.

Anforderungen

A Running instance of Elasticsearch and Kibana.

Eine Instanz eines anderen Ubuntu 20.04-Servers, auf dem ein beliebiger Dienst ausgeführt wird.

Schritte

Schritt 1 - Filebeat herunterladen [01:10]

Führen Sie auf der Ubuntu-Maschine, auf der Filebeat ausgeführt wird, diese Befehle aus, um Abhängigkeiten herunterzuladen:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg; echo 'deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main' | sudo tee /etc/apt/sources.list.d/elastic-8.x.list; apt-get install -y apt-transport-https; apt-get install -y filebeat;

Schritt 2 - Filebeat konfigurieren [02:20]

Bearbeiten Sie diese Felder für die /etc/filebeat.yml

filebeat.inputs: ...etc... - type: filestream ...etc... enabled: true ...etc... filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: true # 10s reload for demonstration purposes reload.period: 10s setup.kibana: host: "https://<kibana-domain>:<kibana-port>" output.elasticsearch: hosts: ["<elasticsearch-domain>:<elasticsearch-port>"] protocol: "https" username: "elastic" password: "<your elastic password>"

Die fertige Datei filebeat.yml finden Sie hier.

WICHTIG: Wir verwenden den Elastic-Superuser für die Ersteinrichtung und Konfiguration. Wir werden die Berechtigungen später herabstufen.

Testen Sie dann Ihre Konfiguration mit diesen Befehlen:

/usr/share/filebeat/bin/filebeat test config -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat /usr/share/filebeat/bin/filebeat test output -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

Bestätigen Sie, dass Sie Erfolgsmeldungen erhalten.

Schritt 3 - Filebeat einrichten [11:12]

Führen Sie nun diesen Befehl aus, um Filebeat-Datenströme und -Ansichten in Elasticsearch und Kibana einzurichten:

/usr/share/filebeat/bin/filebeat setup -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

Sobald der Befehl abgeschlossen ist, gehen Sie zu Kibana Speisekarte und besuchen Armaturenbrett um viele vorgefertigte Dashboards anzuzeigen.

Schritt 4 - Einen veröffentlichenden Benutzer erstellen [12:58]

Rolle erstellen

Gehen Sie in Kibana zu Stapelverwaltung > Rollen > Rolle erstellen. Füllen Sie dann diese Felder aus:

Role name: filebeat-publisher Cluster privileges: monitor read_ilm read_pipeline Indices: filebeat-* Privileges: create_doc

Benutzer erstellen

Gehen Sie in Kibana zu Stapelverwaltung > Benutzer > Benutzer erstellen. Füllen Sie dann diese Felder aus:

Username: filebeat-publisher Full name: filebeat-publisher Email address: anything@anything.com Password: anything Roles: filebeat-publisher editor

API-Schlüssel für Benutzer erstellen

Gehen Sie in Kibana zu Entwicklertools > Konsole. Führen Sie dann diesen Befehl aus:

POST /_security/api_key/grant { "grant_type": "password", "username": "filebeat-publisher", "password": "anything", "api_key": { "name": "filebeat-publisher" } }

Dies sollte zu einem Ergebnis wie diesem führen:

Filebeat user token Filebeat-Benutzertoken

Tippfehler: der Name metric sollte zeigen filebeat-publisher stattdessen

Bearbeiten Sie die /etc/filebeat/filebeat.yml durch Auskommentieren der elastic Benutzername und Passwort und die Aktivierung der api_key ungefähr so:

output.elasticsearch: ...etc... api_key: "${ES_API_KEY}" #username: "elastic" #password: "" ...etc...

Wir verwenden den Filebeat-Keystore, um Geheimnisse für die Laufzeit zu laden. Führen Sie nun diesen Befehl aus, um Folgendes festzulegen:ES_API_KEY Schlüsselspeichervariable:

/usr/share/filebeat/bin/filebeat keystore add ES_API_KEY -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

Presse eingeben und wenn Sie dazu aufgefordert werden, fügen Sie <id>:<api_key> wo die <id> und die <api_key> sind die Werte aus der Benutzertoken-Antwort, die Sie zuvor erhalten haben.

Schritt 5 – Filebeat ausführen [19:00]

systemctl enable filebeat; systemctl start filebeat;

In Kürze sollten Sie in Kibana Ergebnisse sehen, entweder Entdecken, Beobachtbarkeit, Stapelverwaltung > Indexverwaltung > Datenstrom, Dashboard > Wählen Sie ein Filebeat-Dashboard aus.

Schritt 6 - Andere Protokollmodule aktivieren [22:30]

An diesem Punkt gibt es nicht allzu viele interessante Protokolle zu überprüfen. Wir können zum Filebeat-Server zurückkehren, gehen Sie zu /etc/filebeat/modules.d Verzeichnis und benennen Sie die entsprechenden *.yml.disabled Zu *.yml Datei, um Filebeat anzuweisen, Daten an Elasticsearch zu senden. Für einige dieser Dienste müssen Sie möglicherweise die enabled: true Option zum *.yml Datei und geben Sie die entsprechenden Verbindungs- und Konfigurationsdetails ein.