Elasticsearch, Logstash y Kibana (ELK)
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.
Dirigido a:
- Arquitectos de datos para necesiten aportar una solución flexible, escalable y eficiente para manejar grandes volúmenes de datos.
- Analistas que precisan de una plataforma potente en la que obtener conclusiones a partir de los datos y dashboards interactivos.
- Desarrolladores relacionados con plataformas de datos que precisan consultar y visualizar información.
- Perfiles de desarrollo de negocio que quieran aprender a aplicar Elastic Stack en su solución de BigData.
- Estudiantes que quieran obtener habilidades que le abrirán puertas en el mercado laboral.
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.
Duración de la unidad
5
Horas
Contenido
Introducción y arquitectura de Elastic Stack
¿Qué es Elasticsearch?
Elasticsearch como plataforma analítica
¿Cómo se guardan los datos en Elasticsearch y hacemos consultas?
Resumen de Elastic Stack (Elasticsearch, Logstash, Kibana...)
Componente Beats
Componente Logstash
Componente Kibana
Componente X-pack
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?
¿Cómo se almacena la información en Elasticsearch?
¿Cómo se organizan los documentos?
Inspección del cluster y envío de consultas mediante consola
Sharding y escalabilidad en Elastic Stack
Replicación en Elastic Stack
¿Cómo se reparten las réplicas?
¿Cuál es el número de réplicas recomendado?
¿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.
Duración de la unidad
4
Horas
30 Minutos
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?
Proceso de lectura Elasticsearch
Proceso de escritura en Elasticsearch
¿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.
Duración de la unidad
5
Horas
Contenido
Elasticsearch - Técnicas de mapping y análisis
Introducción al análisis y al uso de la API Analyze
¿Qué es un analizador?
¿Qué son los índices invertidos para mejorar la eficiencia de Elasticsearch?
Tipos de datos en Elasticsearch
¿Cómo detecta Elasticsearch el tipo de datos?
¿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
¿Cómo podemos reindexar con modificaciones?
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.
Duración de la unidad
4
Horas
30 Minutos
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.
Duración de la unidad
3
Horas
40 Minutos
Contenido
Elasticsearch - Consultas para relaciones entre documentos
¿En qué se diferencia una BBDD relacional y Elasticsearch?
Solución para mapear relaciones entre documentos
Mapear relaciones entre documentos y añadir documentos
Búsqueda de Children por Parent y viceversa
Relaciones multinivel
Implementación de las 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.
Duración de la unidad
4
Horas
30 Minutos
Contenido
Elasticsearch - Agregaciones
¿Qué son las agregaciones de tipo métrica?
¿Cómo realizamos 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.
Duración de la unidad
2
Horas
50 Minutos
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.
Duración de la unidad
5
Horas
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.
Duración de la unidad
5
Horas
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