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

  1. Introducción y arquitectura de Elastic Stack
    1. ¿Qué es Elasticsearch?
    2. Resumen de Elastic Stack (Elasticsearch, Logstash, Kibana...)
    3. Escenario típico de Elastic Stack
    4. Implementar Elasticsearch y Kibana en Elastic Cloud
    5. Instalación de Elasticsearch y Kibana en local - Windows (+Linux/Mac)
    6. ¿Cuál es la arquitectura básica de Elastic?
    7. Inspección del cluster y envío de consultas mediante consola
    8. Sharding y escalabilidad en Elastic Stack
    9. Replicación en Elastic Stack
    10. ¿Qué son los roles de los nodos de Elastic?
    11. Resumen

2.- Elasticsearch - Manejo de documentos

Objetivo

Crear índices, documentos y realizar operaciones de carga masiva en Elasticsearch.

Contenido

  1. Elasticsearch - Manejo de documentos
    1. Creación de un índex, indexar documentos y consultarlos mediante el ID
    2. Actualización de documentos manual y mediante scripts en Elasticsearch
    3. ¿Cómo Elasticsearch lee y escribe datos?
    4. ¿Cómo controlamos la concurrencia de solicitudes en Elasticsearch?
    5. Actualizar y eliminar masivamente a partir de consulta (Query)
    6. Procesamiento masivo mediante bulk
    7. Importación de datos con cURL
    8. 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

  1. Elasticsearch - Técnicas de mapping y análisis
    1. Introducción al análisis y al uso de la API Analyze
    2. ¿Qué son los índices invertidos para mejorar la eficiencia de Elasticsearch?
    3. Tipos de datos en Elasticsearch
    4. ¿Cómo definir mapeos explícitos y añadir nuevos mapeos?
    5. ¿Qué son los parámetros de mapeo y cómo aplicarlos?
    6. Reindexación de documentos con la API Reindex
    7. Aplicación de plantillas de mapeo a índices
    8. Recomendaciones de mapeo
    9. Técnicas stemming y palabras de parada
    10. Analizadores predefinidos (built-in)
    11. Analizadores personalizados
    12. 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

  1. Elasticsearch - Búsquedas term-level, full-text y booleanas
    1. Métodos de búsqueda QueryDSL vs búsqueda URI
    2. ¿Qué es la puntuación de relevancia en las búsquedas?
    3. Diferencia entre consultas "full-text" y "term level"
    4. Búsquedas "Term level" - 1 o múltiples términos o ID
    5. Búsquedas "Term level" - Rango de valores o de fechas
    6. Búsquedas "Term level" - Trabajar con fechas relativas
    7. Búsquedas "Term level" - No nulos, prefijo, comodín y expresión regular
    8. Búsquedas "Full-text" - Coincidencia flexible con "match" 
    9. Búsquedas "Full-text" - Múltiples campos y frases completas
    10. Búsquedas "booleanas" - Must, must not, should y filter
    11. Mejorar búsquedas con tratamiento de errores mediante "fuzziness"
    12. Búsquedas aplicando steeming y sinónimos
    13. Resumen

5.- Elasticsearch - Consultas para relaciones entre documentos

Objetivo

Crear relaciones entre documentos y realizar consultas en base al modelo multinivel.

Contenido

  1. Elasticsearch - Consultas para relaciones entre documentos
    1. ¿En qué se diferencia una BBDD relacional y Elasticsearch?
    2. Mapear relaciones entre documentos y añadir documentos
    3. Búsqueda de Children por Parent y viceversa
    4. Relaciones multinivel
    5. Control de resultados de búsqueda
    6. Resumen

6.- Elasticsearch - Agregaciones

Objetivo

Crear agregaciones de tipo métrica y tipo bucket para analizar la información agregada.

Contenido

  1. Elasticsearch - Agregaciones
    1. ¿Qué son las agregaciones de tipo métrica?
    2. ¿Qué son las agregaciones de tipo "bucket"?
    3. Agregaciones combinadas "nested"
    4. Agregaciones con filtrados y reglas
    5. Agregaciones con rangos de valores y fechas
    6. Histogramas
    7. 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

  1. Logstash - Ingesta, transformación y salida
    1. ¿Cómo ingestamos datos en Elasticsearch?
    2. Instalación de Logstash
    3. Creación de un pipeline (input, filter y output)
    4. Ejecución del pipeline y carga en Elasticsearch
    5. Otros métodos de ingesta, transformación y carga
    6. Resumen

8.- Kibana – interfaz, ingesta y visualizaciones

Objetivo

Construir data views y potentes visualizaciones con Kibana.

Contenido

  1. Kibana - interfaz, ingesta y visualizaciones
    1.  ¿Qué nos proporciona Kibana y cuáles son sus componentes?
    2. Ingesta de datos y creación de data views
    3. Menú Discover - Paneles y lenguaje KQL
    4. Visualización tipo métrica
    5. Visualización tipo barra, área y línea
    6. Visualización tipo circular
    7. Split de series con filtros KQL y Ranges
    8. Visualización tipo histogramas
    9. Visualización tipo tabla
    10. Visualización tipo heatmap
    11. Visualización tipo KPI objetivo
    12. Visualización en mapa geográfico
    13. 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

  1. Kibana - Creación de dashboards, roles y permisos
    1. Creación de un dashboard completo
    2. Editar visualizaciones y filtrar documentos
    3. Interactividad en el dashboard
    4. Creación de dashboard logs de acceso
    5. Enlazar dashboards (drilldown)
    6. Creación de usuarios y roles
    7. Resumen