7.1 Komponenty ELK Stack
ELK Stack, składający się z Elasticsearch, Logstash i Kibana, to potężne narzędzie do centralnego logowania i analizy danych. Pozwala zbierać, przechowywać, analizować i wizualizować logi z różnych źródeł, w tym z kontenerów Docker. W tym wykładzie szczegółowo omówimy, jak skonfigurować ELK Stack do centralnego logowania kontenerów Docker.
Komponenty ELK Stack
- Elasticsearch — rozproszony system wyszukiwania i analizy, używany do przechowywania i wyszukiwania logów.
- Logstash — narzędzie do zbierania, przetwarzania i przesyłania logów do Elasticsearch.
- Kibana — interfejs webowy do wizualizacji i analizy danych przechowywanych w Elasticsearch.
7.2 Instalacja Elasticsearch
Na Linuxie
1. Dodanie repozytorium Elasticsearch
Pobierz i zainstaluj klucz publiczny repozytorium:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Dodaj repozytorium Elasticsearch:
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. Instalacja Elasticsearch
sudo apt-get install elasticsearch
3. Uruchomienie i włączenie autostartu Elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Na MacOS
1. Instalacja przez Homebrew
brew update
brew install elasticsearch
2. Uruchomienie Elasticsearch
elasticsearch
Na Windows
1. Pobranie pliku instalacyjnego
Pobierz najnowszą wersję Elasticsearch z oficjalnej strony: https://www.elastic.co/downloads/elasticsearch.
2. Instalacja Elasticsearch
Uruchom pobrany plik instalacyjny i postępuj zgodnie z instrukcjami na ekranie.
3. Uruchomienie Elasticsearch
Po zainstalowaniu przejdź do katalogu z Elasticsearch i uruchom usługę przez PowerShell:
.\bin\elasticsearch.bat
Aby dodać Elasticsearch do autostartu, dodaj go do usług Windows za pomocą services.msc
.
7.3 Instalacja Logstash
Na Linux
1. Instalacja Logstash
Zainstaluj Logstash z repozytorium Elastic:
sudo apt-get install logstash
2. Konfiguracja Logstash
Utwórz plik konfiguracyjny logstash.conf:
sudo nano /etc/logstash/conf.d/logstash.conf
Przykład konfiguracji do zbierania logów z Docker:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Uruchamianie i włączanie autostartu Logstash
Uruchom i włącz autostart Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
Na MacOS
1. Instalacja Logstash przez Homebrew
brew update
brew install logstash
2. Konfiguracja Logstash
Utwórz plik konfiguracyjny logstash.conf w folderze konfiguracji Logstash:
nano /usr/local/etc/logstash/logstash.conf
Przykład konfiguracji:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Uruchamianie Logstash
Uruchom Logstash przez Homebrew:
logstash -f /usr/local/etc/logstash/logstash.conf
Na Windows
1. Pobranie i instalacja Logstash
Pobierz najnowszą wersję Logstash z oficjalnej strony: https://www.elastic.co/downloads/logstash.
Rozpakuj archiwum Logstash w dogodne miejsce (np. C:\logstash
).
2. Konfiguracja Logstash
Utwórz plik konfiguracyjny logstash.conf w folderze konfiguracji Logstash:
notepad C:\logstash\config\logstash.conf
Przykład konfiguracji:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Uruchamianie Logstash
Uruchom Logstash z konfiguracją:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Instalacja Kibana
Na Linux
1. Instalacja Kibana
Zainstaluj Kibana:
sudo apt-get install kibana
2. Uruchomienie i włączenie autostartu Kibana
Uruchom i włącz autostart Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana będzie dostępna pod adresem http://localhost:5601.
Na MacOS
1. Instalacja Kibana przez Homebrew
brew update
brew install kibana
2. Uruchomienie Kibana
Uruchom Kibana przez Homebrew:
brew services start kibana
Kibana będzie dostępna pod adresem http://localhost:5601.
Na Windows
1. Pobranie i instalacja Kibana
Pobierz najnowszą wersję Kibana z oficjalnej strony: https://www.elastic.co/downloads/kibana.
Rozpakuj archiwum Kibana w wygodne miejsce (np. C:\kibana
).
2. Uruchomienie Kibana
Uruchom Kibana:
cd C:\kibana\bin
kibana.bat
Kibana będzie dostępna pod adresem http://localhost:5601.
8.5 Konfiguracja Filebeat do zbierania logów z Dockera
Na Linux
1. Instalacja Filebeat
Zainstaluj Filebeat z repozytorium Elastic:
sudo apt-get install filebeat
2. Konfiguracja Filebeat
Skonfiguruj Filebeat do zbierania logów z Dockera:
sudo nano /etc/filebeat/filebeat.yml
Przykład konfiguracji:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Uruchomienie i włączenie autostartu Filebeat
Uruchom i włącz autostart Filebeat:
sudo systemctl start filebeat
sudo systemctl enable filebeat
Na MacOS
1. Instalacja Filebeat przez Homebrew
brew update
brew install filebeat
2. Konfiguracja Filebeat
Skonfiguruj Filebeat, edytując plik filebeat.yml
:
nano /usr/local/etc/filebeat/filebeat.yml
Przykład konfiguracji:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Uruchomienie Filebeat
Uruchom Filebeat za pomocą Homebrew:
brew services start filebeat
Na Windows
1. Pobranie i instalacja Filebeat
Pobierz najnowszą wersję Filebeat z oficjalnej strony: https://www.elastic.co/downloads/beats/filebeat.
Rozpakuj archiwum Filebeat w dogodnym miejscu (np. C:\filebeat
).
2. Konfiguracja Filebeat
Edytuj plik filebeat.yml
:
notepad C:\filebeat\filebeat.yml
Przykład konfiguracji:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Uruchomienie Filebeat
Uruchom Filebeat:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION