GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie die Logstash Logfile Analytics-Software unter Ubuntu 20.04

ELK ist eine Kombination aus 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 Protokollverarbeitungspipeline, die Protokolle aus mehreren Quellen gleichzeitig transportiert, transformiert und dann an einen „Stash“ wie Elasticsearch sendet. Kibana wird verwendet, um Ihre Daten zu visualisieren, die Logstash in den Elasticsearch-Index indiziert hat

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

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Erforderliche Abhängigkeiten installieren

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

apt-get install openjdk-11-jdk -y

Überprüfen Sie nach der Installation die installierte Java-Version mit dem folgenden 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 als Nächstes andere 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.

Installieren und konfigurieren Sie Elasticsearch

Bevor Sie beginnen, 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 zuerst das Elastic-Repository mit dem folgenden 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 als Nächstes das Repository und installieren Sie Elasticsearch mit dem folgenden Befehl:

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

Bearbeiten Sie nach der Installation die Standardkonfigurationsdatei von Elasticsearch:

nano /etc/elasticsearch/elasticsearch.yml

Entkommentieren Sie und ändern Sie den 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

An diesem Punkt ist Elasticsearch installiert und überwacht Port 9200. Sie können jetzt 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"
}

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

Kibana installieren und konfigurieren

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

apt-get install kibana -y

Starten Sie nach der Installation von Kibana 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-Weboberfläche zuzugreifen. Führen Sie den folgenden Befehl aus, um den administrativen Kibana-Benutzer und das Kennwort zu erstellen, und speichern Sie sie in der Datei htpasswd.users.

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

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

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

Erstellen Sie als Nächstes eine Konfigurationsdatei für den virtuellen Nginx-Host, um 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 virtuelle Nginx-Hostdatei mit dem folgenden Befehl:

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

Starten Sie als Nächstes 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 von Kibana mit der URL http://kibana.example.com/status. Sie werden aufgefordert, den Benutzernamen und das Passwort wie unten gezeigt einzugeben:

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

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

Logstash installieren und konfigurieren

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

apt-get install logstash -y

Erstellen Sie nach der Installation von Logstash 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 mit dem folgenden Befehl eine Elasticsearch-Konfigurationsdatei:

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 schließen 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

Starten Sie als Nächstes den Logstash-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:

systemctl start logstash
systemctl enable logstash

An diesem Punkt ist Logstash in Ihrem System installiert. Sie können jetzt mit dem nächsten Schritt fortfahren.

Filebeat installieren und konfigurieren

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

Sie können Filebeat mit dem folgenden Befehl installieren:

apt-get install filebeat -y

Nach der Installation müssen Sie Filebeat konfigurieren, um eine Verbindung zu Logstash herzustellen. Sie können es 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"]

Entkommentieren Sie dann die 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 es Standardpfade für die Syslog- und Autorisierungsprotokolle verwendet.

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

filebeat setup --pipelines --modules system

Als nächstes laden Sie 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 Kibana-Beispiel-Dashboards geliefert, mit denen Sie Filebeat-Daten in Kibana visualisieren können. 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 ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:

systemctl start filebeat
systemctl enable filebeat

Zugriff auf das Kibana-Dashboard

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

Klicken Sie im linken Bereich auf Entdecken und wählen Sie das vordefinierte Filebeat-*-Indexmuster aus, um Filebeat-Daten auf dem folgenden Bildschirm anzuzeigen:

Jetzt bietet Kibana viele Funktionen. Fühlen Sie sich frei, sie nach Belieben zu erkunden.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben Logstash erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können jetzt Systemprotokolle von einem zentralen Ort aus sammeln und analysieren. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Ubuntu
  1. So installieren Sie Logstash unter Ubuntu 18.04

  2. So installieren Sie Graylog2 unter Ubuntu 14.04

  3. So installieren Sie Elasticsearch, Logstash und Kibana 4 auf Ubuntu 14.04 / 15.04

  4. So installieren Sie Graylog2 unter Ubuntu 15.04 / 14.10

  5. So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 20.04

So installieren Sie Graylog 3.0 unter Ubuntu 18.04 / Ubuntu 16.04

So installieren Sie Elasticsearch, Logstash und Kibana (ELK Stack) unter Ubuntu 18.04 / Ubuntu 16.04

So installieren Sie Thunderbird unter Ubuntu 20.04

So installieren Sie Software über Flatpak auf Ubuntu

So installieren Sie die Software Flarum Forum unter Ubuntu 22.04 | 20.04

So installieren Sie Graylog unter Ubuntu 18.04 LTS