Déployer un cluster Elasticsearch haute performance avec Kibana et Docker

Publié le 4 juillet 2025

Infrastructure
Logs
Recherche

Elasticsearch est une solution puissante et populaire pour la gestion des logs, la recherche plein texte et l'analyse de données. Ce guide explique comment déployer un cluster Elasticsearch performant avec Kibana via Docker Compose.

Prérequis

  • Serveur Linux avec Docker et Docker Compose
  • 3 nœuds minimum pour Elasticsearch
  • Ressources recommandées : 4 vCPU, 16 Go de RAM par nœud

Configuration Docker Compose

Créer docker-compose.yml :

version: '3.8'
services:

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.7.1
    container_name: elasticsearch
    environment:
      - node.name=es-node-1
      - cluster.name=es-cluster
      - discovery.seed_hosts=es-node-1,es-node-2,es-node-3
      - cluster.initial_master_nodes=es-node-1,es-node-2,es-node-3
      - bootstrap.memory_lock=true
      - ES_JAVA_OPTS=-Xms8g -Xmx8g
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic

  kibana:
    image: docker.elastic.co/kibana/kibana:8.7.1
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    ports:
      - 5601:5601
    networks:
      - elastic

networks:
  elastic:
    driver: bridge

volumes:
  esdata1:
    driver: local

Démarrage du cluster

docker-compose up -d

Vérifier le statut du cluster

curl -X GET "localhost:9200/_cluster/health?pretty"

Accéder à Kibana

  • URL : http://VOTRE_IP:5601
  • Connectez-vous avec le mot de passe généré à l'installation ou configuré manuellement.

Optimisation du cluster Elasticsearch

  • Activer les shards et réplicas adaptés à votre infrastructure
  • Utiliser un stockage SSD rapide
  • Configurer les index lifecycle policies (ILM)

Sécurité avancée

  • Activer l'authentification avec SSL/TLS
  • Déployer Elasticsearch derrière un reverse proxy (Nginx, Traefik)
  • Mettre en place des utilisateurs avec permissions via Kibana

Surveillance et alertes

  • Intégrer la stack Prometheus/Grafana avec Elasticsearch Exporter
  • Configurer des alertes via Kibana Alerts

Cas d'utilisation typiques

  • Centralisation des logs avec Filebeat ou Logstash
  • Monitoring applicatif et système
  • Recherche rapide et analytique en temps réel

Conclusion

Déployer un cluster Elasticsearch avec Kibana permet de centraliser, indexer et analyser efficacement de grandes quantités de données, indispensable pour une gestion optimale des logs et des recherches.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser