In diesem Tutorial zeigen wir Ihnen, wie Sie ELK Stack auf CentOS 7 installieren. Für diejenigen unter Ihnen, die es nicht wussten, ELK Stack ist eine beliebte Open-Source-Protokollverwaltungsplattform. Es wird als zentralisierte Verwaltung zum Speichern, Analysieren und Anzeigen von Protokollen verwendet. Die zentralisierte Verwaltung erleichtert das Studieren der Protokolle und das Identifizieren von Problemen, falls vorhanden, für eine beliebige Anzahl von Servern.
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt die Installation von ELK Stack (Elasticsearch, Logstash und Kibana) auf dem CentOS 7-Server.
Voraussetzungen
- Ein Server, auf dem eines der folgenden Betriebssysteme ausgeführt wird:CentOS 7.
- Es wird empfohlen, dass Sie eine neue Betriebssysteminstallation verwenden, um potenziellen Problemen vorzubeugen.
- SSH-Zugriff auf den Server (oder öffnen Sie einfach das Terminal, wenn Sie sich auf einem Desktop befinden).
- Ein
non-root sudo user
oder Zugriff auf denroot user
. Wir empfehlen, alsnon-root sudo user
zu agieren , da Sie Ihr System beschädigen können, wenn Sie als Root nicht aufpassen.
Installieren Sie den ELK-Stack auf CentOS 7
Schritt 1. Beginnen wir zunächst damit, sicherzustellen, dass Ihr System auf dem neuesten Stand ist.
yum clean allyum -y update
Schritt 2. Java installieren.
Sie benötigen eine Java Runtime Environment (JRE), da Elasticsearch in der Programmiersprache Java geschrieben ist, können Sie das OpenJDK-Paket installieren, das JRE enthält:
yum install java-1.8.0-openjdk.x86_64
Überprüfen Sie die Java-Version:
[[email protected] ~]# java -versionopenjdk version "1.8.0_131"OpenJDK Runtime Environment (build 1.8.0_131-b12)OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
Schritt 3. Elasticsearch installieren.
Elasticsearch kann mit einem Paketmanager installiert werden, indem das Paket-Repository von Elastic hinzugefügt wird:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.rpm
Installieren Sie dann das gerade heruntergeladene RPM-Paket:
rpm -ivh elasticsearch-5.0.0.rpm
Dienst starten und aktivieren:
systemctl elastische Suche aktivierensystemctl elastische Suche starten
Führen Sie nun den folgenden Befehl vom Terminal aus, um zu überprüfen, ob die Elasticsearch ordnungsgemäß funktioniert:
curl -X GET http://localhost:9200
Sie sollten die folgende Ausgabe erhalten:
{"name" :"idroot.us","cluster_name" :"elasticsearch","cluster_uuid" :"k27ZZFJPTaOtwg6_pyzEiw","version" :{"number" :"5.5.0","build_hash" :" 2cfe0df","build_date" :"2017-05-29T16:05:51.443Z","build_snapshot" :false,"lucene_version" :"6.5.1"},"tagline" :"You Know, for Search"}
Schritt 4. Kibana installieren.
Die Installation von Kibana ist sehr einfach, Sie können es einfach mit einem RPM-Paket installieren:
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-x86_64.rpm
Führen Sie nun einfach den folgenden Befehl aus, damit Sie den Kibana-Dienst starten können:
systemctl daemon-reloadsystemctl start kibana
Kibana ist jetzt installiert und funktioniert auf unserem System. Um die Webseite zu überprüfen, öffnen Sie den Webbrowser und rufen Sie die unten angegebene URL auf (verwenden Sie die IP-Adresse für Ihren ELK-Host):
http://localhost:5601
Schritt 5. Konfigurieren Sie den ELK-Stack.
Zuerst müssen wir ein SSL-Zertifikat erstellen. Dieses Zertifikat wird zur Sicherung der Kommunikation zwischen Logstash- und Filebeat-Clients verwendet. Bevor wir ein SSL-Zertifikat erstellen, erstellen wir ein Eintrag unserer Server-IP-Adresse in openssl.cnf
:
nano /etc/ssl/openssl.cnf
Suchen Sie nach einem Abschnitt mit „subjectAltName“ und fügen Sie Ihre Server-IP hinzu:
subjectAltName =IP:10.20.30.100
Ändern Sie nun das Verzeichnis zu /etc/ssl
und erstellen Sie ein SSL-Zertifikat:
cd /etc/sslopenssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crt
Schritt 6. Konfigurieren Sie Logstash.
Wir erstellen nun eine Konfigurationsdatei für Logstash im Ordner „/etc/logstash/conf.d
‘:
[[email protected] ~]# nano /etc/logstash/conf.d/logstash.conf# input sectioninput { beats { port => 5044 ssl => true ssl_certificate => "/etc/ssl/logstash_frwrd. crt" ssl_key => "/etc/ssl/logstash-forwarder.key" congestion_threshold => "40" }}
Der nächste Abschnitt, d. h. der „Filterabschnitt“, parst die Protokolle, bevor sie an Elasticsearch gesendet werden:
# Filter sectionfilter {if [type] =="syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date {match => [ "timestamp", "MMM d HH :mm:ss", "MMM tt HH:mm:ss" ]} }}
Der letzte Abschnitt ist der „Ausgabeabschnitt“ und definiert den Speicherort für Protokolle:
# output sectionoutput { elasticsearch { hosts => localhost index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" }stdout { codec => rubydebug }}
Jetzt die Datei speichern und beenden. Jetzt den Logstash-Dienst starten und beim Booten aktivieren:
systemctl logstash startensystemctl logstash aktivieren
Schritt 7. Installieren von Filebeat auf Clients.
Um nun mit dem ELK-Stack kommunizieren zu können, muss Filebeat auf allen Client-Rechnern installiert werden:
$ nano /etc/yum.repos.d/filebeat.repo[beats]name=Elastic Beats Repositorybaseurl=https://packages.elastic.co/beats/yum/el/$basearchenabled=1gpgkey=https:/ /packages.elastic.co/GPG-KEY-elasticsearchgpgcheck=1
Installieren Sie jetzt filebeat mit dem folgenden Befehl:
yum installiere filebeat
Kopieren Sie nach der Installation von Filebeat das SSL-Zertifikat vom ELK-Stack-Server nach ‘/etc/ssl
’. Als nächstes werden wir Änderungen an der Filebeat-Konfigurationsdatei vornehmen, um den Client mit dem ELK-Server zu verbinden:
nano /etc/filebeat/filebeat.yml
Nehmen Sie die folgenden Änderungen an der Datei vor:
Starten Sie nun den Dienst und aktivieren Sie ihn beim Booten:
systemctl filebeat neu startensystemctl filebeat aktivieren
Die Konfigurationen sowohl auf dem Server als auch auf dem Client sind nun abgeschlossen. Wir können uns jetzt bei der Kibana-Weboberfläche anmelden, um nach analysierten Protokollen zu suchen.
http://Ihre-IP-Adresse:5601/
Herzlichen Glückwunsch! Sie haben ELK Stack erfolgreich auf CentOS 7 installiert. Vielen Dank, dass Sie dieses Tutorial zum Installieren von ELK Stack (Elasticsearch, Logstash und Kibana) auf CentOS 7-Systemen verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen , empfehlen wir Ihnen, die offizielle ELK Stack-Website zu besuchen.