CodeGym /Corsi /Docker SELF /Logging Centralizzato

Logging Centralizzato

Docker SELF
Livello 22 , Lezione 1
Disponibile

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

  1. Elasticsearch — un sistema distribuito di ricerca e analisi utilizzato per memorizzare e cercare i log.
  2. Logstash — uno strumento per raccogliere, elaborare e inviare i log a Elasticsearch.
  3. 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:

Terminal

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

Aggiungi il repository di Elasticsearch:

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. Installazione di Elasticsearch

Terminal

sudo apt-get install elasticsearch

3. Avvio e abilitazione dell'avvio automatico di Elasticsearch

Terminal

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Su MacOS

1. Installazione con Homebrew

Terminal

brew update
brew install elasticsearch

2. Avvio di Elasticsearch

Terminal

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:

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:

Terminal

sudo apt-get install logstash

2. Configurazione di Logstash

Crea un file di configurazione logstash.conf:

Terminal

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

Esempio di configurazione per raccogliere i log di Docker:

plaintext

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:

Terminal

sudo systemctl start logstash
sudo systemctl enable logstash

Su MacOS

1. Installazione di Logstash tramite Homebrew

Terminal

brew update
brew install logstash

2. Configurazione di Logstash

Crea un file di configurazione logstash.conf nella cartella di configurazione di Logstash:

Terminal

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

Esempio di configurazione:

plaintext

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:

Terminal

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:

PowerShell

notepad C:\logstash\config\logstash.conf

Esempio di configurazione:

plaintext

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:

PowerShell

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

7.4 Installazione di Kibana

Su Linux

1. Installazione di Kibana

Installa Kibana:

Terminal

sudo apt-get install kibana

2. Avvio e impostazione avvio automatico di Kibana

Avvia e abilita l'avvio automatico di Kibana:

Terminal

sudo systemctl start kibana
sudo systemctl enable kibana

Kibana sarà disponibile all'indirizzo http://localhost:5601.

Su MacOS

1. Installazione di Kibana tramite Homebrew

Terminal

brew update
brew install kibana

2. Avvio di Kibana

Avvia Kibana tramite Homebrew:

Terminal

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:

PowerShell

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:

Terminal

sudo apt-get install filebeat

2. Configurazione di Filebeat

Configura Filebeat per raccogliere i log di Docker:

Terminal

sudo nano /etc/filebeat/filebeat.yml

Esempio di configurazione:

Yaml

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:

Terminal

sudo systemctl start filebeat
sudo systemctl enable filebeat

Su MacOS

1. Installazione di Filebeat tramite Homebrew

Terminal

brew update
brew install filebeat

2. Configurazione di Filebeat

Configura Filebeat modificando il file filebeat.yml:

Terminal

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

Esempio di configurazione:

Yaml

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

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

3. Avvio di Filebeat

Avvia Filebeat tramite Homebrew:

Terminal

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:

PowerShell

notepad C:\filebeat\filebeat.yml

Esempio di configurazione:

Yaml

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

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

3. Avvio di Filebeat

Avvia Filebeat:

PowerShell

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