Ubuntu

So installieren Sie ELK Stack auf Ubuntu 18.04

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 wie 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 Weboberfläche (GUI).

Installieren und konfigurieren Sie ELK Stack auf Ubuntu

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

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 tatsächlichen 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 Lizenzvereinbarungsfenstern 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

Java-Versionsprüfung

sudo echo $JAVA_HOME

Java-Startseite überprüfen

Schritt 2) Elasticsearch installieren und konfigurieren

Lass uns beginnen mit wget Befehl zum Herunterladen von Elasticsearch gefolgt vom öffentlichen Signaturschlüssel:

sudo wget -qO - https://artefakte.elastisch.co/GPG-KEY-elasticsearch | sudo apt-key hinzufügen -

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

sudo apt-get install apt-transport-https

Fügen Sie das Repository hinzu:

echo "deb https://artefakte.elastisch.Co/Pakete/6.x/apt stable main" | sudo tee -a /etc/apt/sources.aufführen.d/elastisch-6.x.aufführen

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

sudo apt-get update
sudo apt-get install elasticsearch

Ändern wir „elasticsearch“.yml“-Datei:

sudo vim /etc/elasticsearch/elasticsearch.yml

Entkommentieren Sie „Netzwerk.host“ und „http.Hafen". Folgende Konfiguration sollte hinzugefügt werden:

Netzwerk.host: localhost http.Anschluss: 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 aktivieren elasticsearch.Bedienung
sudo systemctl Elasticsearch starten.Bedienung

Installation prüfen:

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

Überprüfen Sie ElasticSearch

Schritt 3) Kibana . installieren

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

sudo apt-get installiere 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 aktivieren Kibana.Bedienung
sudo systemctl starte kibana.Bedienung

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

In den ähnlichen Zeilen installieren wir Nginx, konfigurieren es und starten den Dienst. 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  hören 80; server_name elch.fosslinux.com; auth_basic "Eingeschränkter Zugriff"; auth_basic_user_file /etc/nginx/.elkusergeheimnis; Standort /  proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Verbindung 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade;  

Benutzer- und Passwortdatei für die Webbrowser-Authentifizierung erstellen:

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

ELK-Authentifizierung

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 aktivieren nginx.Bedienung
sudo systemctl Neustart nginx.Bedienung

Schritt 5) Logstash installieren und konfigurieren

Logstash installieren:

sudo apt-get install logstash

Hier werden wir einen SSL-Zertifikatschlüssel generieren, um die Protokollübertragung vom File-Beat-Client zu sichern. Ändern Sie die Datei „hosts“, 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 in Ihren ändern.

172.31.31.158 Elch-Server Elch-Server

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

Wechseln Sie nun in das Verzeichnis zu Logstash.

sudo cd /etc/logstash/

Erstellen Sie einen Ordner für SSL:

sudo mkdir ssl

SSL-Zertifikat generieren. Ändern Sie mit dem 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-Input-Datei mit vim.

sudo vim filebeat-eingabe.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.Schlüssel"  

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

sudo vim syslog-filter.conf

Fügen Sie die folgenden Inhalte 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" ]   

Datei speichern und beenden. Erstellen elastische Suche Ausgabedatei.

sudo vim Ausgabe-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 aktivieren logstash.Bedienung
sudo systemctl starte logstash.Bedienung

Schritt 6) Filebeat auf Client-Servern installieren und konfigurieren

Beginnen Sie mit der Bearbeitung der Gastgeber Datei zum Hinzufügen von Elch-Host-Einträgen. Stellen Sie sicher, dass Sie die IP-Adresse und den Namen durch Ihre ersetzen.

sudo vim /etc/hosts
172.31.31.158 Elch-Server

Datei speichern und beenden.

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

sudo wget -qO - https://artefakte.elastisch.co/GPG-KEY-elasticsearch | sudo apt-key hinzufügen -

Installieren Sie „apt-transport-https“ und fügen Sie Repository hinzu.

sudo apt-get install apt-transport-https
sudo echo "deb https://artifacts.elastisch.Co/Pakete/6.x/apt stable main" | sudo tee -a /etc/apt/sources.aufführen.d/elastisch-6.x.aufführen

Repository 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“.

aktiviert: wahr

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

 Pfade: - /var/log/*.Log

Entkommentieren Sie die folgenden Zeilen:

Ausgabe.logstash: # Der Logstash hostet Hosts: ["elk-server:5443"] ssl.Certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]

Kommentar Elasticsearch:

#Ausgabe.elasticsearch: # Array von Hosts, mit denen eine Verbindung hergestellt werden soll. # Hosts: ["localhost:9200"]

Datei speichern und beenden.

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

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

SSL-Crt

kopiere die Ausgabe und gehe dann zum Elk-Client-Server.

Erstellen Sie eine Zertifikatsdatei

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

kopierte Ausgabe einfügen und speichern & beenden.

Aktivieren filebeat beim Systemstart Start filebeat Bedienung.

sudo systemctl aktivieren filebeat.Bedienung
sudo systemctl start filebeat.Bedienung

Schritt 7) Durchsuchen des Kibana-Dashboards

Starten Sie Ihren bevorzugten Webbrowser und geben Sie den Domainnamen gefolgt von Benutzername und Passwort ein.

http://elk.fosslinux.com

Browser-Authentifizierung

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

Kibana-Willkommensseite

Sie sollten zur Kibana-Homepage weitergeleitet werden.

Kibana-Startseite

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

Index erstellen

Definieren Sie dann das Indexmuster  "filebeat-*".

Index definieren

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

Wählen Sie Zeitstempel

Indexmuster sollte erstellt werden.

Indexmuster erstellt

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

Protokolle entdecken

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

Protokolldateien überprüfen

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

Beste Gamepad-Mapping-Apps für Linux
Wenn du Spiele unter Linux gerne mit einem Gamepad statt mit einem typischen Tastatur- und Maus-Eingabesystem spielst, gibt es einige nützliche Apps f...
Nützliche Tools für Linux-Spieler
Wenn Sie gerne unter Linux spielen, haben Sie wahrscheinlich Apps und Dienstprogramme wie Wine, Lutris und OBS Studio verwendet, um das Spielerlebnis ...
HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...