CodeGym /Cours /Docker SELF /Journalisation centralisée

Journalisation centralisée

Docker SELF
Niveau 22 , Leçon 1
Disponible

7.1 Composants de l'ELK Stack

ELK Stack, composé de Elasticsearch, Logstash et Kibana, est un outil puissant pour la journalisation centralisée et l'analyse des données. Il permet de collecter, stocker, analyser et visualiser les logs provenant de différentes sources, y compris les conteneurs Docker. Dans cette conférence, on va voir en détail comment configurer ELK Stack pour la journalisation centralisée des conteneurs Docker.

Composants de l'ELK Stack

  1. Elasticsearch — un système de recherche et d'analyse distribué utilisé pour stocker et rechercher les logs.
  2. Logstash — un outil pour collecter, traiter et envoyer les logs à Elasticsearch.
  3. Kibana — une interface web pour la visualisation et l'analyse des données stockées dans Elasticsearch.

7.2 Installation de Elasticsearch

Sur Linux

1. Ajout du dépôt Elasticsearch

Téléchargez et installez la clé publique du dépôt :

Terminal

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

Ajoutez le dépôt 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. Installation de Elasticsearch

Terminal

sudo apt-get install elasticsearch

3. Démarrage et activation au démarrage automatique de Elasticsearch

Terminal

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Sur MacOS

1. Installation via Homebrew

Terminal

brew update
brew install elasticsearch

2. Démarrage de Elasticsearch

Terminal

elasticsearch

Sur Windows

1. Téléchargement du fichier d'installation

Téléchargez la dernière version de Elasticsearch depuis le site officiel : https://www.elastic.co/downloads/elasticsearch.

2. Installation de Elasticsearch

Lancez le fichier d'installation téléchargé et suivez les instructions à l'écran.

3. Démarrage de Elasticsearch

Après l'installation, allez dans le dossier Elasticsearch et démarrez le service via PowerShell :

PowerShell

.\bin\elasticsearch.bat

Pour un démarrage automatique de Elasticsearch, ajoutez-le aux services Windows via services.msc.

7.3 Installation de Logstash

Sur Linux

1. Installation de Logstash

Installe Logstash depuis le repository Elastic :

Terminal

sudo apt-get install logstash

2. Configuration de Logstash

Crée un fichier de configuration logstash.conf :

Terminal

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

Exemple de config pour collecter les logs Docker :

plaintext

input {
  beats {
    port => 5044
  }
}

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

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

3. Lancer et activer Logstash au démarrage

Lance et active Logstash au démarrage :

Terminal

sudo systemctl start logstash
sudo systemctl enable logstash

Sur MacOS

1. Installation de Logstash avec Homebrew

Terminal

brew update
brew install logstash

2. Configuration de Logstash

Crée un fichier de configuration logstash.conf dans le dossier de config de Logstash :

Terminal

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

Exemple de config :

plaintext

input {
  beats {
    port => 5044
  }
}

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

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

3. Lancer Logstash

Lance Logstash avec Homebrew :

Terminal

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

Sur Windows

1. Télécharger et installer Logstash

Télécharge la dernière version de Logstash sur le site officiel : https://www.elastic.co/downloads/logstash.

Décompresse l'archive Logstash dans un endroit pratique (par exemple, C:\logstash).

2. Configuration de Logstash

Crée un fichier de configuration logstash.conf dans le dossier de config de Logstash :

PowerShell

notepad C:\logstash\config\logstash.conf

Exemple de config :

plaintext

input {
  beats {
    port => 5044
  }
}

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

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

3. Lancer Logstash

Lance Logstash avec la config :

PowerShell

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

7.4 Installation de Kibana

Sur Linux

1. Installation de Kibana

Installe Kibana :

Terminal

sudo apt-get install kibana

2. Démarrage et activation de l'exécution automatique de Kibana

Démarre et active l'exécution automatique de Kibana :

Terminal

sudo systemctl start kibana
sudo systemctl enable kibana

Kibana sera accessible à l'adresse http://localhost:5601.

Sur MacOS

1. Installation de Kibana via Homebrew

Terminal

brew update
brew install kibana

2. Démarrage de Kibana

Démarre Kibana via Homebrew :

Terminal

brew services start kibana

Kibana sera accessible à l'adresse http://localhost:5601.

Sur Windows

1. Téléchargement et installation de Kibana

Télécharge la dernière version de Kibana depuis le site officiel : https://www.elastic.co/downloads/kibana.

Décompresse l'archive Kibana dans un endroit pratique (par exemple, C:\kibana).

2. Démarrage de Kibana

Démarre Kibana :

PowerShell

cd C:\kibana\bin
kibana.bat

Kibana sera accessible à l'adresse http://localhost:5601.

8.5 Configuration de Filebeat pour collecter les logs Docker

Sur Linux

1. Installation de Filebeat

Installe Filebeat depuis le dépôt Elastic :

Terminal

sudo apt-get install filebeat

2. Configuration de Filebeat

Configure Filebeat pour collecter les logs Docker :

Terminal

sudo nano /etc/filebeat/filebeat.yml

Exemple de configuration :

Yaml

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

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

3. Démarrage et activation du démarrage automatique de Filebeat

Démarre et active le démarrage automatique de Filebeat :

Terminal

sudo systemctl start filebeat
sudo systemctl enable filebeat

Sur MacOS

1. Installation de Filebeat via Homebrew

Terminal

brew update
brew install filebeat

2. Configuration de Filebeat

Configure Filebeat en éditant le fichier filebeat.yml :

Terminal

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

Exemple de configuration :

Yaml

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

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

3. Démarrage de Filebeat

Démarre Filebeat via Homebrew :

Terminal

brew services start filebeat

Sur Windows

1. Téléchargement et installation de Filebeat

Télécharge la dernière version de Filebeat depuis le site officiel : https://www.elastic.co/downloads/beats/filebeat.

Décompresse l'archive Filebeat dans un emplacement pratique (par exemple, C:\filebeat).

2. Configuration de Filebeat

Édite le fichier filebeat.yml :

PowerShell

notepad C:\filebeat\filebeat.yml

Exemple de configuration :

Yaml

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

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

3. Démarrage de Filebeat

Démarre Filebeat :

PowerShell

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