Elasticsearch, Logstash y Kibana (ELK) (Programa detallado)
Objetivo:
Aprender la plataforma Elastic Stack siendo capaz de crear un potente motor analítico con Elasticsearch y visualizaciones / dashboards interactivos con Kibana para analizar grandes volúmenes de información de manera rápida y flexible.
Requisitos:
No se precisan requisitos previos, aprenderá todos los conceptos desde cero.
Programa del curso
1.- Introducción y arquitectura de Elastic Stack
Objetivo
Aprender a instalar la plataforma Elastic Stack y los fundamentos de esta arquitectura.
Contenido
- Introducción y arquitectura de Elastic Stack
- ¿Qué es Elasticsearch?
- Resumen de Elastic Stack (Elasticsearch, Logstash, Kibana...)
- Escenario típico de Elastic Stack
- Implementar Elasticsearch y Kibana en Elastic Cloud
- Instalación de Elasticsearch y Kibana en local - Windows (+Linux/Mac)
- ¿Cuál es la arquitectura básica de Elastic?
- Inspección del cluster y envío de consultas mediante consola
- Sharding y escalabilidad en Elastic Stack
- Replicación en Elastic Stack
- ¿Qué son los roles de los nodos de Elastic?
- Resumen
2.- Elasticsearch - Manejo de documentos
Objetivo
Crear índices, documentos y realizar operaciones de carga masiva en Elasticsearch.
Contenido
- Elasticsearch - Manejo de documentos
- Creación de un índex, indexar documentos y consultarlos mediante el ID
- Actualización de documentos manual y mediante scripts en Elasticsearch
- ¿Cómo Elasticsearch lee y escribe datos?
- ¿Cómo controlamos la concurrencia de solicitudes en Elasticsearch?
- Actualizar y eliminar masivamente a partir de consulta (Query)
- Procesamiento masivo mediante bulk
- Importación de datos con cURL
- Resumen
3.- Elasticsearch – Técnicas de mapping y análisis
Objetivo
Profundizar en los tipos de datos de Elasticsearch así como aplicar mapeos y analizadores sobre nuestros datos.
Contenido
- Elasticsearch - Técnicas de mapping y análisis
- Introducción al análisis y al uso de la API Analyze
- ¿Qué son los índices invertidos para mejorar la eficiencia de Elasticsearch?
- Tipos de datos en Elasticsearch
- ¿Cómo definir mapeos explícitos y añadir nuevos mapeos?
- ¿Qué son los parámetros de mapeo y cómo aplicarlos?
- Reindexación de documentos con la API Reindex
- Aplicación de plantillas de mapeo a índices
- Recomendaciones de mapeo
- Técnicas stemming y palabras de parada
- Analizadores predefinidos (built-in)
- Analizadores personalizados
- Resumen
4.- Elasticsearch – Búsquedas term-level, full-text y booleanas
Objetivo
Escribir potentes consultas booleandas Elasticsearch simples y complejas tanto term-level como full-text.
Contenido
- Elasticsearch - Búsquedas term-level, full-text y booleanas
- Métodos de búsqueda QueryDSL vs búsqueda URI
- ¿Qué es la puntuación de relevancia en las búsquedas?
- Diferencia entre consultas "full-text" y "term level"
- Búsquedas "Term level" - 1 o múltiples términos o ID
- Búsquedas "Term level" - Rango de valores o de fechas
- Búsquedas "Term level" - Trabajar con fechas relativas
- Búsquedas "Term level" - No nulos, prefijo, comodín y expresión regular
- Búsquedas "Full-text" - Coincidencia flexible con "match"
- Búsquedas "Full-text" - Múltiples campos y frases completas
- Búsquedas "booleanas" - Must, must not, should y filter
- Mejorar búsquedas con tratamiento de errores mediante "fuzziness"
- Búsquedas aplicando steeming y sinónimos
- Resumen
5.- Elasticsearch - Consultas para relaciones entre documentos
Objetivo
Crear relaciones entre documentos y realizar consultas en base al modelo multinivel.
Contenido
- Elasticsearch - Consultas para relaciones entre documentos
- ¿En qué se diferencia una BBDD relacional y Elasticsearch?
- Mapear relaciones entre documentos y añadir documentos
- Búsqueda de Children por Parent y viceversa
- Relaciones multinivel
- Control de resultados de búsqueda
- Resumen
6.- Elasticsearch - Agregaciones
Objetivo
Crear agregaciones de tipo métrica y tipo bucket para analizar la información agregada.
Contenido
- Elasticsearch - Agregaciones
- ¿Qué son las agregaciones de tipo métrica?
- ¿Qué son las agregaciones de tipo "bucket"?
- Agregaciones combinadas "nested"
- Agregaciones con filtrados y reglas
- Agregaciones con rangos de valores y fechas
- Histogramas
- Resumen
7.- Logstash - Ingesta, transformación y salida
Objetivo
Crear pipelines de Logstash para la ingesta, transformación y carga de datos en Elasticsearch.
Contenido
- Logstash - Ingesta, transformación y salida
- ¿Cómo ingestamos datos en Elasticsearch?
- Instalación de Logstash
- Creación de un pipeline (input, filter y output)
- Ejecución del pipeline y carga en Elasticsearch
- Otros métodos de ingesta, transformación y carga
- Resumen
8.- Kibana – interfaz, ingesta y visualizaciones
Objetivo
Construir data views y potentes visualizaciones con Kibana.
Contenido
- Kibana - interfaz, ingesta y visualizaciones
- ¿Qué nos proporciona Kibana y cuáles son sus componentes?
- Ingesta de datos y creación de data views
- Menú Discover - Paneles y lenguaje KQL
- Visualización tipo métrica
- Visualización tipo barra, área y línea
- Visualización tipo circular
- Split de series con filtros KQL y Ranges
- Visualización tipo histogramas
- Visualización tipo tabla
- Visualización tipo heatmap
- Visualización tipo KPI objetivo
- Visualización en mapa geográfico
- Resumen
9.- Kibana - Creación de dashboards, roles y permisos
Objetivo
Crear potentes dashboards interactivos en Kibana aprendiendo a compartirlos de manera segura con roles y permisos.
Contenido
- Kibana - Creación de dashboards, roles y permisos
- Creación de un dashboard completo
- Editar visualizaciones y filtrar documentos
- Interactividad en el dashboard
- Creación de dashboard logs de acceso
- Enlazar dashboards (drilldown)
- Creación de usuarios y roles
- Resumen