Dans cet article, nous allons découvrir comment déployer Elasticsearch et Kibana utiliser Docker Compose. Il s'agit de deux composants clés de la pile ELK( Elasticsearch, Logstash, Kibana), qui vous aident à rechercher, analyser et visualiser efficacement les données. Vous trouverez ci-dessous les configurations détaillées et le fonctionnement de chaque composant.
1. Elasticsearch
a. Configuration de base
Elasticsearch est configuré pour s'exécuter dans un conteneur Docker avec les paramètres suivants :
Image: L' Elasticsearch image officielle, version
8.17.2
, est utilisée.Mode nœud unique : activé via la variable d’environnement
discovery.type=single-node
.Sécurité: la sécurité X-Pack est activée(
xpack.security.enabled=true
) et le mot de passe de l'elastic
utilisateur est défini surYVG6PKplG6ugGOw
.Réseau: Elasticsearch écoute sur toutes les interfaces réseau(
network.host=0.0.0.0
).Mémoire JVM: configurée avec
-Xms1g
(mémoire initiale) et-Xmx1g
(mémoire maximale).
groupe Ports Volumes
Ports: Le port
9200
(HTTP) et9300
(communication interne) sont mappés du conteneur à l'hôte.Volumes: Les données Elasticsearch sont stockées dans le
elasticsearch-data
volume.
c. Bilan de santé
Un contrôle de santé est configuré pour surveiller Elasticsearch l'état de en appelant l' /_cluster/health
API avec l' elastic
utilisateur. Si l'API ne répond pas, le conteneur redémarre.
2. Kibana
a. Configuration de base
Kibana est configuré pour se connecter Elasticsearch et s'exécuter dans un conteneur Docker avec les paramètres suivants :
Image: L' Kibana image officielle, version
8.17.2
, est utilisée.Elasticsearch Connexion: L' Elasticsearch adresse est définie sur
http://elasticsearch:9200
.Authentification: Kibana utilise le
kibana_user
avec le mot de passeYVG6PKplG6ugGOw
pour se connecter à Elasticsearch.
b. Ports et les réseaux
Ports: Le port
5601
est mappé du conteneur à l'hôte pour accéder à l' Kibana interface.Réseaux: Kibana est connecté au
elk-network
.
c. Dépendance à l'égard Elasticsearch
Kibana ne démarre qu'une fois Elasticsearch prêt, garantissant une connexion réussie entre les deux services.
3. Volume et réseau
a. Volume
elasticsearch-data: Ce volume est utilisé pour stocker Elasticsearch des données, garantissant la persistance des données même si le conteneur est supprimé.
b. Réseau
elk-network: Un
bridge
réseau est créé pour connecter Elasticsearch et Kibana services.
4. Mode d'emploi
a. Démarrage des services
Pour démarrer Elasticsearch et Kibana exécuter la commande suivante :
b. Création d'un Kibana utilisateur(si nécessaire)
Si vous souhaitez utiliser un utilisateur dédié pour Kibana, vous pouvez en créer un avec la commande suivante :
Pour utiliser un token au lieu d'un mot de passe, vous pouvez en créer un avec la commande suivante :
5. Dépannage
Si vous rencontrez des erreurs, vous pouvez vérifier les journaux du conteneur en utilisant :
Pour redémarrer Kibana:
Contenu intégral du Docker Compose fichier
Vous trouverez ci-dessous le contenu complet du docker-compose-els.yml
fichier:
Conclusion
Avec cette Docker Compose configuration, vous pouvez facilement déployer Elasticsearch et Kibana répondre à vos besoins de recherche, d'analyse et de visualisation de données. Personnalisez et étendez cette configuration pour l'adapter aux exigences spécifiques de votre projet !