En este artículo, exploraremos cómo implementar Elasticsearch y Kibana usar Docker Compose. Estos son dos componentes clave de ELK Stack( Elasticsearch, Logstash, Kibana), que lo ayudan a buscar, analizar y visualizar datos de manera efectiva. A continuación, se detallan las configuraciones y cómo funciona cada componente.
1. Elasticsearch
a. Configuración básica
Elasticsearch está configurado para ejecutarse en un contenedor Docker con los siguientes parámetros:
Imagen: Elasticsearch Se utiliza la imagen oficial, versión
8.17.2
.Modo de nodo único: habilitado a través de la variable de entorno
discovery.type=single-node
.Seguridad: La seguridad de X-Pack está habilitada(
xpack.security.enabled=true
) y la contraseña delelastic
usuario está configurada comoYVG6PKplG6ugGOw
.Red: Elasticsearch escucha en todas las interfaces de red(
network.host=0.0.0.0
).Memoria JVM: configurada con
-Xms1g
(memoria inicial) y-Xmx1g
(memoria máxima).
banda Ports Volumes
Ports: El puerto
9200
(HTTP) y9300
(comunicación interna) se asignan desde el contenedor al host.Volumes: Los datos de Elasticsearch se almacenan en el
elasticsearch-data
volumen.
c. Control de salud
Se configura una comprobación de estado para supervisar Elasticsearch el estado de llamando a la /_cluster/health
API con el elastic
usuario. Si la API no responde, el contenedor se reiniciará.
2. Kibana
a. Configuración básica
Kibana está configurado para conectarse Elasticsearch y ejecutarse en un contenedor Docker con los siguientes parámetros:
Imagen: Kibana Se utiliza la imagen oficial, versión
8.17.2
.Elasticsearch Conexión: La Elasticsearch dirección está establecida en
http://elasticsearch:9200
.Autenticación: Kibana utiliza
kibana_user
la contraseñaYVG6PKplG6ugGOw
para conectarse a Elasticsearch.
b. Ports y redes
Ports: El puerto
5601
se asigna desde el contenedor al host para acceder a la Kibana interfaz.Redes: Kibana está conectado a
elk-network
.
c. Dependencia de Elasticsearch
Kibana Sólo se inicia cuando Elasticsearch está listo, lo que garantiza una conexión exitosa entre los dos servicios.
3. Volumen y red
a. Volume
elasticsearch-data: Este volumen se utiliza para almacenar Elasticsearch datos, lo que garantiza su persistencia incluso si se elimina el contenedor.
b. Red
elk-network:
bridge
Se crea una red para conectar Elasticsearch y Kibana brindar servicios.
4. Cómo utilizar
a. Inicio de los servicios
Para iniciar Elasticsearch y Kibana ejecutar el siguiente comando:
b. Creación de un Kibana usuario(si es necesario)
Si desea utilizar un usuario dedicado para Kibana, puede crear uno con el siguiente comando:
Para utilizar un token en lugar de una contraseña, puede crear una con el siguiente comando:
5. Solución de problemas
Si encuentra errores, puede verificar los registros del contenedor mediante:
Para reiniciar Kibana:
Contenido completo del Docker Compose expediente
A continuación el contenido completo del docker-compose-els.yml
archivo:
Conclusión
Con esta Docker Compose configuración, puede implementar Elasticsearch y Kibana satisfacer fácilmente sus necesidades de búsqueda, análisis y visualización de datos. ¡Personalice y amplíe esta configuración para que se ajuste a los requisitos específicos de su proyecto!