
Introducción
Código en Github: Elasticsearch + Docker Parte 2
Vamos a configurar Elasticsearch, Kibana, Elastic Agent, Fleet Server y APM con Docker Compose.
Este video asume que ya sabes cómo configurar Elasticsearch, Kibana, Beats y Logstash sin usar un contenedor. Si no es así, puedes...Vaya aquí configuración. Y deberías entender Agente elástico, Servidor de flotas y APM.
Requisitos
- Una nueva instancia de máquina Linux como Ubuntu 20.04 para actuar como servidor
- Docker y Docker-Compose instalados
- Contenedores Docker del video anterior de Docker + ELK
Paso 1 - Consulta el código [02:30]
Cierre los contenedores Docker que se estaban ejecutando anteriormente con el siguiente comando;
docker-compose down --remove-orphans --volumes
Crea un nuevo directorio para esta parte 2
mkdir ../es2
cd ../es2
Inicializar un nuevo repositorio git.
git init;
git remote add origin https://github.com/evermight/elastic-stack-docker-part-two.git;
git fetch -a;
git checkout main
Enumere todos los archivos en el directorio.
ls -alh
Construya con el siguiente comando docker compose.
docker-compose up --build -d
Ejecute el siguiente comando para obtener los detalles de todos los contenedores:
docker ps -a
Obtenga la dirección IP de su servidor, ya que se utilizará como URL para los contenedores Docker.
hostname -i
Visita la página de Kibana con http://<YOUR IP ADDRESS>:5601
.Luego, inicie sesión con el nombre de usuario y la contraseña elásticos que aparecen en la .env
archivo
username: elastic
password: changeme
Página de inicio de sesión de Kibana
Paso 2: Confirmar que los servicios estén operativos [06:45]
Ir a Fleet > settings, y haga clic en el icono del lápiz EDI. Consulte la imagen a continuación.
Editar la salida del servidor de flota
Para obtener la huella digital del certificado, ejecute los siguientes comandos:
docker cp es-cluster-es01-1:/usr/share/elasticsearch/config/certs/ca/ca.crt /tmp/.
y ejecute lo siguiente para obtener la huella digital del certificado.
openssl x509 -fingerprint -sha256 -noout -in /tmp/ca.crt | awk -F"=" {' print $2 '} | sed s/://g
Utilice el siguiente comando para generar el certificado;
cat /tmp/ca.crt
Una vez que tenga el texto del certificado, lo agregaremos a un formato yml e ingresaremos toda esta información en la pantalla Configuración de flota anterior.
ssl:
certificate_authorities:
- |
y agregue el contenido y el espacio según corresponda como se muestra en la imagen a continuación.
Certificado en estilo Yml
Actualice los campos en su Kibana como se muestra en la imagen de abajo;
Cambios en el servidor de flotas
Luego haga clic en Guardar y aplicar la configuración, y luego proceda a hacer clic en Guardar e implementar.Ahora regresa a la Flota > Agente y actualice la pestaña. Debería ver algo similar a la imagen de abajo, lo que indica que Elastic Agent, AM y Fleet Server están activos y en funcionamiento.
Elastic Agent, APM y Fleet Server se ejecutaron correctamente
Para ver los servicios de APM vaya a Observabilidad > APM > Servicios, y deberías ver algo similar a la imagen de abajo
Éxito de APM
Para ver los registros de la aplicación web de Python, utilice el siguiente comando;
docker logs es-cluster-webapp-1
Debería obtener un resultado similar a la imagen de abajo;
Registros de aplicaciones web
Vaya a su navegador y ejecute la URL http://0.0.0.0:8000
La aplicación web debería verse similar a la imagen de abajo;
Sitio web de la aplicación web
Haz clic en los botones de generación que aparecen ahí mismo para que la aplicación web envíe un mensaje a Elastic. Ve a Observabilidad > APM > Servicios > Mi servicio de Python > Descripción general Y pulsa "Actualizar" para ver las solicitudes realizadas. A continuación, se muestra una captura de pantalla de cómo se ve.
Solicitudes de my_python_service