In diesem Tutorial zeigen wir Ihnen, wie Sie den ELK-Stack unter CentOS 7 installieren und konfigurieren . Elasticsearch, Logstash und Kibana sind die drei Open-Source-Produkte, die Teil der Sammlung namens ELK Stack sind. Es ist eine robuste Lösung für die Suche, Analyse und Visualisierung von Daten. Wie wir bereits wissen, ist Elasticsearch eine verteilte RESTful-Such- und Analyse-NoSQL-Engine auf Basis von Lucene, die leichte Datenverarbeitungspipeline oder Logstash wird zum Verwalten von Ereignissen und Protokollen aus vielen verschiedenen Quellen verwendet, und Kibana, eine Webanwendung, wird für die Datenvisualisierung verwendet arbeitet auf Elsticsearch. Dieses Tutorial zur Installation von ELK Stack auf CentOS 7 sollte für alle anderen Linux-VPS-Systeme geeignet sein, aber ursprünglich war es für einen CentOS-basierten virtuellen privaten Server gedacht oder mit anderen Worten geschrieben und getestet. Die Aufgabe, ELK Stack auf CentOS 7 zu installieren sollte einfach sein, Sie müssen nur die unten angegebenen Schritte befolgen und die Arbeit wird in weniger als zehn Minuten erledigt sein. Fangen wir an.
1. Voraussetzungen
Das erste, was Sie benötigen, um dieses Tutorial erfolgreich abzuschließen, ist der Root-Zugriff auf den CentOS 7-Server.
Die Menge der Protokolle, die Sie sammeln möchten, ist wichtig, da die Menge an CPU, RAM und Speicherplatz, die Ihr ELK-Server benötigt, davon abhängt.
Systemanforderungen:
- Betriebssystem:CentOS 7
- Arbeitsspeicher:4 GB
- Prozessor:2
2. Installieren Sie Java
Die Elastic Stack-Bereitstellung erfordert Java. Es unterstützt sowohl OpenJDK als auch Oracle Java. wir empfehlen die Verwendung des Oracle JDK 1.8. Wir werden Java 8 aus dem offiziellen Oracle-RPM-Paket installieren.
Java 8 JDK kann mit dem folgenden wget-Befehl heruntergeladen werden.
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u171-linux-x64.rpm"
Der nächste Schritt ist die Installation mit diesem rpm-Befehl:
rpm -ivh jdk-8u171-linux-x64.rpm
An dieser Stelle sollten Sie die Java JDK-Installation überprüfen.
java -version
Wenn alles richtig installiert ist, sehen Sie die folgende Ausgabe:
java version "1.8.0_172" Java(TM) SE Runtime Environment (build 1.8.0_172-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
3. Installieren und konfigurieren Sie Elasticsearch unter CentOS 7
Jetzt ist es an der Zeit, Elasticsearch zu installieren und zu konfigurieren. Wir verwenden das RPM-Paket für diese Installation, das von elastic.co bereitgestellt wird, und konfigurieren es dann so, dass es auf localhost ausgeführt wird (all dies dient dazu, sicherzustellen, dass wir das Setup sicher gemacht haben und um sicherzustellen, dass es nicht erreicht werden kann außen).
Sie sollten den Schlüssel elastic.co vor der Installation von Elasticsearch zum Server hinzufügen.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Dann sollten Sie wget verwenden, um Elasticsearch 6.2 herunterzuladen und die Installation einzuleiten
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm rpm -ivh elasticsearch-6.2.4.rpm
Wenn Elasticsearch bereits installiert ist, müssen Sie zu diesem Zeitpunkt in das Konfigurationsverzeichnis wechseln und die Konfigurationsdatei elasticsaerch.yml bearbeiten.
nano /etc/elasticsearch/elasticsearch.yml
Dann sollten Sie einen Kommentar in Zeile 40 entfernen, um die Speichersperre für Elasticsearch zu aktivieren. Dadurch wird die Speicherauslagerung für Elasticsearch deaktiviert.
bootstrap.memory_lock: true
Danach müssen Sie die Zeilen network.host und http.port im Block „Netzwerk“ auskommentieren.
network.host: localhost http.port: 9200
Vergessen Sie nicht, die Datei zu speichern, dann können Sie den Editor verlassen.
Als nächstes sollten Sie die Datei elasticsearch.service für die Konfiguration der Speichersperre bearbeiten.
vim /usr/lib/systemd/system/elasticsearch.service
Entkommentieren Sie die LimitMEMLOCK-Zeile.
LimitMEMLOCK=infinity
Vergessen Sie auch hier nicht zu speichern und dann zu beenden.
Der nächste Schritt ist die Bearbeitung der sysconfig-Konfigurationsdatei für Elasticsearch.
nano /etc/sysconfig/elasticsearch
Jetzt müssen Sie Zeile 60 auskommentieren und sicherstellen, dass der Wert „unbegrenzt“ ist.
MAX_LOCKED_MEMORY=unlimited
Speichern und beenden.
Das Ausführen all dieser Schritte bedeutet, dass Sie die Elasticsearch-Konfiguration auf CentOS 7 abgeschlossen haben. Die localhost-IP-Adresse auf Port 9200 führt Elasticsearch aus,
Bevor Sie den Dienst zuerst starten, sollten Sie die Systeme neu laden und Elasticsearch ermöglichen, beim Booten zu starten.
systemctl daemon-reload systemctl enable elasticsearch systemctl start elasticsearch
Nach ein paar Sekunden startet die Elasticsearch und dann sollten Sie die offenen Ports auf dem Server überprüfen und überprüfen, ob der „Status“ für Port 9200 „LISTEN“ ist.
4. Kibana unter CentOS 7 installieren und konfigurieren
Wenn Sie diesen Punkt erreichen, ist das Folgende auf der Liste die Installation und Konfiguration von Kibana mit einem Nginx-Webserver. Kibana überwacht die lokale Host-IP-Adresse und Nginx fungiert als Reverse-Proxy für die Kibana-Anwendung.
Sie sollten wget verwenden, um Kibana 6.2.4 herunterzuladen, und es dann mit dem rpm-Befehl installieren:
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm rpm -ivh kibana-6.2.4-x86_64.rpm
Der nächste Schritt ist die Bearbeitung der Kibana-Konfigurationsdatei.
nano /etc/kibana/kibana.yml
Entkommentieren Sie die Konfigurationszeilen für server.port, server.host und elasticsearch.url.
server.port: 5601 server.host: "localhost" elasticsearch.url: "http://localhost:9200"
Die Änderungen müssen gespeichert werden und dann können Sie beenden.
Starten Sie den Kibana-Dienst und stellen Sie ihn so ein, dass er beim Booten automatisch gestartet wird:
systemctl enable kibana systemctl start kibana
Sie haben nun die Installation von Kibana abgeschlossen.
5. Nginx installieren und konfigurieren
Als nächstes muss Nginx installiert und natürlich als Reverse-Proxy konfiguriert werden, um von der öffentlichen IP-Adresse aus auf Kibana zuzugreifen.
Nginx ist im Epel-Repository zu finden, installieren Sie epel-release mit yum.
yum install epel-release
Dann müssen Sie das Nginx- und httpd-tools-Paket installieren.
yum install nginx httpd-tools
Die Tools für den Webserver sind im httpd-tools-Paket enthalten, Sie können die htpasswd-Basisauthentifizierung für Kibana verwenden.
An diesem Punkt müssen wir eine neue Konfigurationsdatei für virtuelle Hosts im Verzeichnis conf.d erstellen.
nano /etc/nginx/conf.d/your_domain.com.conf
So können wir eine neue virtuelle Hostkonfiguration hinzufügen. Fügen Sie die Konfiguration unten ein:
server { listen 80; server_name your_domain.com; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.kibana; 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; } }
Dann sollte eine neue Basisauthentifizierungsdatei mit dem Befehl htpasswd erstellt werden.
sudo htpasswd -c /etc/nginx/htpasswd.kibana admin TYPE YOUR STRONG PASSWORD
Fügen Sie Nginx hinzu, um es beim Booten auszuführen, und starten Sie Nginx.
systemctl enable nginx systemctl start nginx
6. Logstash installieren und konfigurieren
Im folgenden Schritt würden wir Logsatash installieren und konfigurieren, um Serverprotokolle von Clients mit Filebeat zu zentralisieren, dann die Syslog-Daten zu filtern und umzuwandeln und sie in den Stash (Elasticsearch) zu verschieben.
Verwenden Sie rpm, um Logstash herunterzuladen und zu installieren.
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.rpm rpm -ivh logstash-6.2.4.rpm
Wenn die Installation von Logstash abgeschlossen ist, starten Sie den Logstash-Dienst und stellen Sie ihn so ein, dass er beim Booten automatisch gestartet wird:
systemctl restart logstash systemctl enable logstash
Die Logstash-Konfiguration hängt von Ihren persönlichen Vorlieben und den von Ihnen verwendeten Plugins ab. Weitere Informationen zur Konfiguration von Logstash finden Sie hier.
Das ist es. Sie haben den ELK Stack erfolgreich auf Ihrem CentOS 7 VPS installiert.
Befolgen Sie diese Anleitung zur Installation des ELK-Stacks unter Ubuntu 20.04
Natürlich müssen Sie den ELK-Stack unter CentOS 7 nicht installieren und konfigurieren , wenn Sie einen unserer Managed Elasticsearch VPS-Hosting-Services nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, den ELK-Stack für Sie zu installieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich. Danke.