Wie installiert man die Logstash Logfile-Analyse-Software unter Ubuntu 20.04

ELK ist eine Kombination aus den drei Open-Source-Produkten ElasticSearch, Logstash und Kibana. Es ist eine der beliebtesten Log-Management-Plattformen weltweit. Elasticsearch ist eine Such- und Analysemaschine. Logstash ist eine Pipeline zur Verarbeitung von Protokollen, die Protokolle aus mehreren Quellen gleichzeitig transportiert, transformiert und dann an ein „Versteck“ wie Elasticsearch sendet. Kibana wird verwendet, um Ihre Daten zu visualisieren, die Logstash in den Elasticsearch-Index indiziert hat.

In diesem Tutorial werden wir erklären, wie man Logstash unter Ubuntu 20.04 installiert.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Erforderliche Abhängigkeiten installieren

Um Elasticsearch zu installieren, müssen Sie Java in Ihrem System installieren. Sie können das Java JDK mit dem folgenden Befehl installieren:

apt-get install openjdk-11-jdk -y

Nach der Installation überprüfen Sie die installierte Version von Java mit folgendem Befehl:

java -version

Sie sollten die folgende Ausgabe sehen:

openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Installieren Sie anschließend weitere erforderliche Abhängigkeiten, indem Sie den folgenden Befehl ausführen:

apt-get install nginx curl gnupg2 wget -y

Sobald alle Abhängigkeiten installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Elastische Suche installieren und konfigurieren

Bevor Sie beginnen können, müssen Sie Elasticsearch in Ihrem System installieren. Es speichert Protokolle und Ereignisse von Logstash und bietet die Möglichkeit, die Protokolle in Echtzeit zu durchsuchen.

Fügen Sie zunächst das Elastic-Repository mit folgendem Befehl zu Ihrem System hinzu:

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

Aktualisieren Sie dann das Repository und installieren Sie Elasticsearch mit dem folgenden Befehl:

apt-get update -y
apt-get install elasticsearch -y

Sobald es installiert ist, bearbeiten Sie die Elasticsearch-Standardkonfigurationsdatei:

nano /etc/elasticsearch/elasticsearch.yml

Kommentieren Sie die Daten aus und ändern Sie ihren Wert wie unten gezeigt:

network.host: localhost  

Speichern und schließen Sie die Datei, starten Sie dann den Elasticsearch-Dienst und aktivieren Sie ihn beim Booten mit dem folgenden Befehl:

systemctl start elasticsearch
systemctl enable elasticsearch

Zu diesem Zeitpunkt ist Elasticsearch installiert und lauscht auf Port 9200. Sie können nun testen, ob Elasticsearch funktioniert oder nicht, indem Sie den folgenden Befehl ausführen:

curl -X GET "localhost:9200"

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe sehen:

{
  "name" : "ubuntu2004",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AVRzLjAbQTK-ayYQc0GaMA",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Kibana

Als nächstes müssen Sie Kibana in Ihrem System installieren. Mit Kibana können Sie die auf Elasticsearch gespeicherten Daten analysieren. Sie können es installieren, indem Sie einfach den folgenden Befehl ausführen:

apt-get install kibana -y

Sobald Kibana installiert ist, starten Sie den Kibana-Dienst und aktivieren Sie ihn beim Booten mit dem folgenden Befehl:

systemctl start kibana
systemctl enable kibana

Als nächstes müssen Sie einen administrativen Benutzer für Kibana erstellen, um auf die Kibana-Webschnittstelle zugreifen zu können. Führen Sie den folgenden Befehl aus, um den administrativen Kibana-Benutzer und das Passwort zu erstellen und in der Datei htpasswd.users zu speichern.

echo "admin:`openssl passwd -apr1`" | tee -a /etc/nginx/htpasswd.users

Sie werden aufgefordert, ein Passwort einzugeben, wie in der folgenden Ausgabe gezeigt:

Password: 
Verifying - Password: 
admin:$apr1$8d05.YO1$E0Q8QjfNxxxPtD.unmDs7/

Als Nächstes erstellen Sie eine Nginx-Konfigurationsdatei für den virtuellen Host, um den Kibana zu bedienen:

nano /etc/nginx/sites-available/kibana

Fügen Sie die folgenden Zeilen hinzu:

server {
    listen 80;

    server_name kibana.example.com;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.users;

    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Speichern und schließen Sie die Datei und aktivieren Sie dann die Datei des virtuellen Nginx-Hosts mit dem folgenden Befehl:

ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/

Starten Sie anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Öffnen Sie als nächstes Ihren Webbrowser und überprüfen Sie den Status des Kibana unter der URL http://kibana.example.com/status. Sie werden aufgefordert, Benutzername und Passwort wie unten gezeigt einzugeben:

Kibana-Anmeldung

Geben Sie Ihren Kibana-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten den folgenden Bildschirm sehen:

Kibana-Status

Zu diesem Zeitpunkt ist das Kibana-Dashboard in Ihrem System installiert. Sie können nun mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Logstash

Logstash wird für die Verarbeitung von Protokollen verwendet, die durch Beats gesendet werden. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

apt-get install logstash -y

Sobald Logstash installiert ist, erstellen Sie eine neue Beat-Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/logstash/conf.d/02-beats-input.conf

Fügen Sie die folgenden Zeilen hinzu:

input {
  beats {
    port => 5044
  }
}

Speichern und schließen Sie die Datei und erstellen Sie dann eine Elasticsearch-Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/logstash/conf.d/30-elasticsearch-output.conf

Fügen Sie die folgenden Zeilen hinzu:

output {
  if [@metadata][pipeline] {
    elasticsearch {
    hosts => ["localhost:9200"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    pipeline => "%{[@metadata][pipeline]}"
    }
  } else {
    elasticsearch {
    hosts => ["localhost:9200"]
    manage_template => false
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    }
  }
}

Speichern und schliessen Sie die Datei und überprüfen Sie dann Ihre Logstash-Konfiguration mit diesem Befehl:

sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe sehen:

Config Validation Result: OK. Exiting Logstash

Als nächstes starten Sie den Logstash-Dienst und aktivieren ihn beim Booten mit dem folgenden Befehl:

systemctl start logstash
systemctl enable logstash

Zu diesem Zeitpunkt ist Logstash in Ihrem System installiert. Sie können nun mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Filebeat

Der ELK-Stack verwendet Filebeat, um Daten aus verschiedenen Quellen zu sammeln und sie nach Logstash zu transportieren.

Sie können Filebeat mit dem folgenden Befehl installieren:

apt-get install filebeat -y

Nach der Installation müssen Sie Filebeat für die Verbindung mit Logstash konfigurieren. Sie können ihn mit dem folgenden Befehl konfigurieren:

nano /etc/filebeat/filebeat.yml

Kommentieren Sie die folgenden Zeilen aus:

#output.elasticsearch:
  # Array of hosts to connect to.
#  hosts: ["localhost:9200"]

Entfernen Sie dann die Kommentarzeichen in den folgenden Zeilen:

output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]

Speichern und schließen Sie die Datei und aktivieren Sie dann das Systemmodul mit dem folgenden Befehl:

filebeat modules enable system

Standardmäßig ist Filebeat so konfiguriert, dass Standard-Pfade für das Syslog und die Autorisierungsprotokolle verwendet werden.

Sie können die Ingest-Pipeline für das Systemmodul mit dem folgenden Befehl laden:

filebeat setup --pipelines --modules system

Laden Sie dann die Vorlage mit dem folgenden Befehl:

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

Sie sollten die folgende Ausgabe sehen:

Index setup finished.

Standardmäßig wird Filebeat mit Beispiel-Kibana-Dashboards geliefert, die es Ihnen ermöglichen, Filebeat-Daten in Kibana zu visualisieren. Sie müssen also die Logstash-Ausgabe deaktivieren und die Elasticsearch-Ausgabe aktivieren. Sie können dies mit dem folgenden Befehl tun:

filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601

Sie sollten die folgende Ausgabe sehen:

Overwriting ILM policy is disabled. Set `setup.ilm.overwrite:true` for enabling.

Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead.
See more: https://www.elastic.co/guide/en/elastic-stack-overview/current/xpack-ml.html
Loaded machine learning job configurations
Loaded Ingest pipelines

Starten Sie nun den Filebeat-Dienst und aktivieren Sie ihn beim Booten mit folgendem Befehl:

systemctl start filebeat
systemctl enable filebeat

Zugriff auf Kibana Dashboard

Zu diesem Zeitpunkt sind alle Komponenten von ELK installiert und konfiguriert. Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://kibana.example.com ein. Auf dem folgenden Bildschirm sollten Sie das Kibana-Dashboard sehen:

Kibana-Armaturenbrett

Klicken Sie im linken Fensterbereich auf die Schaltfläche Discover und wählen Sie das vordefinierte Filebeat-*-Indexmuster aus, um die Filebeat-Daten auf dem folgenden Bildschirm zu sehen:

Filebeat-Daten-Bericht

Nun bietet Kibana eine Menge Funktionen. Fühlen Sie sich frei, sie zu erkunden, wie Sie möchten.

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Logstash erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können nun Systemprotokolle von einem zentralen Ort aus sammeln und analysieren. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …