Elastic Stack, allgemein bekannt als ELK Stack, ist eine Reihe von Open-Source-Produkten, darunter Elasticsearch, Logstash und Kibana. Der Elastic Stack wird von Elastic entwickelt und gepflegt. Mithilfe des Elastic-Stacks können Systemprotokolle an Logstash gesendet werden, eine Datenerfassungs-Engine, die Protokolle oder Daten aus allen möglichen Quellen akzeptiert und die Protokolle normalisiert. Die Protokolle werden dann zur Analyse, Indizierung, Suche und Speicherung an Elasticsearch weitergeleitet und schließlich mit Kibana als visuelle Daten dargestellt. Mit Kibana können wir auch interaktive Diagramme basierend auf Benutzerabfragen erstellen. In diesem Artikel zeigen wir, wie man einen Multi-Node-Elastic-Stack-Cluster auf einem RHEL 8-/CentOS 8-Server einrichtet. Hier sind die Details meines Elastic Stack-Clusters: Elasticsearch:
Logstash:
Kibana: Ein Server mit minimalem RHEL 8 / CentOS 8IP & Hostname – 192.168.56.10 ( Filebeat:
Beginnen wir mit der Einrichtung unseres Elasticsearch-Clusters. Einrichten eines 3-Knoten-Elasticsearch-Clusters Wie bereits erwähnt, richten Sie die Knoten des Elasticsearch-Clusters ein, melden Sie sich bei jedem Knoten an, legen Sie den Hostnamen fest und konfigurieren Sie das Yum/DNF-Repository Verwenden Sie den Befehl [root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch1.linuxtechi.local" [root@linuxtechi ~]# exec bash [root@linuxtechi ~]# [root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch2.linuxtechi.local" [root@linuxtechi ~]# exec bash [root@linuxtechi ~]# [root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch3.linuxtechi.local" [root@linuxtechi ~]# exec bash [root@linuxtechi ~]# Für das CentOS 8-System müssen wir kein OS-Paket-Repository konfigurieren. Für den RHEL 8-Server müssen Sie, wenn Sie über ein gültiges Abonnement verfügen, lediglich ein Abonnement bei Red Hat abschließen, um das Paket-Repository zu erhalten. Wenn Sie ein lokales Yum/DNF-Repository für OS-Pakete konfigurieren möchten, lesen Sie die folgende URL: So richten Sie ein lokales Yum-/DNF-Repository auf einem RHEL 8-Server mithilfe einer DVD oder einer ISO-Datei ein Konfigurieren Sie das Elasticsearch-Paket-Repository auf allen Knoten. Erstellen Sie im Ordner ~]# vi /etc/yum.repos.d/elastic.repo [elasticsearch-7.x] Name=Elasticsearch-Repository für 7.x-Pakete Basis-URL = https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch aktiviert=1 autorefresh=1 Typ=rpm-md Speichern Sie die Datei und beenden Sie das Programm. Importieren Sie den öffentlichen Signaturschlüssel von Elastic mit dem ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch Fügen Sie die folgenden Zeilen in die Datei 192.168.56.40 elasticsearch1.linuxtechi.local 192.168.56.50 elasticsearch2.linuxtechi.local 192.168.56.60 elasticsearch3.linuxtechi.local Installieren Sie Java auf allen drei Knoten mit dem Befehl [root@linuxtechi ~]# dnf installiere java-openjdk -y [root@linuxtechi ~]# dnf installiere java-openjdk -y [root@linuxtechi ~]# dnf installiere java-openjdk -y Installieren Sie Elasticsearch auf allen drei Knoten mit dem Befehl root@linuxtechi ~]# dnf installiere elasticsearch -y [root@linuxtechi ~]# dnf installiere elasticsearch -y [root@linuxtechi ~]# dnf installiere elasticsearch -y Hinweis: Wenn die Firewall des Betriebssystems aktiviert ist und auf jedem Elasticsearch-Knoten ausgeführt wird, lassen Sie das Öffnen der folgenden Ports mit ~]# Firewall-cmd --permanent --add-port=9300/tcp ~]# Firewall-cmd --permanent --add-port=9200/tcp ~]# Firewall-cmd --reload Um Elasticsearch zu konfigurieren, bearbeiten Sie die Datei ~]# vim /etc/elasticsearch/elasticsearch.yml Clustername: opn-cluster Knotenname: elasticsearch1.linuxtechi.local Netzwerkhost: 192.168.56.40 http.port: 9200 discovery.seed_hosts: ["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"] cluster.initial_master_nodes: ["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"] Hinweis: Geben Sie auf jedem Knoten den richtigen Hostnamen in Starten und aktivieren Sie nun den Elasticsearch-Dienst auf allen drei Knoten mit dem Befehl ~]# systemctl daemon-reload ~]# systemctl aktiviere elasticsearch.service ~]# systemctl starte elasticsearch.service Verwenden Sie den folgenden [root@linuxtechi ~]# ss -tunlp | grep 9200 tcp LISTEN 0 128 [::ffff:192.168.56.40]:9200 *:* Benutzer:(("java",pid=2734,fd=256)) [root@linuxtechi ~]# Überprüfen Sie den Status des Elasticsearch-Clusters mit dem folgenden [root@linuxtechi ~]# curl http://elasticsearch1.linuxtechi.local:9200 [root@linuxtechi ~]# curl -X GET http://elasticsearch2.linuxtechi.local:9200/_cluster/health?pretty Die Ausgabe des Befehls lautet wie folgt: Die obige Ausgabe zeigt, dass wir erfolgreich einen 3-Knoten-Elasticsearch-Cluster erstellt haben und der Clusterstatus grün ist. Hinweis: Wenn Sie die JVM-Heapgröße ändern möchten, können Sie die Datei
Fahren wir nun mit den Logstash-Knoten fort. Installieren und Konfigurieren von Logstash Führen Sie die folgenden Schritte auf beiden Logstash-Knoten aus. Melden Sie sich bei beiden Knoten an und verwenden Sie [root@linuxtechi ~]# hostnamectl set-hostname "logstash1.linuxtechi.local" [root@linuxtechi ~]# exec bash [root@linuxtechi ~]# [root@linuxtechi ~]# hostnamectl set-hostname "logstash2.linuxtechi.local" [root@linuxtechi ~]# exec bash [root@linuxtechi ~]# Fügen Sie die folgenden Einträge in der Datei ~]# vi /etc/hosts 192.168.56.40 elasticsearch1.linuxtechi.local 192.168.56.50 elasticsearch2.linuxtechi.local 192.168.56.60 elasticsearch3.linuxtechi.local Speichern Sie die Datei und beenden Sie das Programm. Konfigurieren Sie das Logstash-Repository auf beiden Knoten. Erstellen Sie eine Datei ~]# vi /etc/yum.repos.d/logstash.repo [elasticsearch-7.x] Name=Elasticsearch-Repository für 7.x-Pakete Basis-URL = https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch aktiviert=1 autorefresh=1 Typ=rpm-md Speichern und beenden Sie die Datei und führen Sie den ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch Installieren Sie Java OpenJDK auf beiden Knoten mit dem Befehl ~]# dnf installiere java-openjdk -y Führen Sie den Befehl [root@linuxtechi ~]# dnf installiere logstash -y [root@linuxtechi ~]# dnf installiere logstash -y Konfigurieren Sie nun logstash. Führen Sie die folgenden Schritte auf beiden logstash-Knoten aus, um eine logstash-Konfigurationsdatei zu erstellen. Kopieren Sie zunächst die logstash-Beispieldatei unter # cd /etc/logstash/ # cp logstash-sample.conf conf.d/logstash.conf Bearbeiten Sie die Konfigurationsdatei und aktualisieren Sie Folgendes: # vi conf.d/logstash.conf Eingabe { schlägt { Port => 5044 } } Ausgabe { elastische Suche Hosts => ["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2.linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+JJJJ.MM.tt}" #user => "elastisch" #password => "änder mich" } } Geben Sie im Verwenden Sie ~ # Firewall-Befehl --permanent --add-port=5044/tcp ~ # Firewall-Befehl –neu laden Führen Sie nun den folgenden ~]# systemctl starte logstash ~]# systemctl aktiviere logstash Verwenden Sie den Befehl [root@linuxtechi ~]# ss -tunlp | grep 5044 tcp LISTEN 0 128 *:5044 *:* Benutzer:(("java",pid=2416,fd=96)) [root@linuxtechi ~]# Die obige Ausgabe zeigt an, dass Logstash erfolgreich installiert und konfiguriert wurde. Fahren wir mit der Kibana-Installation fort. Installieren und Konfigurieren von Kibana Melden Sie sich beim Kibana-Knoten an und verwenden Sie [root@linuxtechi ~]# hostnamectl set-hostname "kibana.linuxtechi.local" [root@linuxtechi ~]# exec bash [root@linuxtechi ~]# Bearbeiten Sie die Datei 192.168.56.40 elasticsearch1.linuxtechi.local 192.168.56.50 elasticsearch2.linuxtechi.local 192.168.56.60 elasticsearch3.linuxtechi.local Richten Sie das Kibana-Repository mit dem folgenden Befehl ein: [root@linuxtechi ~]# vi /etc/yum.repos.d/kibana.repo [elasticsearch-7.x] Name=Elasticsearch-Repository für 7.x-Pakete Basis-URL = https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch aktiviert=1 autorefresh=1 Typ=rpm-md [root@linuxtechi ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch Führen Sie den Befehl [root@linuxtechi ~]# yum installiere kibana -y Konfigurieren Sie Kibana, indem Sie die Datei [root@linuxtechi ~]# vim /etc/kibana/kibana.yml ………… server.host: "kibana.linuxtechi.local" Servername: "kibana.linuxtechi.local" elasticsearch.hosts: ["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2.linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"] ………… Aktivieren und starten Sie den Kibana-Dienst: root@linuxtechi ~]# systemctl starte kibana [root@linuxtechi ~]# systemctl aktiviere Kibana Erlauben Sie den Kibana-Port „5601“ in der System-Firewall: [root@linuxtechi ~]# Firewall-cmd --permanent --add-port=5601/tcp Erfolg [root@linuxtechi ~]# Firewall-cmd --reload Erfolg [root@linuxtechi ~]# Greifen Sie über die folgende URL auf die Kibana-Schnittstelle zu: http://kibana.linuxtechi.local:5601 Vom Dashboard aus können wir den Status des Elastic Stack-Clusters überprüfen. Dies beweist, dass wir erfolgreich einen Elastic Stack-Cluster mit mehreren Knoten auf RHEL 8/CentOS 8 installiert und eingerichtet haben. Lassen Sie uns nun einige Protokolle von anderen Linux-Servern über Melden Sie sich beim CentOS 7-Server an und verwenden Sie den Befehl yum/rpm, um das Filebeat-Paket zu installieren: [root@linuxtechi ~]# rpm -ivh https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpm Abrufen von https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpm Vorbereitung... ####################################### [100%] Aktualisieren/Installieren... 1:filebeat-7.3.1-1 ######################################### [100%] [root@linuxtechi ~]# Bearbeiten Sie die Datei 192.168.56.20 logstash1.linuxtechi.local 192.168.56.30 logstash2.linuxtechi.local Konfigurieren Sie Ändern Sie im Abschnitt [root@linuxtechi ~]# vi /etc/filebeat/filebeat.yml Dateibeat.Eingaben: - Typ: Protokoll aktiviert: true Pfade: – /var/log/Nachrichten – /var/log/dmesg – /var/log/maillog – /var/log/boot.log #Ausgabe.elasticsearch: # Hosts: ["localhost:9200"] Ausgabe.logstash: Hosts: ["logstash1.linuxtechi.local:5044", "logstash2.linuxtechi.local:5044"] Lastausgleich: wahr Verwenden Sie die folgenden beiden [root@linuxtechi ~]# systemctl starte filebeat [root@linuxtechi ~]# systemctl aktiviere Filebeat Gehen Sie jetzt zur Kibana-Benutzeroberfläche und überprüfen Sie, ob der neue Index sichtbar ist. Wählen Sie in der linken Seitenleiste die Option „Verwaltung“ und klicken Sie unter „Elasticsearch“ auf „Indexverwaltung“: Wie wir oben sehen können, ist der Index jetzt sichtbar. Erstellen wir jetzt das Indexmodell. Klicken Sie im Kibana-Bereich auf „Index Patterns“. Wir werden aufgefordert, ein neues Modell zu erstellen. Klicken Sie auf „Create Index Pattern“ und geben Sie den Musternamen als „filebeat“ an: Klicken Sie auf Weiter. Wählen Sie „Zeitstempel“ als Zeitfilter für das Indexmuster und klicken Sie auf „Indexmuster erstellen“: Klicken Sie jetzt, um das FileBeat-Indexmodell in Echtzeit anzuzeigen: Dies zeigt an, dass der Filebeat-Agent erfolgreich konfiguriert wurde und wir Echtzeitprotokolle auf dem Kibana-Dashboard sehen können. Das ist alles für diesen Artikel. Zögern Sie nicht, uns Ihr Feedback und Ihre Kommentare zu diesen Schritten mitzuteilen, die Ihnen beim Einrichten des Elastic Stack-Clusters auf RHEL 8-/CentOS 8-Systemen geholfen haben. über: https://www.linuxtechi.com/setup-multinode-elastic-stack-cluster-rhel8-centos8/ Zusammenfassen Oben ist die Methode, die ich Ihnen vorgestellt habe, um einen Multi-Node-Elastic-Stack-Cluster auf RHEL8/CentOS8 einzurichten. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.13
>>: Der Lösungsdatensatz für Vue, der das Element beim ersten Mal nicht abrufen konnte
ElementUI implementiert das Tutorial zum Paginier...
Inhaltsverzeichnis 1. Initialisierungsstruktur 2....
Vorwort Während des Entwicklungsprozesses stoßen ...
Vorwort Vor kurzem habe ich an einer Berichtsfunk...
1. Stellen Sie sicher, dass das System über die e...
Manchmal müssen Sie Links verwenden, aber Sie müss...
Inhaltsverzeichnis beschreiben erreichen Die Proj...
Wenn das Token abläuft, aktualisieren Sie die Sei...
Definition und Verwendung Das <input>-Tag w...
Heute wurde ich gefragt, wozu das Zoom-Attribut i...
Vorwort Das Wesen eines Deadlocks ist Ressourcenw...
Inhaltsverzeichnis 1. Statische Implementierungsm...
Inhaltsverzeichnis rem vw An UI-Frameworks von Dr...
1. Zweck Schreiben Sie lokal eine Flask-Anwendung...
Inhaltsverzeichnis 1. Gemeinsam genutztes CommonM...