Curso ELK: Fundamentos del Stack ELK
Hace tiempo hablamos de como instalar el Stack de ELK bajo Docker, queremos hacer una serie de entradas en formato curso gratuito definiendo terminología, fundamentos y operativa práctica.
He comprado un NAS Asustor AS6804T y he vuelto a desplegar todo el ecosistema bajo Portainer + Docker. Así vamos a dar los fundamentos iniciales, si estás empezando en el mundo de la “observabilidad”.
¿Qué es ELK Stack?
ELK son las siglas de:
- Elasticsearch: un motor de búsqueda y almacenamiento de datos. Pero no tipo Google… aquí puedes indexar registros, métricas, trazas o cualquier cosa que quieras buscar y analizar rápidamente.
- Logstash: una herramienta que recoge datos de diferentes fuentes, los transforma y los envía a Elasticsearch.
- Kibana: la interfaz bonita. Con ella puedes visualizar, buscar y analizar lo que está guardado en Elasticsearch.
En resumen: recoges logs, los transformas, los almacenas y los ves con gráficos y búsquedas.
Conceptos básicos que debes tener claros desde el principio
| Término | Explicación clara y para qué sirve |
|---|---|
| Índice | Carpeta donde Elasticsearch guarda los logs. Piensa en ello como una tabla (pero en JSON). |
| Documento | Cada log, línea o evento. Todo lo que mandas se convierte en un JSON dentro del índice. |
| Mapping | El esquema de datos: qué campos hay y de qué tipo son (text, keyword, date, etc.). |
| Field | Cada clave dentro de un documento JSON. Ej: host, message, user.name, etc. |
| @timestamp | Es la hora del evento. Imprescindible para visualizar en gráficos y filtrar en Discover. |
| Data View | Kibana necesita saber qué datos puede consultar. Es como decirle: “mírame en los índices logs-*”. |
| Alias | Un nombre “fijo” para un índice o varios. Ideal para hacer rotación de datos y no romper queries. |
| Pipeline | Camino que siguen los datos: llegan, se transforman (si toca) y se indexan. |
| Grok | El regex de Logstash. Sirve para “romper” una línea de log y convertirla en campos separados. |
| Mutate | Filtro en Logstash que modifica datos: cambia mayúsculas, elimina campos, añade tags, etc. |
| Beats | Agentes ligeros que recogen datos: Filebeat (logs), Metricbeat (métricas), Packetbeat (red)… |
| Module | Configuración predefinida de Filebeat (por ejemplo, para logs de Apache o NGINX). |
| Ingest Node | Nodo de Elasticsearch que transforma datos sin Logstash (ideal para setups ligeros). |
| ILM (Index Lifecycle Management) | Política que borra, rota o mueve índices automáticamente (útil para ahorrar espacio). |
| Template | Reglas que se aplican automáticamente a nuevos índices (mappings, settings, etc). |
| Shard | Un índice se divide en porciones llamadas “shards”. Sirven para paralelizar búsquedas. |
| Replica | Copia de seguridad de un shard. Mejora la disponibilidad y el rendimiento de lectura. |
| Aggregation | Forma de agrupar y calcular cosas (conteo, promedio, por término, por fecha…). |
| Cluster Health | Estado global de Elasticsearch: green (todo bien), yellow (faltan réplicas), red (caído). |
| KQL (Kibana Query Language) | Lenguaje para buscar cosas en Discover. Más sencillo que Lucene, más potente que SQL. |
| Dev Tools Console | Terminal integrada en Kibana para escribir comandos y ver respuestas directamente. |
| Watcher | Sistema para crear alertas personalizadas (requiere seguridad activada o versión de pago). |
| Transform | Permite agrupar y pivotar datos, como en una tabla dinámica. |
| Snapshot | Backup de los índices, configurable para guardar en NAS o bucket. |
| Dashboards | Paneles gráficos interactivos. Puedes mostrar métricas, logs, contadores, tablas, etc. |
| Space | Entornos separados dentro de Kibana. Útil para multiusuario o varios equipos. |
| APM | Application Performance Monitoring: trazas de aplicaciones. Útil en microservicios. |
| Fleet / Agent | Nueva forma unificada de gestionar Beats, directamente desde Kibana (8.x lo empuja bastante). |
Menús principales dentro de Kibana
Como ya hemos comentado, Kibana es la “interfaz bonita”, así que vamos a explicar los menús más usados normalmente que podemos encontrar en las versiones actuales:
Analytics
Aquí es donde harás vida. Sirve para explorar datos y montar dashboards.
-
Discover: lo usas para buscar logs y ver qué está entrando. Muy útil cuando empiezas con un nuevo tipo de log.
-
Dashboards: paneles con gráficas, contadores, barras… Ideal para hacer informes o tener vistas en tiempo real.
-
Visualize/Lens: creación de gráficas. Lens es más visual y fácil, Visualize más técnico.
-
Canvas: presentaciones interactivas con datos en tiempo real (muy de marketing o directivos).
Observability
Más centrado en logs, métricas y trazas en infraestructuras complejas.
-
Logs: interfaz especial para ver logs organizados por host o servicio.
-
Metrics: estadísticas del sistema (si integras metricbeat o Prometheus).
-
APM: trazas de aplicaciones (si usas Elastic APM).
-
Uptime: chequeo de servicios/URLs con Heartbeat.
Security
Este módulo está muy enfocado al mundo SIEM.
-
Overview: visión general de eventos de seguridad.
-
Detections: reglas que detectan comportamientos sospechosos.
-
Timelines: reconstrucción de incidentes.
-
Cases: para gestionar investigaciones de seguridad.
Importante: muchas opciones aquí requieren tener activado el xpack.security (que en Docker por defecto viene desactivado).
Management
Donde gestionas lo importante, como los índices, usuarios, y configuraciones internas.
-
Stack Management > Data Views: imprescindible para poder usar Discover o dashboards. Aquí defines qué índices quieres ver.
-
Dev Tools: consola tipo terminal donde puedes escribir comandos directamente contra Elasticsearch.
-
Index Management: ver el estado de tus índices, espacio ocupado, número de documentos, etc.
-
Users/Roles: si tienes seguridad activada, desde aquí se controla quién ve qué.
Seguiremos con más entradas en próximos días…
Entradas Curso ELK
- Curso ELK: Fundamentos del Stack ELK
- Curso ELK: Montar ELK Stack en Portainer y Docker Compose
- Curso ELK: Cómo en Enviar Logs de Windows 11
- Curso ELK: Cómo Enviar Logs de NGINX desde un contenedor LXC a ELK
- Curso ELK: Consultas Kibana (KQL) para Ciberseguridad
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Blog Virtualizacion Tu Blog de Virtualización en Español. Maquinas Virtuales (El Blog de Negu) en castellano. Blog informática vExpert Raul Unzue





