Menu

Installer et Configurer la Stack ELK (Elasticsearch, Logstash, Kibana, Filebeat)

📅January 24, 2025, 16 minutes

La stack ELK est une solution puissante pour collecter, analyser et visualiser des données en temps réel. Ce guide pas à pas explique comment l’installer et la configurer.


Étape 1 : Installer Elasticsearch

1. Ajouter le dépôt Elastic

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/elastic-archive-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list sudo apt update

2. Installer Elasticsearch

sudo apt install elasticsearch

3. Configurer Elasticsearch

Dans /etc/elasticsearch/elasticsearch.yml, configure le réseau pour accepter les connexions locales ou externes :

network.host: 0.0.0.0 http.port: 9200

4. Démarrer Elasticsearch

sudo systemctl enable elasticsearch sudo systemctl start elasticsearch

5. Tester Elasticsearch

curl -X GET "http://localhost:9200"

Étape 2 : Installer Kibana

1. Installer Kibana

sudo apt install kibana

2. Configurer Kibana

Dans /etc/kibana/kibana.yml, configure Kibana pour se connecter à Elasticsearch :

server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"]

3. Ajouter un token de service pour Kibana

Crée un token dédié :

sudo /usr/share/elasticsearch/bin/elasticsearch-service-tokens create kibana default

Ajoute le token dans kibana.yml :

elasticsearch.serviceAccountToken: "your_generated_token"

4. Démarrer Kibana

sudo systemctl enable kibana sudo systemctl start kibana

5. Accéder à Kibana

Dans un navigateur, ouvre :

http://<adresse_IP>:5601

Étape 3 : Installer Logstash

1. Installer Logstash

sudo apt install logstash

2. Configurer Logstash

Crée un pipeline simple dans /etc/logstash/conf.d/01-simple.conf :

input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "logstash-%{+YYYY.MM.dd}" } }

3. Démarrer Logstash

sudo systemctl enable logstash sudo systemctl start logstash

Étape 4 : Installer Filebeat

1. Installer Filebeat

sudo apt install filebeat

2. Configurer Filebeat

Dans /etc/filebeat/filebeat.yml, configure la sortie vers Logstash :

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

3. Configurer les modules

Active les modules nécessaires (par exemple, Apache) :

sudo filebeat modules enable apache

4. Charger les dashboards dans Kibana

filebeat setup --dashboards

5. Démarrer Filebeat

sudo systemctl enable filebeat sudo systemctl start filebeat

Étape 5 : Vérifier la Stack

1. Vérifier Elasticsearch

  • Tester la connexion :
    curl -u elastic:your_password -X GET "http://localhost:9200"
  • Vérifier les indices :
    curl -u elastic:your_password -X GET "http://localhost:9200/_cat/indices?v"

2. Vérifier Kibana

  • Accéder à Kibana dans un navigateur :
    http://<adresse_IP>:5601

3. Vérifier Logstash

  • Vérifier que Logstash est en écoute :
    sudo netstat -plnt | grep 5044
  • Envoyer un message de test :
    echo '{"message": "Hello ELK Stack"}' | /usr/share/logstash/bin/logstash -e 'input { stdin {} } output { stdout { codec => rubydebug } }'

4. Vérifier Filebeat

  • Vérifier les logs Filebeat :
    sudo tail -f /var/log/filebeat/filebeat
  • Confirmer que les données apparaissent dans Kibana (index filebeat-*).

Étape 6 : Sécuriser la Stack

  1. Configurer HTTPS :

    • Génére des certificats auto-signés pour Elasticsearch et Kibana.
    • Modifie la configuration pour activer HTTPS.
  2. Créer des utilisateurs spécifiques :

    • Ajoute des utilisateurs dans Kibana sous Stack Management > Users.
    • Attribue des rôles limités aux utilisateurs.

Conclusion

La stack ELK est maintenant opérationnelle. Tu peux :

  • Visualiser les logs et données dans Kibana.
  • Créer des dashboards et alertes.
  • Étendre la stack en ajoutant des métriques avec Metricbeat ou des traces avec APM.