CodeGym /Kurse /Docker SELF /Zentrales Logging

Zentrales Logging

Docker SELF
Level 22 , Lektion 1
Verfügbar

7.1 Komponenten des ELK Stack

Der ELK Stack, bestehend aus Elasticsearch, Logstash und Kibana, ist ein leistungsstarkes Tool für zentrales Logging und Datenanalyse. Er erlaubt das Sammeln, Speichern, Analysieren und Visualisieren von Logs aus verschiedenen Quellen, einschließlich Docker-Containern. In dieser Vorlesung schauen wir uns im Detail an, wie man den ELK Stack für das zentrale Logging von Docker-Containern konfiguriert.

Komponenten des ELK Stack

  1. Elasticsearch — verteiltes Such- und Analysesystem, das für das Speichern und Suchen von Logs verwendet wird.
  2. Logstash — ein Tool zum Sammeln, Verarbeiten und Weiterleiten von Logs in Elasticsearch.
  3. Kibana — eine Web-Oberfläche zur Visualisierung und Analyse von Daten, die in Elasticsearch gespeichert sind.

7.2 Installation von Elasticsearch

Auf Linux

1. Repository für Elasticsearch hinzufügen

Lade den öffentlichen Repository-Schlüssel herunter und installiere ihn:

Terminal

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Füge das Elasticsearch-Repository hinzu:

Terminal

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > \
/etc/apt/sources.list.d/elastic-7.x.list'
sudo apt-get update

2. Installation von Elasticsearch

Terminal

sudo apt-get install elasticsearch

3. Elasticsearch starten und Autostart aktivieren

Terminal

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Auf MacOS

1. Installation über Homebrew

Terminal

brew update
brew install elasticsearch

2. Starten von Elasticsearch

Terminal

elasticsearch

Auf Windows

1. Installationsdatei herunterladen

Lade die neueste Version von Elasticsearch von der offiziellen Website herunter: https://www.elastic.co/downloads/elasticsearch.

2. Installation von Elasticsearch

Starte die heruntergeladene Installationsdatei und folge den Anweisungen auf dem Bildschirm.

3. Starten von Elasticsearch

Nach der Installation wechsle in den Ordner mit Elasticsearch, und starte den Dienst über PowerShell:

PowerShell

.\bin\elasticsearch.bat

Um Elasticsearch automatisch zu starten, füge es über services.msc zu den Windows-Diensten hinzu.

7.3 Installation von Logstash

Auf Linux

1. Installation von Logstash

Installiere Logstash aus dem Elastic Repository:

Terminal

sudo apt-get install logstash

2. Konfiguration von Logstash

Erstelle eine Konfigurationsdatei logstash.conf:

Terminal

sudo nano /etc/logstash/conf.d/logstash.conf

Ein Beispiel für die Konfiguration zum Sammeln von Docker-Logs:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Starten und Aktivieren des Automatischen Starts von Logstash

Starte Logstash und aktiviere den automatischen Start:

Terminal

sudo systemctl start logstash
sudo systemctl enable logstash

Auf MacOS

1. Installation von Logstash über Homebrew

Terminal

brew update
brew install logstash

2. Konfiguration von Logstash

Erstelle die Konfigurationsdatei logstash.conf im Konfigurationsordner von Logstash:

Terminal

nano /usr/local/etc/logstash/logstash.conf

Ein Beispiel für die Konfiguration:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Starten von Logstash

Starte Logstash mit Homebrew:

Terminal

logstash -f /usr/local/etc/logstash/logstash.conf

Auf Windows

1. Herunterladen und Installation von Logstash

Lade die neueste Version von Logstash von der offiziellen Website herunter: https://www.elastic.co/downloads/logstash.

Entpacke das Logstash-Archiv an einem bequemen Ort (z. B. C:\logstash).

2. Konfiguration von Logstash

Erstelle eine Konfigurationsdatei logstash.conf im Konfigurationsordner von Logstash:

PowerShell

notepad C:\logstash\config\logstash.conf

Ein Beispiel für die Konfiguration:

plaintext

input {
  beats {
    port => 5044
  }
}

filter {
  json {
    source => "message"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "docker-logs-%{+YYYY.MM.dd}"
  }
}

3. Starten von Logstash

Starte Logstash mit der Konfiguration:

PowerShell

cd C:\logstash
bin\logstash.bat -f config\logstash.conf

7.4 Installation von Kibana

Auf Linux

1. Installation von Kibana

Installiere Kibana:

Terminal

sudo apt-get install kibana

2. Starten und Aktivieren von Autostart für Kibana

Starte Kibana und aktiviere den Autostart:

Terminal

sudo systemctl start kibana
sudo systemctl enable kibana

Kibana wird unter http://localhost:5601 verfügbar sein.

Auf MacOS

1. Installation von Kibana über Homebrew

Terminal

brew update
brew install kibana

2. Starten von Kibana

Starte Kibana über Homebrew:

Terminal

brew services start kibana

Kibana wird unter http://localhost:5601 verfügbar sein.

Auf Windows

1. Herunterladen und Installation von Kibana

Lade die neueste Version von Kibana von der offiziellen Website herunter: https://www.elastic.co/downloads/kibana.

Entpacke das Kibana-Archiv an einen passenden Ort (zum Beispiel C:\kibana).

2. Starten von Kibana

Starte Kibana:

PowerShell

cd C:\kibana\bin
kibana.bat

Kibana wird unter http://localhost:5601 verfügbar sein.

8.5 Filebeat konfigurieren, um Docker-Logs zu sammeln

Auf Linux

1. Installation von Filebeat

Installiere Filebeat aus dem Elastic-Repository:

Terminal

sudo apt-get install filebeat

2. Konfiguration von Filebeat

Konfiguriere Filebeat, um Docker-Logs zu sammeln:

Terminal

sudo nano /etc/filebeat/filebeat.yml

Beispielkonfiguration:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Start und Autostart von Filebeat aktivieren

Starte Filebeat und aktiviere den Autostart:

Terminal

sudo systemctl start filebeat
sudo systemctl enable filebeat

Auf MacOS

1. Installation von Filebeat mit Homebrew

Terminal

brew update
brew install filebeat

2. Konfiguration von Filebeat

Konfiguriere Filebeat, indem du die Datei filebeat.yml bearbeitest:

Terminal

nano /usr/local/etc/filebeat/filebeat.yml

Beispielkonfiguration:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Filebeat starten

Starte Filebeat mit Homebrew:

Terminal

brew services start filebeat

Auf Windows

1. Download und Installation von Filebeat

Lade die neueste Version von Filebeat von der offiziellen Website herunter: https://www.elastic.co/downloads/beats/filebeat.

Entpacke das Filebeat-Archiv an einen geeigneten Ort (z.B. C:\filebeat).

2. Konfiguration von Filebeat

Bearbeite die Datei filebeat.yml:

PowerShell

notepad C:\filebeat\filebeat.yml

Beispielkonfiguration:

Yaml

filebeat.inputs:
- type: docker
  containers.ids:
    - '*'
  processors:
    - add_docker_metadata: ~

output.logstash:
  hosts: ["localhost:5044"]

3. Filebeat starten

Starte Filebeat:

PowerShell

cd C:\filebeat
filebeat.exe -e -c filebeat.yml
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION