GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie den ELK-Stack unter CentOS 7 / RHEL 7

Die Protokollanalyse war schon immer ein wichtiger Teil der Systemverwaltung, aber sie ist eine der mühsamsten und lästigsten Aufgaben, insbesondere wenn es um eine Reihe von Systemen geht. Glücklicherweise hat der ELK-Stack die Aufgabe erleichtert, der ELK-Stack wird jetzt für die Protokollprüfung/-analyse verwendet und ist eine Kombination aus den folgenden drei Open-Source-Produkten

  •  ElasticSearch – Es ist eine No-SQL-Datenbank, die Informationen indiziert und speichert
  •  Logstash –  Es ist ein Protokoll-Pipeline-Tool, das Protokolle sammelt und analysiert
  •  Kibana – Es bietet eine GUI (grafische Benutzeroberfläche) und wird zur Visualisierung der Daten verwendet und arbeitet auf der Grundlage von Elasticsearch.

Der ELK-Stack empfängt Protokolle vom Client über das Beats-Protokoll, das mit einem Beats-Client gesendet wird. In diesem Tutorial erstellen wir einen ELK-Stack auf einem Centos 7-Computer und installieren auch den Beat-Client mit dem Namen „File Beat“ auf dem Client-Computer.

  • 192.168.0.180    Elk-Stack (CentOS 7)
  • 192.168.0.70     Client (CentOS 7)

Voraussetzung

Auf dem Computer, auf dem wir ELK installieren, sollte Java Version 8 als . Stellen Sie also sicher, dass Java Open-jdk Version 1.8.0_* installiert ist und ausgeführt wird, und falls es nicht installiert ist, führen Sie den folgenden Befehl yum zur Installation aus

[[email protected] ~]# yum install java-1.8.0-openjdk

[[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)[[email protected ] ~]#

Legen Sie den Hostnamen fest und aktualisieren Sie die Datei /etc/hosts

[[email protected] ~]# hostnamectl set-hostname "elk-stack.example.com"

/etc/hosts-Datei aktualisieren

192.168.0.180  elk-stack.example.com elk-stack

Installationsschritte von ELK Stack

Elasticsearch

Wir beginnen mit dem Import der GPG-Schlüssel für Elasticsearch, dieser Schlüssel wird auch mit logstash &kibana geteilt. Um ElasticSearch zu installieren, führen Sie

aus

[[email protected] ~]# rpm – importiere https://packages.elastic.co/GPG-KEY-elasticsearch

[[E-Mail geschützt] ~]#

Jetzt erstellen wir ein Repo für das Elastic-Search-Repository,

[[email protected] ~]# vi /etc/yum.repos.d/elasticsearch.repo[elasticsearch]name=Elasticsearch repositorybaseurl=http://packages.elastic.co/elasticsearch/2.x/centosgpgcheck=1gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearchenabled=1

Sobald das Repository hinzugefügt wurde, installieren Sie Elasticsearch mit yum,

[[email protected] ~]# yum install elasticsearch -y

Jetzt starten wir den Dienst und werden auch so eingestellt, dass er beim Booten gestartet wird

[[email protected] ~]# systemctl daemon-reload[[email protected] ~]# systemctl start elasticsearch[[email protected] ~]# systemctl enable elasticsearch

Lassen Sie den TCP-Port 9200 in der Betriebssystem-Firewall zu. Falls die Firewall ausgeführt wird

[[email protected] ~]# firewall-cmd --permanent --add-port 9200/tcp

Wir werden nun die elastische Suche testen, um sicherzustellen, dass sie auf Abfragen antwortet

[[email protected] ~]# curl -X GET http://localhost:9200

Die Ausgabe des obigen Befehls sollte in etwa so aussehen:

Logstash

Wir werden jetzt das Logstash-Repository hinzufügen,

[[email protected] ~]# vi /etc/yum.repos.d/logstash.repo[logstash]name=Logstashbaseurl=http://packages.elasticsearch.org/logstash/2.2/centosgpgcheck=1gpgkey=http ://packages.elasticsearch.org/GPG-KEY-elasticsearchenabled=1

Installieren Sie jetzt logstash,

[[email protected] ~]# yum install logstash -y

Kibana

Wir werden jetzt ein Repository für Kibana erstellen,

[[email protected] ~]# vi /etc/yum.repos.d/kibana.repo[kibana-4.5]name=Kibana-Repository für 4.5.x-Paketebaseurl=http://packages.elastic.co/kibana /4.5/centosgpgcheck=1gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearchenabled=1

Installieren Sie jetzt Kibana mit yum,

[[email protected] ~]# yum install kibana -y

Starten Sie nach der Installation den Dienst und aktivieren Sie ihn beim Booten

[[email protected] ~]# systemctl start kibana[[email protected] ~]# systemctl enable kibana

Port 5601 in der Betriebssystem-Firewall zulassen

[[email protected] ~]# firewall-cmd --permanent --add-port 5601/tcp[[email protected] ~]# firewall-cmd --reload

Als Nächstes greifen wir auf die Webseite für Kibana zu, um sicherzustellen, dass sie funktioniert. Öffnen Sie dazu den Webbrowser und geben Sie die folgende URL ein

http://IP-Adresse:5601/

Die Installation des ELK-Stacks ist nun abgeschlossen und wir werden die erforderlichen Konfigurationen vornehmen.

Konfiguration

SSL-Zertifikat für Logstash

Nach der Logstash-Installation erstellen wir nun ein SSL-Zertifikat zur Absicherung der Kommunikation zwischen Logstash &Filebeat (Clients). Da wir die IP-Adresse verwenden, um eine Verbindung zum Server herzustellen, erstellen wir ein SSL-Zertifikat für IP SAN.

Bevor wir ein SSL-Zertifikat erstellen, machen wir einen Eintrag unserer IP in openssl.cnf,

[[email protected] ~]# vi /etc/pki/tls/openssl.cnf

und suchen Sie nach Parametern mit „subjectAltName“ im Abschnitt [ v3_ca ] und fügen Sie Ihre Server-IP hinzu,

subjectAltName =IP:192.168.0.180

Wechseln Sie nun in das Verzeichnis /etc/ssl &erstellen Sie ein SSL-Zertifikat mit 365 Tagen Gültigkeit,

[[email protected] ~]# cd /etc/ssl/[[email protected] ssl]# openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crtGenerieren eines privaten 2048-Bit-RSA-Schlüssels.....+++........+++Schreiben eines neuen privaten Schlüssels in „logstash-forwarder.key“-----[[ E-Mail-geschützt] ssl]#

Sobald das Zertifikat fertig ist, sollte es mit dem Befehl scp auf alle Clients kopiert werden.

Logstash konfigurieren

Wir werden nun eine Konfigurationsdatei für Logstash im Ordner „/etc/logstash/conf.d“ erstellen ‘. Diese Datei wird in drei Abschnitte unterteilt, d. h. Eingabe-, Filter- und Ausgabeabschnitt

[[email protected] ~]# vi /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"  }}

Dieser Abschnitt sorgt dafür, dass Logstash auf Port 5044 auf eingehende Protokolle lauscht und bietet auch SSL-Zertifikatsdetails für eine sichere Verbindung.

Der nächste Abschnitt, d. h. „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 "Ausgabeabschnitt" und definiert den Speicherort für Protokolle

# Ausgabeabschnittoutput { elasticsearch {  hosts => localhost    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"       }stdout {    codec => rubydebug       }}

Speichern Sie nun die Datei und beenden Sie sie. Alle diese Abschnitte können auch in drei separate Dateien unterteilt werden, aber wir haben sie zur Vereinfachung der Konfiguration in einer einzigen Datei verwendet. Wir starten jetzt den Logstash-Dienst und aktivieren ihn beim Booten,

[[email protected] ~]# systemctl daemon-reload[[email protected] ~]# systemctl start logstash[[email protected] ~]# systemctl enable logstash

Lassen Sie den 5044-TCP-Port in der Betriebssystem-Firewall mit dem folgenden Befehl zu, damit Logstash Protokolle von Clients erhält

[[email protected] conf.d]# firewall-cmd --permanent --add-port=5044/tcpsuccess[[email protected] conf.d]# firewall-cmd --reloadsuccess[[email protected] conf .d]#

Filebeat auf Clients installieren

Filebeat muss auf jedem System installiert werden, für das wir Protokolle analysieren müssen. Lassen Sie uns zuerst die Zertifikatsdatei vom Elk-Stack-Server auf den Client kopieren

[[E-Mail-geschützt] ~]# scp /etc/ssl/logstash_frwrd.crt [E-Mail-geschützt]:/etc/ssl

Um Filebeat zu installieren, fügen wir zuerst das Repo dafür hinzu,

[[email protected] ~]# vi /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 nun filebeat, indem Sie den folgenden Befehl ausführen

[[email protected] ~]# yum installiere filebeat

Wir werden jetzt Änderungen an der Konfigurationsdatei vornehmen, um die Filebeat-Clients mit unserem ELK-Stack zu verbinden, aber bevor wir das tun, stellen Sie sicher, dass das Zertifikat, das wir während der Logstash-Konfiguration erstellt haben, auf den Client in das Verzeichnis „/etc/ssl“ kopiert wird. Sobald das erledigt ist, starten wir die Filebeat-Konfiguration,

[[email protected] ~]# vi /etc/filebeat/filebeat.yml

Wir müssen Änderungen an den folgenden drei Abschnitten vornehmen,

. . . Pfade:        - /var/log/*.log        - /var/log/secure        - /var/log/messages. . .

In diesem Abschnitt können wir die Protokolle zulassen, die analysiert werden müssen. Ich habe es auf der Standardeinstellung belassen, d. H. Alle Protokolle, aber Sie können es ändern, um nur eine oder zwei Protokolldateien zu senden. Ändern Sie für den nächsten Abschnitt den document_type in „syslog“,

. . . Dokumenttyp:syslog. . .

&im letzten Abschnitt, d. h. „Ausgabe“, definieren wir die IP-Adresse und den Standort unseres ELK-Stack-Servers für das SSL-Zertifikat,

. . .output:  logstash:    hosts:["192.168.0.180:5044"]    tls:      certificate_authorities:["/etc/ssl/logstash_frwrd.crt"]. . .

Hinweis:Deaktivieren Sie die Elasticsearch-Ausgabe, kommentieren Sie den Eintrag „hosts:[“localhost:9200″]“ aus, falls er aktiviert ist.

Starten Sie nun den Dienst und aktivieren Sie ihn beim Booten,

[[email protected] ~]# systemctl filebeat neu starten[[email protected] ~]# systemctl filebeat aktivieren

Das war's, die Konfigurationen auf Server- und Client-Seite sind jetzt abgeschlossen. Wir können uns jetzt bei der Kibana-Weboberfläche anmelden, um nach analysierten Protokollen zu suchen.

Indexmuster erstellen, logstash-* ändern zufilebeat-*

Klicken Sie auf Erstellen

Klicken Sie auf „Entdecken“ und dann auf „Suchen“. Wir erhalten Protokolle in etwa wie unten

Das ist alles aus diesem Artikel. Bitte teilen Sie uns Ihr wertvolles Feedback und Ihre Kommentare mit.


Cent OS
  1. So installieren Sie ownCloud auf CentOS 7

  2. So installieren Sie Drupal 8 auf CentOS 7

  3. So installieren Sie Single Node OpenStack unter CentOS 7

  4. So installieren Sie iRedMail (Mailserver) unter CentOS 7 / RHEL 7

  5. Installieren Sie KVM Hypervisor auf CentOS 7.x und RHEL 7.x

So installieren Sie Prometheus unter CentOS 8 / RHEL 8

So installieren Sie Ansible AWX unter CentOS 7

So installieren Sie Elasticsearch, Logstash und Kibana (ELK Stack) unter CentOS 7 / RHEL 7

So installieren Sie den ELK-Stack auf RHEL 8

So installieren Sie den ELK-Stack unter CentOS 7

So installieren Sie den ELK-Stack unter CentOS 8