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

So installieren Sie ELK Stack auf Ubuntu 18.04

ELK Stack ist die weltweit beliebteste Log-Management-Plattform. Es ist eine Sammlung von Open-Source-Produkten, darunter Elasticsearch, Logstash und Kibana. Alle diese 3 Produkte werden von Elastic entwickelt, verwaltet und gewartet.

ELK Stack ist eine leistungsstarke Open-Source-Plattform, die eine riesige Menge an protokollierten Daten verwalten kann. Das Eingabeprotokoll stammt im Allgemeinen von einer grafischen Webschnittstelle (GUI).

  • Elasticsearch ist eine JSON-basierte Such- und Analysemaschine, die für horizontale Skalierbarkeit und einfachere Verwaltung vorgesehen ist.
  • Logstash ist eine serverseitige Datenverarbeitungsschnittstelle, die Daten aus mehreren Quellen gleichzeitig sammeln kann. Es transformiert es dann und sendet die Daten dann an Ihren gewünschten Stash. Es ist eine Open-Source-Anwendung.
  • Kibana wird verwendet, um Ihre Daten zu visualisieren und im Elastic Stack zu navigieren. Es ist auch ein Open-Source-Tool.

Installieren und konfigurieren Sie ELK Stack auf Ubuntu

In diesem Tutorial verwenden wir filebeat Protokolldaten an Logstash zu senden. Beats sind leichtgewichtige Datenversender und zunächst sollten wir den Agenten auf Servern installieren müssen.

Schritt 1) ​​Installieren von Java 8

ElasticSearch unterstützt Java 8 und 9, aber das Problem ist, dass Logstash nur mit Java 8 kompatibel ist. Java 9 wird noch nicht unterstützt. Daher werden wir Oracle Java 8 installieren.

Starten Sie das Terminal und fügen Sie das Oracle Java 8-Repository hinzu, gefolgt von einem Systemupdate und der eigentlichen Installation.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-set-default

Achten Sie auf das Terminal. Sie müssen den Lizenzvertragsfenstern zustimmen und "Ja" auswählen, um fortzufahren. Nachdem die Installation abgeschlossen ist, können Sie die Java-Version mit den folgenden Befehlen überprüfen:

.sudo java -version
sudo echo $JAVA_HOME

Schritt 2) Elasticsearch installieren und konfigurieren

Beginnen wir mit wget Befehl zum Herunterladen von Elasticsearch, gefolgt vom öffentlichen Signaturschlüssel:

sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Zweitens installieren Sie das Paket apt-transport-https (Debian-basierte Distributionen benötigen dies).

sudo apt-get install apt-transport-https

Repository hinzufügen:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Aktualisieren Sie die Repo-Liste und installieren Sie das Paket:

sudo apt-get update
sudo apt-get install elasticsearch

Lassen Sie uns die Datei „elasticsearch.yml“ ändern:

sudo vim /etc/elasticsearch/elasticsearch.yml

Entkommentieren Sie „network.host“ und „http.port“. Folgende Konfiguration sollte hinzugefügt werden:

network.host: localhost
http.port: 9200

Als nächstes speichern und schließen Sie die Datei.

Um sicherzustellen, dass ElasticSearch reibungslos funktioniert, aktivieren Sie es beim Booten und starten Sie ElasticSearch.

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Installation prüfen:

sudo curl -XGET 'localhost:9200/?pretty'

Schritt 3) Kibana installieren

Beginnen wir jetzt mit der Installation von Kibana und ändern die Kibana-Einstellungen:

sudo apt-get install kibana
sudo vim /etc/kibana/kibana.yml

Entkommentieren Sie folgende Zeilen:

server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"

Speichern und beenden Sie die Datei.

Aktivieren Sie es beim Booten und starten Sie den Kibana-Dienst:

sudo systemctl enable kibana.service
sudo systemctl start kibana.service

Schritt 4) Konfigurieren von Nginx als Reverse Proxy für Kibana

Lassen Sie uns in den ähnlichen Zeilen Nginx installieren, konfigurieren und den Dienst starten. Verwenden Sie die folgenden Befehle nacheinander:

sudo apt-get install nginx apache2-utils

Virtuellen Host konfigurieren:

sudo vim /etc/nginx/sites-available/elk

Fügen Sie der Datei die folgende Konfiguration hinzu:

 server {
    listen 80;
 
    server_name elk.fosslinux.com;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.elkusersecret;
 
    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;
    }
}

Erstellen Sie eine Benutzer- und Kennwortdatei für die Webbrowser-Authentifizierung:

sudo htpasswd -c /etc/nginx/.elkusersecret elkusr

Passwort eingeben und wiederholen. Überprüfen Sie die Nginx-Konfigurationen:

sudo nginx -t

Aktivieren Sie Nginx beim Systemstart und starten Sie den Dienst neu:

sudo systemctl enable nginx.service
sudo systemctl restart nginx.service

Schritt 5) Logstash installieren und konfigurieren

Logstash installieren:

sudo apt-get install logstash

Hier generieren wir einen SSL-Zertifikatschlüssel, um die Protokollübertragung vom File Beat-Client zu sichern. Ändern Sie die „hosts“-Datei, bevor Sie das SSL-Zertifikat erstellen.

sudo vim /etc/hosts

Fügen Sie der Datei die folgende Zeile hinzu. Stellen Sie sicher, dass Sie die IP und den Servernamen auf Ihre ändern.

172.31.31.158 elk-server elk-server

Wenn Sie fertig sind, speichern und beenden Sie die Datei.

Wechseln Sie nun in das Verzeichnis Logstash.

sudo cd /etc/logstash/

Erstellen Sie einen Ordner für SSL:

sudo mkdir ssl

SSL-Zertifikat generieren. Ändern Sie im folgenden Befehl elk-server in Ihren Servernamen.

sudo openssl req -subj '/CN=elk-server/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt

Erstellen Sie folgende Dateien in „/etc/logstash/conf.d“.

sudo cd /etc/logstash/conf.d/

Erstellen Sie eine Filebeat-Eingabedatei mit vim.

sudo vim filebeat-input.conf

Fügen Sie die folgenden Zeilen hinzu.

input {
  beats {
    port => 5443
    type => syslog
    ssl => true
    ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
    ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
  }
}

Speichern und schließen Sie die Datei und erstellen Sie eine neue Konfigurationsdatei.

sudo vim syslog-filter.conf

Fügen Sie den folgenden Inhalt hinzu.

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Speichern und beenden Sie die Datei. Erstellen Sie elastische Suche Ausgabedatei.

sudo vim output-elasticsearch.conf

Fügen Sie die folgenden Zeilen hinzu.

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

Lassen Sie uns Logstash beim Booten aktivieren und den Dienst starten:

sudo systemctl enable logstash.service
sudo systemctl start logstash.service

Schritt 6) Installation und Konfiguration von Filebeat auf Client-Servern

Beginnen Sie mit der Bearbeitung der Hosts Datei zum Hinzufügen von Elk-Host-Einträgen. Stellen Sie sicher, IP und Namen durch Ihre zu ersetzen.

sudo vim /etc/hosts
172.31.31.158 elk-server

Speichern und beenden Sie die Datei.

Laden Sie den öffentlichen Signaturschlüssel herunter und installieren Sie ihn:

sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Installieren Sie "apt-transport-https" und fügen Sie das Repo hinzu.

sudo apt-get install apt-transport-https
sudo echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Repo aktualisieren und Filebeat installieren.

sudo apt-get update
sudo apt-get install filebeat

Filebeat-Konfigurationen ändern.

sudo vim /etc/filebeat/filebeat.yml

Suchen Sie die folgende Zeile und ändern Sie den Wert auf „true“.

enabled: true

Hier ändern wir den Protokollpfad und Filebeat nicht leitet alle Protokolle im Ordner „var/log“ weiter

  paths:
    - /var/log/*.log

Entkommentieren Sie die folgenden Zeilen:

output.logstash:
  # The Logstash hosts
  hosts: ["elk-server:5443"]
  ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]

Kommentieren Sie Elasticsearch:

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

Speichern und beenden Sie die Datei.

Gehen Sie jetzt zum ELK-Server und holen Sie sich den Inhalt von „logstash-forwarder.crt“

sudo cat /etc/logstash/ssl/logstash-forwarder.crt

Kopieren Sie die Ausgabe und gehen Sie dann zum Elk-Client-Server.

Erstellen Sie eine Zertifikatsdatei

sudo vim /etc/filebeat/logstash-forwarder.crt

Kopierte Ausgabe einfügen und speichern &beenden.

Aktivieren Sie filebeat beim Systemstart Starten Sie filebeat Dienst.

sudo systemctl enable filebeat.service
sudo systemctl start filebeat.service

Schritt 7) Durchsuchen des Kibana-Dashboards

Starten Sie Ihren bevorzugten Webbrowser und geben Sie den Domänennamen gefolgt von Benutzername und Passwort ein.

http://elk.fosslinux.com

Geben Sie den erstellten Benutzernamen und das Passwort ein. Sie sollten die Willkommensseite von Kibana sehen. Klicken Sie auf die Schaltfläche „Eigenes entdecken“.

Sie sollten zur Kibana-Startseite weitergeleitet werden.

Klicken Sie auf der linken Seite auf „Entdecken“. Klicken Sie auf „Indexmuster erstellen“.

Definieren Sie dann das Indexmuster „filebeat-*“.

Klicken Sie auf „Weiter“, wählen Sie „@timestamp“ und klicken Sie auf „Indexmuster erstellen“.

Das Indexmuster sollte erstellt werden.

Klicken Sie auf das Menü „Entdecken“, um die Serverprotokolle anzuzeigen.

Protokolle werden gemäß dem Zeitstempel angezeigt. Klicken Sie auf einen beliebigen Zeitstempel, um ihn zu erweitern und den Inhalt der Protokolldatei und seine Details anzuzeigen.

Wenn Sie hier angekommen sind, bedeutet dies, dass Sie den ELK-Stack erfolgreich mit filebeat installiert und konfiguriert haben. Haben Sie Probleme? Teilen Sie uns dies gerne in den Kommentaren unten mit.


Ubuntu
  1. So installieren Sie Elasticsearch unter Ubuntu 18.04

  2. So installieren Sie den ELK-Stack (Elasticsearch, Logstash und Kibana) unter Ubuntu 18.04 / 20.04

  3. Installieren des ELK-Stacks unter Ubuntu 14.04

  4. So installieren Sie die Zammad-Community in Ubuntu 20.04

  5. So installieren Sie den ELK-Stack unter Ubuntu 16.04

So installieren Sie den ELK-Stack unter CentOS 8

So installieren Sie Elasticsearch auf Ubuntu 18.04 LTS

So installieren Sie den ELK-Stack unter Ubuntu 20.04 LTS

So installieren Sie Elasticsearch auf Ubuntu 20.04 LTS

So installieren Sie den ELK-Stack unter Debian 8

So installieren Sie den ELK-Stack unter Ubuntu 20.04