7.1 Componenti di ELK Stack
ELK Stack, composto da Elasticsearch, Logstash e Kibana, è uno strumento potente per il log centralizzato e l'analisi dei dati. Permette di raccogliere, memorizzare, analizzare e visualizzare i log da varie fonti, inclusi i container Docker. In questa lezione vedremo in dettaglio come configurare ELK Stack per il log centralizzato dei container Docker.
Componenti di ELK Stack
- Elasticsearch — un sistema distribuito di ricerca e analisi utilizzato per memorizzare e cercare i log.
- Logstash — uno strumento per raccogliere, elaborare e inviare i log a Elasticsearch.
- Kibana — un'interfaccia web per la visualizzazione e l'analisi dei dati memorizzati in Elasticsearch.
7.2 Installazione di Elasticsearch
Su Linux
1. Aggiungere il repository di Elasticsearch
Scarica e installa la chiave pubblica del repository:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Aggiungi il repository di 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. Installazione di Elasticsearch
sudo apt-get install elasticsearch
3. Avvio e abilitazione dell'avvio automatico di Elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Su MacOS
1. Installazione con Homebrew
brew update
brew install elasticsearch
2. Avvio di Elasticsearch
elasticsearch
Su Windows
1. Download del file di installazione
Scarica l'ultima versione di Elasticsearch dal sito ufficiale: https://www.elastic.co/downloads/elasticsearch.
2. Installazione di Elasticsearch
Avvia il file di installazione scaricato e segui le istruzioni a schermo.
3. Avvio di Elasticsearch
Dopo l'installazione, vai nella cartella di Elasticsearch e avvia il servizio tramite PowerShell:
.\bin\elasticsearch.bat
Per l'avvio automatico di Elasticsearch, aggiungilo ai servizi di Windows tramite services.msc
.
7.3 Installazione di Logstash
Su Linux
1. Installazione di Logstash
Installa Logstash dal repository Elastic:
sudo apt-get install logstash
2. Configurazione di Logstash
Crea un file di configurazione logstash.conf:
sudo nano /etc/logstash/conf.d/logstash.conf
Esempio di configurazione per raccogliere i log di Docker:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Avviare e abilitare l'avvio automatico di Logstash
Avvia e abilita l'avvio automatico di Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
Su MacOS
1. Installazione di Logstash tramite Homebrew
brew update
brew install logstash
2. Configurazione di Logstash
Crea un file di configurazione logstash.conf nella cartella di configurazione di Logstash:
nano /usr/local/etc/logstash/logstash.conf
Esempio di configurazione:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Avviare Logstash
Avvia Logstash tramite Homebrew:
logstash -f /usr/local/etc/logstash/logstash.conf
Su Windows
1. Scaricare e installare Logstash
Scarica l'ultima versione di Logstash dal sito ufficiale: https://www.elastic.co/downloads/logstash.
Estrai l'archivio di Logstash in una posizione comoda (ad esempio, C:\logstash
).
2. Configurazione di Logstash
Crea un file di configurazione logstash.conf nella cartella di configurazione di Logstash:
notepad C:\logstash\config\logstash.conf
Esempio di configurazione:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Avviare Logstash
Avvia Logstash con la configurazione:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Installazione di Kibana
Su Linux
1. Installazione di Kibana
Installa Kibana:
sudo apt-get install kibana
2. Avvio e impostazione avvio automatico di Kibana
Avvia e abilita l'avvio automatico di Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana sarà disponibile all'indirizzo http://localhost:5601.
Su MacOS
1. Installazione di Kibana tramite Homebrew
brew update
brew install kibana
2. Avvio di Kibana
Avvia Kibana tramite Homebrew:
brew services start kibana
Kibana sarà disponibile all'indirizzo http://localhost:5601.
Su Windows
1. Scaricamento e installazione di Kibana
Scarica l'ultima versione di Kibana dal sito ufficiale: https://www.elastic.co/downloads/kibana.
Decomprimi l'archivio Kibana in una posizione comoda (ad esempio, C:\kibana
).
2. Avvio di Kibana
Avvia Kibana:
cd C:\kibana\bin
kibana.bat
Kibana sarà disponibile all'indirizzo http://localhost:5601.
8.5 Configurazione di Filebeat per la raccolta dei log di Docker
Su Linux
1. Installazione di Filebeat
Installa Filebeat dal repository di Elastic:
sudo apt-get install filebeat
2. Configurazione di Filebeat
Configura Filebeat per raccogliere i log di Docker:
sudo nano /etc/filebeat/filebeat.yml
Esempio di configurazione:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Avvio e abilitazione dell'avvio automatico di Filebeat
Avvia e abilita l'avvio automatico di Filebeat:
sudo systemctl start filebeat
sudo systemctl enable filebeat
Su MacOS
1. Installazione di Filebeat tramite Homebrew
brew update
brew install filebeat
2. Configurazione di Filebeat
Configura Filebeat modificando il file filebeat.yml
:
nano /usr/local/etc/filebeat/filebeat.yml
Esempio di configurazione:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Avvio di Filebeat
Avvia Filebeat tramite Homebrew:
brew services start filebeat
Su Windows
1. Scaricamento e installazione di Filebeat
Scarica l'ultima versione di Filebeat dal sito ufficiale: https://www.elastic.co/downloads/beats/filebeat.
Estrai l'archivio Filebeat in un luogo comodo (ad esempio, C:\filebeat
).
2. Configurazione di Filebeat
Modifica il file filebeat.yml
:
notepad C:\filebeat\filebeat.yml
Esempio di configurazione:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Avvio di Filebeat
Avvia Filebeat:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION