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
- Elasticsearch — un système de recherche et d'analyse distribué utilisé pour stocker et rechercher les logs.
- Logstash — un outil pour collecter, traiter et envoyer les logs à Elasticsearch.
- 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 :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Ajoutez le dépôt 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. Installation de Elasticsearch
sudo apt-get install elasticsearch
3. Démarrage et activation au démarrage automatique de Elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Sur MacOS
1. Installation via Homebrew
brew update
brew install elasticsearch
2. Démarrage de Elasticsearch
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 :
.\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 :
sudo apt-get install logstash
2. Configuration de Logstash
Crée un fichier de configuration logstash.conf :
sudo nano /etc/logstash/conf.d/logstash.conf
Exemple de config pour collecter les logs Docker :
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 :
sudo systemctl start logstash
sudo systemctl enable logstash
Sur MacOS
1. Installation de Logstash avec Homebrew
brew update
brew install logstash
2. Configuration de Logstash
Crée un fichier de configuration logstash.conf dans le dossier de config de Logstash :
nano /usr/local/etc/logstash/logstash.conf
Exemple de config :
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 :
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 :
notepad C:\logstash\config\logstash.conf
Exemple de config :
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 :
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Installation de Kibana
Sur Linux
1. Installation de Kibana
Installe Kibana :
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 :
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana sera accessible à l'adresse http://localhost:5601.
Sur MacOS
1. Installation de Kibana via Homebrew
brew update
brew install kibana
2. Démarrage de Kibana
Démarre Kibana via Homebrew :
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 :
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 :
sudo apt-get install filebeat
2. Configuration de Filebeat
Configure Filebeat pour collecter les logs Docker :
sudo nano /etc/filebeat/filebeat.yml
Exemple de configuration :
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 :
sudo systemctl start filebeat
sudo systemctl enable filebeat
Sur MacOS
1. Installation de Filebeat via Homebrew
brew update
brew install filebeat
2. Configuration de Filebeat
Configure Filebeat en éditant le fichier filebeat.yml
:
nano /usr/local/etc/filebeat/filebeat.yml
Exemple de configuration :
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 :
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
:
notepad C:\filebeat\filebeat.yml
Exemple de configuration :
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Démarrage de Filebeat
Démarre Filebeat :
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION