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
- Elasticsearch — verteiltes Such- und Analysesystem, das für das Speichern und Suchen von Logs verwendet wird.
- Logstash — ein Tool zum Sammeln, Verarbeiten und Weiterleiten von Logs in Elasticsearch.
- 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:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Füge das Elasticsearch-Repository hinzu:
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
sudo apt-get install elasticsearch
3. Elasticsearch starten und Autostart aktivieren
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Auf MacOS
1. Installation über Homebrew
brew update
brew install elasticsearch
2. Starten von Elasticsearch
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:
.\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:
sudo apt-get install logstash
2. Konfiguration von Logstash
Erstelle eine Konfigurationsdatei logstash.conf:
sudo nano /etc/logstash/conf.d/logstash.conf
Ein Beispiel für die Konfiguration zum Sammeln von Docker-Logs:
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:
sudo systemctl start logstash
sudo systemctl enable logstash
Auf MacOS
1. Installation von Logstash über Homebrew
brew update
brew install logstash
2. Konfiguration von Logstash
Erstelle die Konfigurationsdatei logstash.conf im Konfigurationsordner von Logstash:
nano /usr/local/etc/logstash/logstash.conf
Ein Beispiel für die Konfiguration:
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:
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:
notepad C:\logstash\config\logstash.conf
Ein Beispiel für die Konfiguration:
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:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Installation von Kibana
Auf Linux
1. Installation von Kibana
Installiere Kibana:
sudo apt-get install kibana
2. Starten und Aktivieren von Autostart für Kibana
Starte Kibana und aktiviere den Autostart:
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
brew update
brew install kibana
2. Starten von Kibana
Starte Kibana über Homebrew:
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:
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:
sudo apt-get install filebeat
2. Konfiguration von Filebeat
Konfiguriere Filebeat, um Docker-Logs zu sammeln:
sudo nano /etc/filebeat/filebeat.yml
Beispielkonfiguration:
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:
sudo systemctl start filebeat
sudo systemctl enable filebeat
Auf MacOS
1. Installation von Filebeat mit Homebrew
brew update
brew install filebeat
2. Konfiguration von Filebeat
Konfiguriere Filebeat, indem du die Datei filebeat.yml
bearbeitest:
nano /usr/local/etc/filebeat/filebeat.yml
Beispielkonfiguration:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeat starten
Starte Filebeat mit Homebrew:
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
:
notepad C:\filebeat\filebeat.yml
Beispielkonfiguration:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeat starten
Starte Filebeat:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION