Instalar Elasticsearch y Kibana 9.x

Publicado el 22 de julio de 2025

« Ver todas las conferencias Contáctenos
Install Elasticsearch and Kibana 9.x

Introducción

Instalaremos Elasticsearch y Kibana. Utilizaremos la CA creada por Elasticsearch para crear certificados TLS con firma privada para ambos.según la documentación original. Utilizaremos direcciones IP para acceder tanto a Elasticsearch como a Kibana.

Código fuente:Encontrado en Github

Requisitos

En el video, usamos una instancia de Ubuntu 24.04 ejecutándose en una máquina virtual con 8 GB de memoria. La máquina virtual se ejecutará en una red privada local. Instalamos Elastic y Kibana en este mismo servidor.

Pasos

Paso 1 - Actualizar Ubuntu

La instalación de Ubuntu es completamente nueva. Actualizamos la distribución e instalamos algunas herramientas que solemos usar en ambas máquinas.

apt-get update && apt dist-upgrade -y && apt-get install -y vim curl zip gnupg gpg

Paso 2: Instalar Elasticsearch

Las instalaciones de Ubuntu necesitan estas dependencias, así que ejecute estos comandos en ambas:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/9.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-9.x.list apt-get update; apt-get install -y apt-transport-https; apt-get install -y elasticsearch;

Cuando se complete la instalación, asegúrese de anotar la contraseña.

Copy password for Elasticsearch

Paso 3: Configurar Elasticsearch

Editar elasticsearch.yml

Ir a la /etc/elasticsearch/elasticsearch.yml archivo. Edite los siguientes campos:

...etc... cluster.name: {anything you want} ...etc... network.host: 0.0.0.0 ...etc...

Nota: también puedes reemplazar network.host: 0.0.0.0 con la dirección IP de la máquina a la que desea que otros sistemas hagan referencia.

Cambiar de propietario

chown -R elasticsearch:elasticsearch /etc/elasticsearch

Paso 4: Iniciar Elasticsearch

Inicie elasticsearch con estos comandos:

systemctl enable elasticsearch; systemctl daemon-reload; systemctl start elasticsearch;

Confirme que elasticsearch está funcionando con este comando:

curl -X GET -u elastic:<password from step 2> https://{ip address of server}:9200 --cacert /etc/elasticsearch/certs/http_ca.crt

Deberías ver algo como esto:

Confirm Elasticsearch Success

Paso 5 - OPCIONAL - Cambiar la contraseña elástica

Puede cambiar la contraseña de su instancia de Elasticsearch con este comando /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i. Puedes omitir el -i Marca si deseas generar automáticamente la contraseña.

Paso 6 - Instalar Kibana

Dado que Kibana utiliza las mismas dependencias que Elasticsearch, puedes proceder directamente a instalar Kibana de la siguiente manera: apt-get install -y kibana;

Paso 7: Crear certificados para Kibana

Vamos a crear certificados para Kibana. Necesitarás.../usr/share/elasticsearch/bin/elasticsearch-certutil Comando y los archivos CA de Elasticsearch. Dado que Kibana está en el mismo servidor que Elasticsearch, tenemos acceso a todos estos recursos.

Primero debemos extraer el archivo de clave privada de CA del /etc/elasticsearch/http.p12. Para ello, deberá conocer la contraseña del http.p12 Archivo, que se almacena en el almacén de claves de Elasticsearch. Vea una lista de todos los pares de almacenes de claves con este comando:

/usr/share/elasticsearch/bin/elasticsearch-keystore list

Elasticsearch Keystore

El xpack.security.http.ssl.keystore.secure_password Es lo que quieres. Puedes ver la contraseña así:

/usr/share/elasticsearch/bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password

Ahora puedes extraer la clave privada desde el http.p12 usando este comando openssl y hacer un http_ca.key(Ingrese la contraseña cuando se le solicite):

openssl pkcs12 -in /etc/elasticsearch/certs/http.p12 -nodes -nocerts -out /etc/elasticsearch/certs/http_ca.key

Ahora tienes la clave privada de CA como http_ca.key. Mantener http_ca.key secreto y nunca lo dejes salir del servidor elasticsearch. O eliminar el http_ca.key En cuanto termines, puedes recrearlo repitiendo los pasos anteriores.

Ejecute este comando para crear los archivos TLS de Kibana:

/usr/share/elasticsearch/bin/elasticsearch-certutil cert \ --out /etc/kibana/kibana.zip \ --name kibana \ --ca-cert /etc/elasticsearch/certs/http_ca.crt \ --ca-key /etc/elasticsearch/certs/http_ca.key \ --ip {ip address of server} \ --pem; cd /etc/kibana/; unzip kibana.zip mv kibana certs cp /etc/elasticsearch/certs/http_ca.crt /etc/kibana/certs/ chown -R kibana:kibana /etc/kibana

Paso 8: Configurar Kibana

Ir a la /etc/kibana/kibana.yml archivo. Edite los siguientes campos:

Edit Kibana.yml

server.host: 0.0.0.0 server.publicBaseUrl: "https://{ip address of server}:5601" server.ssl.enabled: true server.ssl.key: /etc/kibana/certs/kibana.key server.ssl.certificate: /etc/kibana/certs/kibana.crt server.ssl.certificateAuthorities: /etc/kibana/certs/http_ca.crt

Iniciar Kibana

systemctl enable kibana systemctl daemon-reload systemctl start kibana systemctl status kibana

El systemctl status kibana Debería mostrar algo como esto después de un minuto más o menos:

Kibana Waiting For Enrollment Token

Resalté en rojo la URL que debes visitar, excepto reemplazar 0.0.0.0 Con la dirección IP real de su equipo. Recuerde copiar también la cadena de consulta.?code=____.

En la página web, se le solicitará un token de inscripción.

Crear token de inscripción

Ejecute este comando en el servidor Elasticsearch: /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Pegue este token en su sitio web de Kibana y presione Configure.

Si se le solicita un código de verificación, puedes ejecutar este comando para obtenerlo:

/usr/share/kibana/bin/kibana-verification-code

Ahora puedes iniciar sesión en Kibana con el elastic usuario y contraseña que usted estableció anteriormente.

Paso 9 - Ocultar el token de servicio

Ve a tu /etc/kibana/kibana.yml y localiza esta línea:

Kibana Service Token

Este valor debería ser secreto. Usemos el almacén de claves de Kibana para ocultarlo.

/usr/share/kibana/bin/kibana-keystore add elasticsearch.serviceAccountToken Cuando se le solicite, pegue el token de servicio.

Ahora borra la línea elasticsearch.serviceAccountToken: ... de allí kibana.yml archivo.

Reiniciar Kibana

systemctl restart kibana

¡Vuelve a tu navegador web y disfruta!