ELK Stack es un conjunto de herramientas de código abierto que permite la búsqueda, el análisis y la visualización de datos en tiempo real. ELK Stack está compuesto por Elasticsearch, Logstash y Kibana. En este artículo, te mostraremos cómo instalar y configurar ELK Stack en Fedora 39 paso a paso. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un sistema Fedora 39 instalado.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.

Paso 1: Actualizar el Sistema

Primero, asegúrate de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo dnf update -y

Paso 2: Instalar Java

Elasticsearch y Logstash requieren Java para funcionar. Instala OpenJDK con el siguiente comando:

sudo dnf install java-11-openjdk-devel -y

Verifica la instalación de Java:

java -version

Deberías ver la versión de Java instalada.

Paso 3: Instalar Elasticsearch

Añadir el Repositorio de Elasticsearch

Crea un nuevo archivo de repositorio para Elasticsearch:

sudo nano /etc/yum.repos.d/elasticsearch.repo

Añade las siguientes líneas al archivo:

[elasticsearch]
name=Elasticsearch repository
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Guarda y cierra el archivo.

Instalar Elasticsearch

Instala Elasticsearch con el siguiente comando:

sudo dnf install elasticsearch -y

Configurar Elasticsearch

Edita el archivo de configuración de Elasticsearch:

sudo nano /etc/elasticsearch/elasticsearch.yml

Asegúrate de configurar las siguientes opciones básicas:

cluster.name: my-elk-cluster
node.name: node-1
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]

Iniciar y Habilitar Elasticsearch

Inicia y habilita el servicio de Elasticsearch:

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Verifica que Elasticsearch esté funcionando correctamente:

curl -X GET "localhost:9200/"

Deberías ver una respuesta JSON con información sobre tu clúster de Elasticsearch.

Paso 4: Instalar Logstash

Añadir el Repositorio de Logstash

Dado que ya añadimos el repositorio de Elastic, podemos proceder directamente a la instalación de Logstash.

Instalar Logstash

Instala Logstash con el siguiente comando:

sudo dnf install logstash -y

Configurar Logstash

Crea un archivo de configuración básico para Logstash:

sudo nano /etc/logstash/conf.d/logstash.conf

Añade la siguiente configuración de ejemplo:

input {
  beats {
    port => 5044
  }
}

filter {
  grok {
    match => { "message" => "%{COMMONAPACHELOG}" }
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
  }
  stdout { codec => rubydebug }
}

Iniciar y Habilitar Logstash

Inicia y habilita el servicio de Logstash:

sudo systemctl start logstash
sudo systemctl enable logstash

Paso 5: Instalar Kibana

Instalar Kibana

Instala Kibana con el siguiente comando:

sudo dnf install kibana -y

Configurar Kibana

Edita el archivo de configuración de Kibana:

sudo nano /etc/kibana/kibana.yml

Configura las siguientes opciones básicas:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

Iniciar y Habilitar Kibana

Inicia y habilita el servicio de Kibana:

sudo systemctl start kibana
sudo systemctl enable kibana

Paso 6: Configurar el Firewall

Si tienes un firewall habilitado, necesitarás permitir el tráfico en los puertos utilizados por Elasticsearch (9200), Logstash (5044) y Kibana (5601). UFW no es la herramienta predeterminada en Fedora, pero puedes usar firewalld para gestionar las reglas del firewall:

sudo firewall-cmd --permanent --add-port=9200/tcp
sudo firewall-cmd --permanent --add-port=5044/tcp
sudo firewall-cmd --permanent --add-port=5601/tcp
sudo firewall-cmd --reload

Paso 7: Acceder a Kibana

Abre tu navegador web y navega a http://localhost:5601. Deberías ver la interfaz de Kibana, donde puedes empezar a configurar tus dashboards y visualizar los datos indexados por Elasticsearch.

Para mejorar el rendimiento y la gestión de tu infraestructura de búsqueda y análisis con ELK Stack, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Linux SSD VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones de búsqueda y análisis de datos. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.