Instalación Elastic · 12 min read · Nov 11, 2025
Cómo instalar Elastic Stack en Ubuntu 20.04 LTS

Elastic Stack (anteriormente ELK Stack) es un grupo de software de código abierto desarrollado por Elastic para recopilar datos de diversas fuentes. Te permite recopilar, almacenar, procesar, analizar y visualizar datos de varias fuentes en cualquier formato en la plataforma central de Elastic Stack.
El Elastic Stack consta de varios paquetes de software: “Elasticsearch” para almacenar tus datos, “Kibana” como un panel de control para acceder y visualizar tus datos, la dinámica tubería de recolección de datos “Logstash” con complementos extensibles para procesar cualquier dato, y “Beats” como una plataforma ligera de envío de datos que envía datos desde máquinas en el borde.
El Elastic Stack se puede implementar en Promises en tu servidor o puedes comprar el SaaS (Software como Servicio) de Elastic Cloud oficial.
En este tutorial te mostraremos cómo instalar Elastic Stack en un servidor Ubuntu 20.04. Instalaremos Elasticsearch y Kibana en el mismo servidor y luego instalaremos y configuraremos “Filebeat” en el otro servidor para enviar registros directamente al servidor de Elasticsearch.
Requisitos
Para este tutorial, utilizaremos dos servidores que ejecutan Ubuntu 20.04. El software de Elastic Stack se instalará en el servidor con 4 GB de RAM, y utilizaremos otro servidor con 1 GB como cliente para Filebeat.
¿Qué haremos?
- Agregar el repositorio de Elastic Stack
- Instalar y configurar Elasticsearch
- Instalar y configurar Kibana
- Configurar Nginx como un proxy inverso para Kibana
- Instalar y configurar Filebeat
- Configurar un nuevo rol para el usuario de Kibana
- Crear un nuevo patrón de índice para Filebeat
Paso 1 - Agregar el repositorio de Elastic Stack
Primero, agregaremos la clave GPG y el repositorio del software de Elastic Stack a ambos servidores Ubuntu.
Antes de continuar, instala ‘apt-transport-https’ para asegurar tu instalación de software a través de una conexión segura HTTPS.
sudo apt install apt-transport-httpsA continuación, agrega la clave GPG y el repositorio de Elastic Stack usando el siguiente comando.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.listAhora actualiza todos los repositorios disponibles en el sistema Ubuntu.
sudo apt updateY estás listo para instalar todo el software de Elastic Stack en ambos servidores.

Paso 2 - Instalar y configurar Elasticsearch
En este paso, instalaremos y configuraremos Elasticsearch en el servidor de nodo único ‘ELK20’ con la dirección IP interna ‘172.16.0.3’.
Antes de instalar Elasticsearch, edita el archivo ‘/etc/hosts’ usando el editor vim.
vim /etc/hostsAhora escribe tu nombre de host con la dirección IP interna como se muestra a continuación.
172.16.0.3 ELK20Guarda y cierra.
A continuación, instala el paquete de Elasticsearch usando el comando apt a continuación.
sudo apt install elasticsearchUna vez que se complete la instalación, ve al directorio ‘/etc/elasticsearch’ y edita el archivo de configuración ‘elasticsearch.yml’.
cd /etc/elasticsearch/
vim elasticsearch.ymlDescomenta ‘node.name’ y escribe el nombre de tu servidor.
node.name: ELK20En la línea ‘network.host’, escribe la dirección IP del servidor en la que se ejecutará el servicio de Elasticsearch, y se recomienda usar solo la dirección IP interna.
network.host: 172.16.0.3Descomenta la línea ‘http.port’ y déjala como predeterminada, el servicio de Elasticsearch se ejecutará en el puerto predeterminado ‘9200’.
http.port: 9200Descomenta la línea ‘cluster.initial_master_nodes’ y escribe el nombre de tu servidor.
cluster.initial_master_nodes: ["ELK20"]Y por último, habilita la seguridad de Elasticsearch agregando la siguiente configuración al final de la línea.
xpack.security.enabled: trueGuarda y cierra.
A continuación, recarga el administrador de servicios systemd, luego inicia el servicio de Elasticsearch y agrégalo al arranque del sistema.
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearchEl servicio de Elasticsearch está en funcionamiento en el servidor Ubuntu 20.04.

A continuación, generaremos la contraseña para el usuario integrado en Elasticsearch.
Ve al directorio ‘/usr/share/elasticsearch’ y ejecuta el comando de utilidad de Elasticsearch ‘elasticsearch-setup-passwords’ como se muestra a continuación.
cd /usr/share/elasticsearch/
bin/elasticsearch-setup-passwords auto -u "http://172.16.0.3:9200"Escribe ‘y’ para confirmar y generar la contraseña.
Iniciando la configuración de contraseñas para los usuarios reservados elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
Las contraseñas se generarán aleatoriamente y se imprimirán en la consola.
Por favor confirma que deseas continuar [y/N] yA continuación se muestra el resultado que obtendrás.
Contraseña cambiada para el usuario apm_system
CONTRASEÑA apm_system = DP5RpFfbCyL6UpIFO8Q3
Contraseña cambiada para el usuario kibana_system
CONTRASEÑA kibana_system = U6gDLoJCqqChqcbD1IYV
Contraseña cambiada para el usuario kibana
CONTRASEÑA kibana = U6gDLoJCqqChqcbD1IYV
Contraseña cambiada para el usuario logstash_system
CONTRASEÑA logstash_system = KrHaGvHGfkAz12dcSeWo
Contraseña cambiada para el usuario beats_system
CONTRASEÑA beats_system = VnUUOtShQoFAGEZ62G7m
Contraseña cambiada para el usuario remote_monitoring_user
CONTRASEÑA remote_monitoring_user = xgaLXw6jp3Ses6CZ2hEB
Contraseña cambiada para el usuario elastic
CONTRASEÑA elastic = elu2ZlMm4mOkM7fgCeUMComo se puede ver, se ha generado la contraseña para algunos usuarios integrados en Elasticsearch.
Para probar nuestra instalación de Elasticsearch, ejecuta el comando curl con el usuario predeterminado ‘ elastic ‘ como se muestra a continuación.
curl -X GET -u elastic "http://172.16.0.3:9200/?pretty"Escribe la contraseña para el usuario ‘ elastic ‘, y a continuación se muestra el resultado que obtendrás.

Como resultado, el servidor de Elasticsearch está en funcionamiento con la autenticación habilitada.
Paso 3 - Instalar y configurar Kibana
En este paso, instalaremos y configuraremos Kibana en el mismo servidor que Elasticsearch. Conectaremos Kibana al servidor de Elasticsearch con el usuario predeterminado ‘kibana_system’ y la contraseña generada anteriormente.
Instala Kibana usando el comando apt a continuación.
sudo apt install kibanaUna vez que se complete la instalación, ve al directorio ‘/etc/kibana’ y edita el archivo de configuración ‘kibana.yml’ usando el editor vim.
cd /etc/kibana/
vim kibana.ymlDescomenta las siguientes líneas y cambia los valores por los tuyos. Se recomienda ejecutar Kibana en la red local porque utilizaremos Nginx como un proxy inverso para Kibana.
server.port: 5601
server.host: "172.16.0.3"
server.name: "ELK20"Después de eso, cambia ‘elasticsearch.url’ con la dirección IP de tu Elasticsearch.
elasticsearch.url: "http://172.16.0.3:9200"Descomenta las siguientes líneas “elasticsearch.username” y ‘elasticsearch.password’, y cambia los detalles con el usuario y la contraseña que generaste.
elasticsearch.username: "kibana_system"
elasticsearch.password: "N88VBkkelfSV3mBfO6Vh"Guarda y cierra.
A continuación, recarga el administrador de systemd usando el siguiente comando.
systemctl daemon-reloadDespués de eso, inicia el servicio de Kibana y agrégalo al arranque del sistema.
systemctl start kibana
systemctl enable kibanaY el servicio de Kibana está en funcionamiento en el sistema Ubuntu 20.04.

A continuación, crearemos un nuevo usuario que se utilizará para iniciar sesión en el panel de control de Kibana.
Crea un nuevo usuario llamado ‘hakase’ y la contraseña ‘hakasepasskibana’ con el rol ‘kibana_admin’ como se muestra a continuación.
curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "hakasepasskibana",
"roles" : [ "kibana_admin" ]
}
'Escribe la contraseña para el usuario ‘elastic’, y obtendrás el resultado a continuación.

Como resultado, se ha creado el nuevo usuario ‘hakase’ y podrá iniciar sesión en el panel de control de Kibana.
Paso 4 - Configurar Nginx como un proxy inverso para Kibana
En este paso, instalaremos y configuraremos Nginx como un proxy inverso para Kibana.
Instala los paquetes de Nginx usando el comando apt a continuación.
sudo apt install nginx -yUna vez que se complete la instalación, ve al directorio ‘/etc/nginx/sites-available/‘ y crea un nuevo archivo de host virtual ‘kibana’ usando el editor vim.
cd /etc/nginx/sites-available/
vim kibanaCambia el nombre de dominio y la dirección IP de ‘proxy_pass’ por la tuya, luego pégalo en él.
server {
listen 80;
server_name elk.hakase-labs.io;
location / {
proxy_pass http://172.16.0.3:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}Guarda y cierra.
A continuación, activa el host virtual de Nginx para Kibana y verifica la configuración de Nginx.
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -tAsegúrate de que no haya errores, luego reinicia el servicio de Nginx.
systemctl restart nginxComo resultado, se ha completado la instalación y configuración de Nginx como un proxy inverso para Kibana. Y el panel de control de Kibana ahora es accesible a través del nombre de dominio ‘elk.hakase-labs.io’.

Abre tu navegador web y escribe el nombre de dominio de tu instalación de Kibana en la barra de direcciones.
Y obtendrás la página de inicio de sesión de Kibana como se muestra a continuación.

Escribe el usuario ‘hakase’ con la contraseña ‘hakasepass’ y haz clic en el botón ‘ Iniciar sesión ‘.
Una vez que hayas iniciado sesión, se te pedirá que importes los datos de muestra o explores tus datos.

Haz clic en el botón ‘ Explorar mis propios datos ‘.
Ahora obtendrás el panel de control de Kibana como se muestra a continuación.

Como resultado, se ha completado la instalación de Kibana y Nginx.
Paso 4 - Instalar y configurar Filebeat
En este paso, instalaremos “Filebeat” en la máquina cliente con el nombre de host “client01” y la dirección IP “xxx.xxx.xxx.xxx”. Filebeat enviará registros directamente al servidor de Elasticsearch.
Antes de instalar “Filebeat”, asegúrate de que el repositorio de Elastic Stack se haya agregado a tu sistema.
Ahora instala el paquete de filebeat usando el comando apt a continuación.
sudo apt install filebeatUna vez que se complete la instalación, ve al directorio ‘/etc/filebeat’ y edita el archivo de configuración ‘filebeat.yml’ usando el editor vim.
cd /etc/filebeat/
vim filebeat.ymlEn la parte superior de la configuración ‘filebeat.inputs’, cambia ‘enabled: false’ a ‘enabled: true’ como se muestra a continuación.
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.logA continuación, ve a la configuración de Kibana y cambia el host con la dirección IP y el puerto de Kibana, cambia el nombre de usuario por el usuario predeterminado ‘kibana’, y la contraseña generada anteriormente.
setup.kibana:
host: "172.16.0.3:5601"
username: "kibana"
password: "U6gDLoJCqqChqcbD1IYV"Después de eso, ve a la configuración ‘output.elasticsearch’ y cambia los detalles por los tuyos.
output.elasticsearch:
hosts: ["172.16.0.3:9200"]
username: "elastic"
password: "elu2ZlMm4mOkM7fgCeUM"Guarda y cierra.
Ahora recarga el administrador de systemd, inicia el servicio de filebeat y agrégalo al arranque del sistema.
systemctl daemon-reload
systemctl start filebeat
systemctl enable filebeatEl servicio de filebeat está en funcionamiento en la máquina “ client01 “.

A continuación, necesitamos cargar la plantilla de índice de filebeat en el servidor de Elasticsearch usando el siguiente comando.
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["http://172.16.0.3:9200"]'A continuación se muestra el resultado que obtendrás.
Como resultado, la plantilla de índice de filebeat se ha cargado en el servidor de Elasticsearch, y estará disponible en el panel de control de Kibana como un patrón de índice ‘filebeat-*’.
Paso 5 - Configurar un nuevo rol para el usuario de Kibana
En este paso, crearemos un nuevo rol de Elasticsearch que permita a nuestro usuario ‘hakase’ acceder y gestionar todos los índices en el servidor de Elasticsearch a través de la API de Elasticsearch.
Crea un nuevo rol llamado ‘ events_index ‘ que permita a los usuarios solo gestionar índices en el servidor de Elasticsearch usando el siguiente comando.
curl -XPOST -u elastic 'http://172.16.0.3:9200/_security/role/events_index' -H "Content-Type: application/json" -d '{
"indices" : [
{
"names" : [ "*" ],
"privileges" : [ "all" ]
}
]
}'
Después de eso, verifica el rol ‘ events_index ‘ usando el siguiente comando.
curl -X GET -u elastic "http://172.16.0.3:9200/_security/role/events_index?pretty"A continuación se muestra el resultado que obtendrás.

Como se puede ver, el rol ‘events_index’ solo tendrá privilegios para gestionar índices.
A continuación, agrega el rol ‘events_index’ a nuestro usuario ‘hakase’ usando el siguiente comando.
curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "hakasepasskibana",
"roles" : [ "kibana_admin", "events_index" ]
}
'Escribe la contraseña para el usuario ‘ elastic ‘, y el rol ‘ events_index ‘ ha sido asignado al usuario ‘ hakase ‘.
Verifica todos los roles disponibles bajo el usuario ‘hakase’ usando el siguiente comando.
curl -X GET -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty"A continuación se muestra el resultado que obtendrás.

Como resultado, hemos creado un nuevo rol para gestionar índices en el servidor de Elasticsearch.
Paso 6 - Crear un nuevo patrón de índice para Filebeat
Después de crear un nuevo rol llamado ‘events_index’, crearemos un nuevo patrón de índice para Filebeat a través del usuario ‘ hakase ‘.
- Crear patrón de índice
En el panel de control de Kibana, haz clic en la opción del menú de la izquierda, ve a la sección “ Administración “, y haz clic en “ Gestión de Stack “.
En la sección “ Kibana “, haz clic en “ Patrón de índice “.

Haz clic en el botón “Crear patrón de índice” para crear un nuevo patrón de índice.
En el campo “patrón de índice”, escribe “ filebeat-* “ y haz clic en el botón “ Siguiente paso “.

En el campo “Nombre del filtro de tiempo”, elige “ @timestamp “ y haz clic en el botón “ Crear patrón de índice “.

Y el patrón de índice “ filebeat-* “ ha sido creado, y se selecciona como patrón de índice predeterminado (si no tienes ningún patrón de índice antes).

- Mostrar datos en Kibana
Para mostrar los datos recopilados por filebeat, haz clic en el menú de opciones en la parte superior izquierda, luego haz clic en “ Descubrir “.
Y obtendrás todos los datos recopilados por filebeat desde la máquina “ client01 “.

Para mostrar datos basados en tu filtro, puedes usar el “ KQL “ o el Lenguaje de Consulta de Kibana.
Escribe la siguiente consulta en el campo “ KQL “.
host.name : client01 and log.file.path: "/var/log/auth.log"Y obtendrás toda la información sobre la autenticación SSH en la máquina “client01”.

Como resultado, la instalación de Elastic Stack con seguridad habilitada en Ubuntu 20.04 se ha completado con éxito.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.