CentOS

Leiten Sie Server-Logs und -Metriken mit Beats an Elasticsearch weiter

Leiten Sie Server-Logs und -Metriken mit Beats an Elasticsearch weiter

Elasticsearch ist eine Log-Analyse-Engine, mit der Benutzer Logs und Metriken auf einem Dashboard speichern, indizieren, analysieren und visualisieren können. Elastic Search verwendet Kibana zur Visualisierung der Daten auf einem Dashboard. In diesem Handbuch behandeln wir die Installation von ElasticSearch, Kibana und das Versenden von Protokollen an die Elastic Search-Instanz mit Beats.

Beats sind die Versender, die verwendet werden, um die Protokolle von verschiedenen Endpunkten an Elastic Search zu senden. Sie werden als Agenten auf den Clients installiert, damit sie die Protokolle an die Elastic Search-Instanz senden können.

Es gibt verschiedene Arten von Beats wie kurz nachfolgend diskutiert:

  1. Dateibeat - Logdateien analysieren
  2. Paketbeat - Analysieren Sie Netzwerkpakete
  3. Winlogbeat - Wird verwendet, um Windows-Ereignisse zu analysieren
  4. Metrikbeat - Wird verwendet, um Metriken Ihrer Cloud-Umgebung zu versenden
  5. Auditbeat - Wird verwendet, um Informationen über System-Audit-Daten zu versenden
  6. Herzschlag - Wird verwendet, um die Verfügbarkeit der Infrastruktur zu überwachen

Installieren Sie ElasticSearch unter Ubuntu / Debian

In diesem Handbuch werden wir ElasticSearch unter Ubuntu / Debian installieren, indem wir die folgenden Schritte ausführen:

System aktualisieren

sudo apt update && sudo apt upgrade -y

Open-JDK 11 installieren (empfohlen)

sudo apt install default-jdk -y

GPG-Schlüssel für die elastische Suche importieren

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

ElasticSearch-Repository hinzufügen

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

ElasticSearch installieren

sudo apt aktualisieren sudo apt installieren elasticsearch

Konfigurieren Sie Elasticsearch, um Remoteverbindungen zuzulassen, indem Sie die Netzwerk.Gastgeber IP auf 0.0.0.0 im /etc/elasticsearch/elasticsearch.yml Datei

$ sudo nano /etc/elasticsearch/elasticsearch.yml # ---------------------------------- Netzwerk -------------- ---------------------- # # Setzen Sie die Bindeadresse auf eine bestimmte IP (IPv4 oder IPv6): # network.Gastgeber: 0.0.0.0 # # Legen Sie einen benutzerdefinierten Port für HTTP fest: # #http.port: 9200 # # Weitere Informationen finden Sie in der Dokumentation zum Netzwerkmodul. #

Starten und aktivieren Sie Elasticsearch

sudo /etc/init.d/elasticsearch start sudo systemctl enable --now elasticsearch

Überprüfen Sie, ob Elasticsearch betriebsbereit ist:

$ curl http://127.0.0.1:9200

Beispielausgabe:

$ curl http://127.0.0.1:9200  "name" : "ubuntu", "cluster_name" : "computingforgeeks", "cluster_uuid" : "EVzpAqUUSV6wQhO7yiPeKw", "version" :  "number" : "7.10.1", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa", "build_date" : "2020-12-05T01:00:33.671820Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" , "tagline" : "Sie wissen, für die Suche" 

Kibana unter Ubuntu / Debian installieren

Kibana stellt die Weboberfläche bereit, über die wir die gesammelten Daten visuell analysieren können.

Führen Sie die folgenden Schritte aus, um Kibana auf demselben Host zu installieren:

sudo apt installiere Kibana

Konfigurieren Sie Kibana, um externe IP-Verbindungen zuzulassen. Bearbeiten Sie die /etc/kibana/kibana.jaml Datei und ändern Sie die Server.Gastgeber Option auf Ihre externe IP oder 0.0.0.0.

$ sudo nano /etc/kibana/kibana.yaml # Kibana wird von einem Back-End-Server bereitgestellt. Diese Einstellung gibt den zu verwendenden Port an. Server.port: 5601… # Um Verbindungen von Remote-Benutzern zuzulassen, setzen Sie diesen Parameter auf eine Nicht-Loopback-Adresse. Server.Gastgeber: "0.0.0.0"

Da wir Kibana und Elasticsearch auf demselben Host installieren, müssen wir die elastische Suche.Gastgeber Feld.

Kibana starten und aktivieren

sudo systemctl enable --now kibana

Sie können jetzt über die IP Ihres Servers auf Port 5601 auf das Kibana-Dashboard zugreifen, d. h.e http://Server-IP:5601.

Möglicherweise müssen Sie den Port durch die Firewall zulassen:

sudo ufw erlauben 5601/tcp

Metricbeat installieren

Nachdem Sie Elasticsearch und Kibana konfiguriert haben, müssen Sie Beats auf den Client-Servern einrichten.

In diesem Beitrag behandeln wir die Installation von Filebeat und Metricbeats auf dem Client-Server install.

Metricbeat installieren

Sie können Metricbeat von APT- und YUM-Repositorys herunterladen:

GEEIGNET
  1. GPG-Schlüssel für Elasticsearch einrichten
wget -qO - https://artefakte.elastisch.co/GPG-KEY-elasticsearch | sudo apt-key hinzufügen -

2. Metricbeat-Repository installieren

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

3. Metricbeat installieren

sudo apt-get update && sudo apt-get install metricbeat
YUM
  1. GPG-Schlüssel herunterladen
sudo rpm --import https://Pakete.elastisch.co/GPG-KEY-elasticsearch

2. Erstellen Sie eine Repo-Datei in /etc/yum.repos.d/ mit folgendem Inhalt:

sudo tee /etc/yum.repos.d/elastisch.repo<

3. Metricbeat installieren

sudo yum -y installiere metricbeat

Systemmetriken mit Metricbeatbe an Elasticsearch senden

  1. Systemmodule aktivieren
sudo metricbeat Module aktivieren System enable

2. Verknüpfen Sie Metricbeat mit dem entfernten Elastic Search-Server. Bearbeiten Sie die /etc/metricbeat/metricbeat.yml Datei und bearbeiten Sie die Gastgeber Details für Kibana und Elasticsearch-Ausgabe

$ sudo vim /etc/metricbeat/metricbeat.yml

Fügen Sie die IP der Instanz, auf der Elasticsearch und Kibana ausgeführt werden, in der Host-Option hinzu. In unserem Fall läuft Elasticsearch auf 172.16.56.5 Gastgeber:

# ================================== Kibana ============= ====================== # Ab Beats Version 6.0.0 werden die Dashboards über die Kibana API geladen loaded. # Dies erfordert eine Kibana-Endpunktkonfiguration. Konfiguration.Kibana: # Kibana Host # Schema und Port können weggelassen werden und werden auf die Standardeinstellungen (http und 5601) gesetzt # Falls Sie einen zusätzlichen Pfad angeben, wird das Schema benötigt: http://localhost:5601/path # IPv6 Adressen sollten immer definiert werden als: https://[2001:db8::1]:5601 host: "172.16.56.5:5601" # Kibana Space ID # ID des Kibana Space, in den die Dashboards geladen werden sollen. Standardmäßig wird # der Standardraum verwendet. #Platz.Ich würde: 
Machen Sie dasselbe für Elasticsearch
# ---------------------------- Elasticsearch-Ausgabe ------------------- --------- Ausgabe.elasticsearch: # Array von Hosts, mit denen eine Verbindung hergestellt werden soll. Gastgeber: ["172.16.56.5:9200"] 

3. Einrichtung der anfänglichen Umgebung - Dadurch werden Kibana-Dashboards geladen. Wenn sie bereits eingerichtet sind, können Sie die -e Flagge.

sudo metricbeat setup -e

Sie sollten einen Versuch sehen, eine Verbindung zum Elasticsearch-Host herzustellen und das Kibana-Dashboard zu erstellen.

$ sudo metricbeat setup -e… 2020-12-19T09:56:50.585Z INFO [Indexverwaltung] idxmgmt/std.go:184 Ausgang setzen.elastische Suche.Index zu 'metricbeat-7.10.1', da ILM aktiviert ist. 2020-12-19T09:56:50.585Z INFO eslegclient/Verbindung.go:99 Elasticsearch-URL: http://172.16.56.5:9200 2020-12-19T09:56:50.586Z INFO [Herausgeber] Pipeline/Modul.go:113 Beatname: Meister 2020-12-19T09:56:50.612Z INFO add_kubernetes_metadata/kubernetes.go:71 add_kubernetes_metadata: kubernetes env erkannt, mit Version: v1.18.9+k3s1 2020-12-19T09:56:50.620Z INFO eslegclient/connection.go:99 Elasticsearch-URL: http://172.16.56.5:9200 2020-12-19T09:56:50.622Z INFO [kubernetes] kubernetes/util.go:138 kubernetes: Verwendung des Node-Masters, der von der Maschinen-ID-Übereinstimmung erkannt wurde "libbeat discovered.Prozessor": "add_kubernetes_metadata" 2020-12-19T09:56:50.625Z INFO [esclientleg] eslegclient/connection.go:314 Versuch, eine Verbindung zu Elasticsearch Version 7 herzustellen.10.1 Das Überschreiben der ILM-Richtlinie ist deaktiviert. 'Setup' einstellen.ilm.overwrite: true' zum Aktivieren. 2020-12-19T09:56:50.681Z INFO [Indexverwaltung] idxmgmt/std.go:261 Auto-ILM-Aktivierung erfolgreich. 2020-12-19T09:56:50.683Z INFO [Indexverwaltung.ilm] ilm/std.go:139 ilm-Richtlinie nicht generieren: exist=true, overwrite=false 2020-12-19T09:56:50.683Z INFO [Indexverwaltung] idxmgmt/std.go:274 ILM-Richtlinie erfolgreich geladen. 2020-12-19T09:56:50.683Z INFO [Indexverwaltung] idxmgmt/std.go:407 Setup einstellen.Vorlage.Name zu 'metricbeat-7.10.1 now/d-000001', da ILM aktiviert ist. 2020-12-19T09:56:50.683Z INFO [Indexverwaltung] idxmgmt/std.go:412 Set-Setup.Vorlage.Muster zu 'metricbeat-7.10.1-*', da ILM aktiviert ist. 2020-12-19T09:56:50.683Z INFO [Indexverwaltung] idxmgmt/std.go:446 Einstellungen festlegen.Index.Lebenszyklus.rollover_alias in der Vorlage auf metricbeat-7.10.1 now/d-000001 da ILM aktiviert ist. 2020-12-19T09:56:50.683Z INFO [Indexverwaltung] idxmgmt/std.go:450 Einstellungen festlegen.Index.Lebenszyklus.Name in der Vorlage zu metricbeat "policy":"phases":"hot":"actions":"rollover":"max_age":"30d","max_size":"50gb"  da ILM aktiviert ist. 2020-12-19T09:56:50.686Z INFO Vorlage/Laden.go:183 Vorhandene Vorlage wird überschrieben, da Überschreiben aktiviert ist. 2020-12-19T09:56:51.231Z INFO Vorlage/Laden.go:117 Versuchen Sie, die Vorlage metricbeat-7 zu laden.10.1 bis Elasticsearch 2020-12-19T09:56:52.677Z INFO Vorlage/Laden.go:109 Vorlage mit dem Namen 'metricbeat-7.10.1' geladen. 2020-12-19T09:56:52.677Z INFO [Indexverwaltung] idxmgmt/std.go:298 Indexvorlage geladen. 2020-12-19T09:56:52.681Z INFO [Indexverwaltung] idxmgmt/std.go:309 Schreibalias erfolgreich generiert. Indexeinrichtung abgeschlossen. Laden von Dashboards (Kibana muss ausgeführt und erreichbar sein) 2020-12-19T09:56:52.681Z INFO Kibana/Klient.go:119 Kibana-URL: http://172.16.56.5:5601 2020-12-19T09:56:53.517Z INFO [add_cloud_metadata] add_cloud_metadata/add_cloud_metadata.go:89 add_cloud_metadata: Hosting-Provider-Typ nicht erkannt. 2020-12-19T09:56:53.518Z INFO Kibana/Kunde.go:119 Kibana-URL: http://172.16.56.5:5601 2020-12-19T09:58:43.294Z INFO Instanz/Beat.go:815 Kibana-Dashboards erfolgreich geladen. Geladene Dashboards

3. Starten und aktivieren Sie Metricbeat

sudo service metricbeat start sudo systemctl metricbeat aktivieren

Sie können Ihre Daten jetzt im Kibana-Dashboard visualisieren, indem Sie zu . navigieren Instrumententafel.

Filebeat einrichten

Sie können APT- und YUM-Repositorys für das Filebeat-Setup verwenden.

GEEIGNET

#GPG-Schlüssel herunterladen wget -qO - https://artifacts.elastisch.co/GPG-KEY-elasticsearch | sudo apt-key add - #Install apt-transport-https sudo apt-get install apt-transport-https #Repository hinzufügen echo "deb https://artifacts.elastisch.Co/Pakete/7.x/apt stable main" | sudo tee -a /etc/apt/sources.aufführen.d/elastisch-7.x.list #Install Filebeat sudo apt-get update && sudo apt-get install filebeat 

YUM

##GPG-Schlüssel herunterladen sudo rpm --import https://Pakete.elastisch.co/GPG-KEY-elasticsearch ##repo-Datei erstellen sudo tee /etc/yum.repos.d/elastisch.repo<

Filebeat mit Elastic Stack verbinden

Bearbeiten Sie die /etc/filebeat/filebeat.yml-Datei und fügen Sie den Remote-Host und -Port für Elasticsearch hinzu. Sie können auch den Benutzernamen und das Passwort des autorisierten Benutzers hinzufügen.

Ausgabe.elastischesearch: hosts: ["elasticsearch-IP:9200"] Benutzername: "filebeat_internal" Passwort: "YOUR_PASSWORD" 

Richten Sie auch Kibana-Details in derselben Datei ein, um eine Verbindung zu dem Host herzustellen, auf dem Kibana installiert ist:

Konfiguration.Kibana: host: "mykibanahost:5601"

Ersetzen elastischesearch-IP und mykibanahost mit der IP des Servers Elasticsearch Server.

Filebeat-Module aktivieren

Listen Sie die Module auf, die Sie aktivieren möchten, und identifizieren Sie sie:

Liste der filebeat-Module

Ausgewählte Module aktivieren

filebeat-Module aktivieren 

Filebeat-Umgebung einrichten

filebeat-Setup -e

Filebeat-Dienst starten

systemctl start filebeat

Sie sollten eine Bestätigung sehen, dass Dashboars erfolgreich erstellt wurde

2020-12-19T11:11:55.731Z INFO Vorlage/Laden.go:183 Vorhandene Vorlage wird überschrieben, da Überschreiben aktiviert ist. 2020-12-19T11:11:58.580Z INFO [add_cloud_metadata] add_cloud_metadata/add_cloud_metadata.go:89 add_cloud_metadata: Hosting-Provider-Typ nicht erkannt. 2020-12-19T11:11:59.711Z INFO Vorlage/Laden.go:117 Versuchen Sie, die Vorlage filebeat-7 zu laden.10.1 bis Elasticsearch 2020-12-19T11:12:00.075Z INFO Vorlage/Laden.go:109 Vorlage mit dem Namen 'filebeat-7.10.1' geladen. 2020-12-19T11:12:00.075Z INFO [Indexverwaltung] idxmgmt/std.go:298 Indexvorlage geladen. 2020-12-19T11:12:00.077Z INFO [Indexverwaltung] idxmgmt/std.go:309 Schreibalias erfolgreich generiert. Indexeinrichtung abgeschlossen. Laden von Dashboards (Kibana muss ausgeführt und erreichbar sein) 2020-12-19T11:12:00.078Z INFO Kibana/Kunde.go:119 Kibana-URL: http://172.16.56.5:5601 2020-12-19T11:12:03.995Z INFO Kibana/Klient.go:119 Kibana-URL: http://172.16.56.5:5601 2020-12-19T11:13:13.600Z INFO Instanz/Beat.go:815 Kibana-Dashboards erfolgreich geladen. Geladene Dashboards 

Navigieren Sie zum Kibana-Dashboard, um Ihre Daten zu visualisieren.

Fazit

Wir haben Elastic Stack installiert und Beats konfiguriert, um die Metriken und Protokolle abzurufen. Es gibt andere Beats, die mit dem gleichen Verfahren wie oben beschrieben konfiguriert werden können.

In diesen anderen Artikeln finden Sie interessante Überwachungstools:

So installieren Sie Netdata auf Kubernetes mit Helm

Automatisieren Sie Icinga2-Konfigurationen mit Icinga Director auf CentOS | RHEL 8

Installieren Sie Nessus Vulnerability Scanner auf Kali Linux 2020.x
So installieren Sie Nessus auf Kali Linux 2020.x?. Willkommen zu einer der Kali Linux-Anleitungen zur Installation des Nessus Vulnerability Scanners u...
Sichern Sie den iRedMail-Server mit dem SSL-Zertifikat von Let's Encrypt
In unserem vorherigen Handbuch haben wir gesehen, wie man iRedMail Server auf CentOS 7 installieren und konfigurieren kann. Die Standardinstallation v...
Erstellen Sie eine private PKI/TLS-CA für die Zertifikatsverwaltung mit CloudFlare CFSSL
PKI/TLS-Toolkit von CloudFlareCFSSL wurde von der CFSSL GitHub-Seite übernommen und ist CloudFlares Open Source PKI/TLS Schweizer Taschenmesser. Es is...

Website für Gadgets, Betriebssysteme und moderne Technologie. Viele interessante Artikel und nützliche Tipps