Instalación Elastic · 14 min read · Nov 25, 2025
Cómo instalar Elastic Stack en Ubuntu 18.04 LTS

Elasticsearch es un motor de búsqueda de código abierto basado en Lucene, desarrollado en Java. Proporciona un motor de búsqueda de texto completo distribuido y multitenant con una interfaz web de panel de control HTTP (Kibana). Los datos se consultan, recuperan y almacenan en un esquema de documento JSON. Elasticsearch es un motor de búsqueda escalable que se puede utilizar para buscar todo tipo de documentos de texto, incluidos archivos de registro. Elasticsearch es el corazón de la ‘Elastic Stack’ o ELK Stack.
Logstash es una herramienta de código abierto para gestionar eventos y registros. Proporciona canalización en tiempo real para colecciones de datos. Logstash recopilará sus datos de registro, convertirá los datos en documentos JSON y los almacenará en Elasticsearch.
Kibana es una herramienta de visualización de datos de código abierto para Elasticsearch. Kibana proporciona una bonita interfaz web de panel de control. Le permite gestionar y visualizar datos de Elasticsearch. No solo es hermosa, sino también poderosa.
En este tutorial, le mostraré cómo instalar y configurar Elastic Stack en un servidor Ubuntu 18.04 para el monitoreo de registros del servidor. Luego le mostraré cómo instalar y configurar ‘Elastic beats’ en un servidor cliente Ubuntu 18.04 y CentOS 7.
Prerrequisitos
- 3 Servidores - Ubuntu 18.04 con 4GB de RAM/memoria como ‘elk-master’ - 10.0.15.10
- Ubuntu 18.04 con 512MB/1GB de RAM/memoria como ‘elk-client01’ - 10.0.15.21
- CentOS 7.5 con 512MB/1GB de RAM/memoria como ‘elk-client02’ - 10.0.15.22
- Privilegios de root
¿Qué haremos?
- Instalar Elastic Stack 1. Instalar Java
- Instalar y configurar ElasticSearch
- Instalar y configurar Kibana
- Instalar y configurar Nginx como proxy inverso para Kibana
- Instalar y configurar Logstash
- Instalar y configurar Filebeat en Ubuntu 18.04
- Instalar y configurar Filebeat en CentOS 7.5
- Pruebas
Paso 1 - Instalar Elastic Stack
En este primer paso, instalaremos y configuraremos la ‘Elastic Stack’ en el servidor ‘elk-master’, así que ejecute todos los comandos y etapas para este paso solo en el servidor ‘elk-master’. Instalaremos y configuraremos cada componente de la pila elástica, incluyendo Elasticsearch, el transportador Logstash y el panel de control de Kibana con el servidor web Nginx.
Instalar Java
Java es necesario para el despliegue de la pila elástica. Elasticsearch requiere Java 8. Se recomienda usar el JDK de Oracle 1.8, y instalaremos Java 8 desde un repositorio PPA.
Instale los paquetes ‘software-properties-common’ y ‘apt-transport-https’, y luego agregue el repositorio PPA de Java ‘webupd8team’. Ejecute el comando ‘apt install’ y ‘add-apt-repository’ a continuación.
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -yAhora instale el instalador de java8.
sudo apt install oracle-java8-installer -yDespués de que la instalación esté completa, verifique la versión de java.
java -versionJava 1.8 instalado en el sistema.
A continuación, configuraremos el entorno de java. Verifique el archivo binario de java usando el comando a continuación.
update-alternatives --config javaY obtendrá el archivo binario de java en el directorio ‘ /usr/lib/jvm/java-8-oracle ‘.
Ahora cree el archivo de perfil ‘java.sh’ en el directorio ‘profile.d’.
vim /etc/profile.d/java.shPegue la configuración del entorno de java a continuación.
#Establecer JAVA_HOME
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATHGuarde y salga.
Haga que el archivo sea ejecutable y cargue el archivo de configuración.
chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.shAhora verifique el entorno de java usando el comando a continuación.
echo $JAVA_HOMEY obtendrá que el directorio de java se encuentra en el directorio ‘ /usr/lib/jvm/java-8-oracle ‘.

Instalar Elasticsearch
Después de instalar Java, instalaremos el primer componente de la Elastic Stack, instalaremos Elasticsearch.
Agregue la clave de la pila elástica y agregue el repositorio elástico al sistema.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listAhora actualice el repositorio e instale el paquete de elasticsearch usando el comando a continuación.
sudo apt update
sudo apt install elasticsearch -yDespués de que la instalación esté completa, vaya al directorio ‘/etc/elasticsearch’ y edite el archivo de configuración ‘elasticsearch.yml’.
cd /etc/elasticsearch/
vim elasticsearch.ymlDescomente la línea ‘network.host’ y cambie el valor a ‘localhost’, y descomente la línea ‘http.port’ para la configuración del puerto de elasticsearch.
network.host: localhost
http.port: 9200Guarde y salga.
Ahora inicie el servicio de elasticsearch y habilítelo para que se inicie cada vez que se inicie el sistema.
systemctl start elasticsearch
systemctl enable elasticsearchEl elasticsearch ahora está en funcionamiento, verifíquelo usando el comando netstat y los comandos curl a continuación.
netstat -plntu
curl -XGET 'localhost:9200/?pretty'Ahora obtendrá que la versión de elasticsearch ‘6.2.4’ está funcionando en el puerto predeterminado ‘9200’.

La instalación de elasticsearch se ha completado.
Instalar y configurar el panel de control de Kibana
El segundo componente es un panel de control de Kibana. Instalaremos el panel de control de Kibana desde el repositorio elástico y configuraremos el servicio de kibana para que se ejecute en la dirección localhost.
Instale el panel de control de Kibana usando el comando apt a continuación.
sudo apt install kibana -yAhora vaya al directorio ‘/etc/kibana’ y edite el archivo de configuración ‘kibana.yml’.
cd /etc/kibana/
vim kibana.ymlDescomente esas líneas ‘server.port’, ‘server.host’ y ‘elasticsearch.url’.
server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"Guarde y salga.
Ahora inicie el servicio de kibana y habilítelo para que se inicie cada vez que se inicie el sistema.
sudo systemctl enable kibana
sudo systemctl start kibanaEl panel de control de kibana ahora está en funcionamiento en la dirección ‘localhost’ y el puerto predeterminado ‘5601’. Verifíquelo usando el comando netstat a continuación.
netstat -plntu
La instalación del panel de control de Kibana se ha completado.
Instalar y configurar Nginx como proxy inverso para Kibana
En este tutorial, utilizaremos el servidor web Nginx como un proxy inverso para el panel de control de Kibana.
Instale Nginx y los paquetes ‘apache2-utils’ en el sistema.
sudo apt install nginx apache2-utils -yDespués de que la instalación esté completa, vaya al directorio de configuración ‘/etc/nginx’ y cree un nuevo archivo de host virtual llamado ‘kibana’.
cd /etc/nginx/
vim sites-available/kibanaPegue la configuración del host virtual de Nginx a continuación.
server {
listen 80;
server_name elastic-stack.io;
auth_basic "Acceso Restringido";
auth_basic_user_file /etc/nginx/.kibana-user;
location / {
proxy_pass http://localhost: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;
}
}Guarde y salga.
A continuación, crearemos un nuevo servidor web de autenticación básica para acceder al panel de control de Kibana. Crearemos la autenticación básica utilizando el comando htpasswd como a continuación.
sudo htpasswd -c /etc/nginx/.kibana-user elastic
Escriba la contraseña del usuario elasticActive el host virtual de kibana y pruebe toda la configuración de nginx.
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -tAsegúrese de que no haya errores, ahora inicie el servicio de Nginx y habilítelo para que se inicie cada vez que se inicie el sistema.
systemctl enable nginx
systemctl restart nginxLa instalación y configuración de Nginx como un proxy inverso para el panel de control de Kibana se ha completado.

Instalar y configurar Logstash
El último componente para la Elastic Stack para esta guía es el ‘Logstash’. Instalaremos y configuraremos Logstash para centralizar los registros del servidor desde fuentes de clientes con filebeat, luego filtrar y transformar todos los datos (Syslog) y transportarlos al stash (Elasticsearch).
Antes de instalar logstash, asegúrese de verificar la versión de OpenSSL de su servidor.
openssl version -aPara esta guía, utilizaremos OpenSSL ‘1.0.2o’. Si aún está utilizando la versión de OpenSSL 1.1.2, obtendrá un error en la conexión SSL de logstash y filebeat.
Instale logstash usando el comando apt a continuación.
sudo apt install logstash -yDespués de que la instalación esté completa, generaremos la clave del certificado SSL para asegurar la transferencia de datos de registro desde el cliente filebeat al servidor logstash.
Edite el archivo ‘/etc/hosts’ usando vim.
vim /etc/hostsAgregue la configuración a continuación.
10.0.15.10 elk-master elk-masterGuarde y salga.
Ahora cree un nuevo directorio SSL en el directorio de configuración de logstash ‘/etc/logstash’ y vaya a ese directorio.
mkdir -p /etc/logstash/ssl
cd /etc/logstash/Genere el certificado SSL para Logstash usando el comando openssl a continuación.
openssl req -subj '/CN=elk-master/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crtLos archivos de certificado SSL para Logstash se han creado en el directorio ‘/etc/logstash/ssl’.
A continuación, crearemos nuevos archivos de configuración para logstash. Crearemos un archivo de configuración ‘filebeat-input.conf’ como archivo de entrada de filebeat, ‘syslog-filter.conf’ para el procesamiento de syslog, y luego un archivo ‘output-elasticsearch.conf’ para definir la salida de Elasticsearch.
Vaya al directorio de configuración de logstash y cree los nuevos archivos de configuración ‘filebeat-input.conf’ en el directorio ‘conf.d’.
cd /etc/logstash/
vim conf.d/filebeat-input.confPegue la siguiente configuración allí.
input {
beats {
port => 5443
type => syslog
ssl => true
ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
}
}Guarde y salga.
Para el procesamiento de datos de registro de syslog, estamos utilizando el complemento de filtro llamado ‘grok’ para analizar los archivos de syslog.
Cree una nueva configuración ‘syslog-filter.conf’.
vim conf.d/syslog-filter.confPegue la siguiente configuración allí.
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}Guarde y salga.
Y para la salida de elasticsearch, crearemos el archivo de configuración llamado ‘output-elasticsearch.conf’.
vim conf.d/output-elasticsearch.confPegue la siguiente configuración allí.
output {
elasticsearch { hosts => ["localhost:9200"]
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}Guarde y salga.
Cuando esto esté hecho, inicie el servicio de logstash y habilítelo para que se inicie cada vez que se inicie el sistema.
sudo systemctl enable logstash
sudo systemctl start logstash
Verifique el servicio de logstash usando los comandos netstat y systemctl a continuación.
netstat -plntu
systemctl status logstashY el servicio de logstash ahora está en funcionamiento. Ejecutándose en la dirección IP pública con el puerto ‘5443’.

La instalación de Elastic Stack se ha completado.
Paso 2 - Instalar y configurar Filebeat en Ubuntu 18.04
En este paso, configuraremos el cliente Ubuntu 18.04 ‘elk-client01’ instalando los transportadores de datos de Elastic Beats ‘Filebeat’ en él.
Antes de instalar filebeat en el sistema, necesitamos editar el archivo ‘/etc/hosts’ y descargar el archivo de certificado de logstash ‘logstash-forwarder.crt’ al servidor ‘elk-client01’.
Edite el archivo ‘/etc/hosts’ usando el editor vim.
vim /etc/hostsPegue la siguiente configuración allí.
10.0.15.10 elk-master elk-masterGuarde y salga.
Copia el archivo de certificado de logstash ‘logstash-forwarder.crt’ usando el comando scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
A continuación, instale los ‘Filebeat’ de Elastic Beats agregando la clave elástica y agregando el repositorio elástico.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listActualice el repositorio e instale el paquete ‘filebeat’ usando el comando apt a continuación.
sudo apt update
sudo apt install filebeat -yDespués de que la instalación esté completa, vaya al directorio ‘/etc/filebeat’ y edite el archivo de configuración ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlAhora habilite los prospectores de filebeat cambiando el valor de la línea ‘enabled’ a ‘true’.
enabled: trueDefina los archivos de registro del sistema que se enviarán al servidor logstash. Para esta guía, agregaremos el archivo de registro ssh ‘auth.log’ y el archivo syslog.
paths:
- /var/log/auth.log
- /var/log/syslogConfigure la salida a logstash comentando la salida predeterminada de ‘elasticsearch’ y descomentando la línea de salida de logstash a continuación.
output.logstash:
# Los hosts de Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Guarde y salga.
A continuación, necesitamos editar el archivo ‘filebeat.reference.yml’ para habilitar los módulos de filebeat, y habilitaremos el módulo ‘syslog’.
vim filebeat.reference.ymlHabilite el módulo del sistema syslog para filebeat como a continuación.
- module: system
# Syslog
syslog:
enabled: trueGuarde y salga.
Copia el archivo de certificado de logstash ‘logstash-forwarder.crt’ al directorio ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtLa instalación y configuración de Filebeat se han completado. Ahora inicie el servicio de filebeat y habilítelo para que se inicie cada vez que se inicie el sistema.
systemctl start filebeat
systemctl enable filebeatVerifique el servicio de filebeat usando los comandos a continuación.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatLos transportadores de filebeat están en funcionamiento en el servidor Ubuntu 18.04.

Paso 3 - Instalar y configurar Filebeat en CentOS 7.5
En este paso, configuraremos el cliente CentOS 7.5 ‘elk-client02’ instalando los transportadores de datos de Elastic Beats ‘Filebeat’ en él.
Antes de instalar Filebeat en el sistema, necesitamos editar el archivo ‘/etc/hosts’ y descargar el archivo de certificado de logstash ‘logstash-forwarder.crt’ al servidor ‘elk-client02’.
Edite el archivo ‘/etc/hosts’ usando vim.
vim /etc/hostsPegue la configuración a continuación.
10.0.15.10 elk-master elk-masterGuarde y salga.
Copia el archivo de certificado de logstash ‘logstash-forwarder.crt’ usando el comando scp.
scp root@elk-master:/etc/logstash/ssl/logstash-forwarder.crt .
A continuación, instale los ‘Filebeat’ de Elastic Beats agregando la clave elástica y agregando el repositorio elástico.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat < /etc/yum.repos.d/elastic.repo
[elasticsearch-6.x]
name=Repositorio de Elasticsearch para paquetes 6.x
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF Instale filebeat usando el comando yum a continuación.
yum install filebeat -yDespués de que la instalación esté completa, vaya al directorio ‘/etc/filebeat’ y edite el archivo de configuración ‘filebeat.yml’.
cd /etc/filebeat/
vim filebeat.ymlAhora habilite los prospectores de filebeat cambiando el valor de la línea ‘enabled’ a ‘true’.
enabled: trueDefina los archivos de registro del sistema que se enviarán al servidor logstash. Para esta guía, agregaremos el archivo de registro ssh ‘auth.log’ y el archivo syslog.
paths:
- /var/log/secure
- /var/log/messagesConfigure la salida a logstash comentando la salida predeterminada de ‘elasticsearch’ y descomentando la línea de salida de logstash a continuación.
output.logstash:
# Los hosts de Logstash
hosts: ["elk-master:5443"]
ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]Guarde y salga.
A continuación, necesitamos editar el archivo ‘filebeat.reference.yml’ para habilitar los módulos de filebeat, y habilitaremos el módulo ‘syslog’.
vim filebeat.reference.ymlHabilite el módulo del sistema syslog para filebeat como a continuación.
- module: system
# Syslog
syslog:
enabled: trueGuarde y salga.
Copia el archivo de certificado de logstash ‘logstash-forwarder.crt’ al directorio ‘/etc/filebeat’.
cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crtLa instalación y configuración de Filebeat se han completado. Ahora inicie el servicio de filebeat y agréguelo al tiempo de arranque.
systemctl start filebeat
systemctl enable filebeatVerifique el servicio de filebeat usando los comandos a continuación.
systemctl status filebeat
tail -f /var/log/filebeat/filebeatLos transportadores de filebeat están en funcionamiento en el servidor CentOS 7.5.

Paso 4 - Pruebas
Abra su navegador web y escriba el nombre de dominio de la pila elástica, el mío es: ‘elastic-stack.io’.
Se le pedirá el nombre de usuario y la contraseña de la autenticación básica para el panel de control de Kibana.

Escriba el nombre de usuario ‘elastic’ con su contraseña.
Ahora obtendrá el hermoso panel de control de kibana, haga clic en el botón ‘Configurar patrones de índice’ a la derecha.

Defina el patrón de índice ‘filebeat-*’ y haga clic en el botón ‘Siguiente paso’.

Para el ‘nombre del campo de filtro de tiempo’, elija el ‘@timestamp’ y haga clic en ‘Crear patrón de índice’.

Y el patrón de índice de filebeat ha sido creado.

A continuación, intentaremos obtener la información de registro para el inicio de sesión SSH fallido en cada uno de los servidores clientes ‘elk-client01’ sistema Ubuntu y ‘elk-client02’ sistema CentOS.
Dentro del panel de control de Kibana, haga clic en el menú ‘Descubrir’ para obtener todos los registros del servidor.
Establezca el ‘beat.hostname’ en el servidor ‘elk-client01’, la ‘fuente’ es el archivo ‘/var/log/auth.log’, y obtendrá el resultado como se muestra a continuación.

Y a continuación se muestran los detalles de registro de ejemplo para la contraseña fallida de SSH del archivo ‘auth.log’.

Para el servidor ‘elk-client02’ CentOS, establezca el ‘beat.hostname’ en el servidor ‘elk-client02’, la ‘fuente’ es el archivo ‘/var/log/secure’, y obtendrá el resultado como se muestra a continuación.

Y a continuación se muestran los detalles de registro de ejemplo para la contraseña fallida de SSH del archivo ‘secure’.

La instalación y configuración de Elastic Stack y Elastic Beat ‘Filebeat’ se han completado con éxito.
Referencia
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.