SlideShare una empresa de Scribd logo
Introducción al Stack Elastic
Search. Observe. Protect.
Imma Valls
@eyeveebee
https://github.com/immavalls/
5 de Mayo 2020
Agenda
Las búsquedas en tecnología
El Stack Elastic
Elasticsearch
Visualización y gestión de datos con Kibana
3
1
4
Ingesta de datos
2
5
¿Cómo funciona todo junto?
6
Soluciones con el Stack Elastic
7
search company.
1
1
1
1
1
Shay Banon
1
diferencia
ESCALABILIDAD
Distribuido por diseño
VELOCIDAD
Encuentra coincidencias en
milisegundos
RELEVANCIA
Resultados altamente
relevantes
1
Stack Elastic
2
El Stack Elastic
Obtener datos de forma fiable y
segura de cualquier fuente, en
cualquier formato, para luego buscar,
analizar y visualizar en tiempo real.
2
Elasticsearch
3
3
Almacenar,
Buscar, Analizar
Visualizar y
Gestionar
Ingestar
Elasticsearch
Stack Elastic
Kibana
Elasticsearch
Beats Logstash
3
Elasticsearch
Todos los datos son bienvenidos
3
3
Elasticsearch
¿Cómo almacenar los datos?
● Datos en origen en distintos formatos: BBDD, CSV, etc.
● Se deben convertir a objetos JSON para enviar al API REST de Elasticsearch. Los
documentos se almacenan en índices, agrupaciones lógicas de Lucene shards.
3
Elasticsearch
¿Cómo almacenar los datos?
● Operaciones CRUD - API REST
3
Elasticsearch
Dos tipos de búsquedas
○ Queries
¿Qué vuelos tienen origen en “Amsterdam”?
¿Qué vuelos se retrasaron 60 minutos o más?
○ Agregaciones
¿Cuáles son los top 3 aeropuertos origen?
¿Qué retraso tienen en media los vuelos en los 2 top aeropuertos origen?
3
Elasticsearch
Búsquedas - Queries
Query DSL (Domain Specific Language) basado en JSON para definir queries
¿Qué vuelos
tienen origen
en
“Amsterdam”?
¿Qué vuelos
se retrasaron
60 minutos o
más?
3
Elasticsearch
Búsquedas - Agregaciones
¿Cuáles son los
top 3
aeropuertos
origen?
¿Qué retraso
tienen en media los
vuelos en los 2 top
aeropuertos
origen?
DEMO
Kibana
4
4
Kibana
Stack Elastic
Kibana
Elasticsearch
Beats Logstash
4
Almacenar,
Buscar, Analizar
Visualizar y
Gestionar
Ingestar
4
Stack
Kibana
Dashboards
4
Ingesta de Datos
5
5
Logstash
Elastic Stack
Kibana
Elasticsearch
Beats Logstash
Almacenar,
Buscar, Analizar
Visualizar y
Gestionar
Ingestar
Logstash
Ingestar datos de distintos
tipos y fuentes
Parsear y transformar
dinámicamente datos
Transportar datos a varias
salidas
Securizar y encriptar
entradas de datos
Construye tus propias
pipelines Gran variedad de plugins
5
5
Beats
Stack Elastic
Kibana
Elasticsearch
Beats Logstash
5
Almacenar,
Buscar, Analizar
Visualizar y
Gestionar
Ingestar
5
5
Beats
Enviar datos desde
las fuentes
Enviar y centralizar los
datos en Elasticsearch
Enviar datos a Logstash si se
requieren transformaciones
Enviar al Cloud de Elastic Libbeat: API framework para
construir beats a medida 70+ Beats de comunidad
5
Beats
Todos los módulos
5
¿Cómo funciona todo junto?
6
5
Elasticsearch Kibana
Logstash
Beats
• Agentes de recolección
ligeros
• Ficheros, métricas,
paquetes, eventos de
auditoría
• Módulos
pre-construidos para
análisis y visualización
• Normalizar, filtrar,
enriquecer
• Configuración
centralizada
• Colas persistentes
• Buen rendimiento en
búsquedas y
analítica
• Escalable, resiliente,
alta disponibilidad
• Tipos de nodos
configurables
• Explorar y buscar
• Interacción visual
con los datos
• Herramientas de
desarrollo y gestión
Pipeline Lógica de Ingesta
DEMO
Soluciones
7
Elastic Enterprise Search Elastic Security
Elastic Observability
3 soluciones con 1 stack
Elastic Stack
7
Recursos Stack Elastic
● Demos:
○ Git: https://github.com/immavalls/viu-elk-ml-talk
○ PDF:
https://github.com/immavalls/viu-elk-ml-talk/blob/master/doc/pdf/Introduccion-Stack-Elastic-
Demos.pdf
○ Gist: https://gist.github.com/immavalls/b3d9b1b3985e75f86f64836632250baf
● https://www.elastic.co/webinars/introduction-elk-stack
● Documentación: https://www.elastic.co/guide/index.html
● Foros: https://discuss.elastic.co/
● Blogs: https://www.elastic.co/blog/
● Learn: https://www.elastic.co/learn/
● Taller Elastic Stack: https://github.com/immavalls/elastic-stack-workshop
Elastic is a Search Company.
www.elastic.co
Pausa para Café
Machine Learning con Elasticsearch
Search. Observe. Protect.
Imma Valls
@eyeveebee
https://github.com/immavalls/
5 de Mayo 2020
Agenda
Introducción. Funcionamiento y Casos de Uso
Detección de Anomalías en Series Temporales
Analítica con Data Frames: Outlier Detection y
Machine Learning Supervisado
3
1
2
Introducción:
Funcionamiento
Casos de Uso
1
Definición Wikipedia
1
1
Machine Learning
de Elastic
Operacionalizar la
ciencia de los datos
para todos
1
Machine Learning
Licenciamiento
● Basic: Transformaciones
● Platinum: Machine Learning
2
1
Analítica
con Data Frames
Detección de anomalías en
series temporales
Machine Learning
1
¿Supervisado no supervisado?
• ¿Por qué este servidor está enviando
muchos más datos ahora?
• ¿Que es este nuevo proceso?
• ¿Por qué son de mayor tamaño que
antes estas peticiones al DNS?
• ¿Tengo sistemas comprometidos, con
algun malware?
• ¿Qué usuarios podrían ser una
amenaza de seguridad interna?
• ¿Qué incidentes en el tráfico de red
están causando el mayor retraso?
Dos enfoques distintos para resolver distintos casos de uso
No Supervisado
• ¿Qué transacciones son fraudulentas?
• ¿Qué productos deberíamos recomendar a
los clientes?
• ¿Qué clientes es probable que abandonen?
• ¿Cómo puedo clasificar la actividad según el
tipo de terminal de origen (ej.
smartphone)?
• ¿En qué idioma está escrito un documento?
• ¿Qué resultados de búsqueda son más
relevantes basándonos en el ratio de
click-through?
Supervisado
1
No Supervisado
Supervisado
Data Driven:
Reconocimiento
de patrones
Datos
etiquetados para
aprendizaje y
predicción
● Detección Anomalías
● Detección valores
atípicos
● Forecasting
● Identificación idioma
● Detección fraude
● Clasificación usuarios
Expandiendo casos de uso
Machine Learning Supervisado extremo a extremo con la versión 7.6
Detección Anomalías
Series Temporales
2
2
Conceptos sobre Anomalías
Detectando anomalías en los datos
Aprendizaje no supervisado
● Aprendizaje sin ejemplos etiquetados por humanos
● Basarse sólo en los datos
Detección de Anomalías
● Descubrir lo que es extraño o diferente, no necesariamente malo.
Bayesiano
● Determinar las probabilidades posteriores en función de las
probabilidades anteriores y la nueva información. Cuando se recopile
información adicional.
1
Qué es
anormal
aquí?
¿Porqué?
2
1
Qué es
anormal
aquí?
¿Porqué?
2
1
Qué es
anormal
aquí?
¿Porqué?
2
1
¿Cómo definimos “Normal”?
1. Algo que se comporta de
manera consistente con
respecto a sí mismo, en
el tiempo
2. Algo se comporta de
manera consistente en
comparación con
entidades similares
2
1
¿Qué es “Anormal”?
1. Si algo cambia su
comportamiento, en
comparación con su propia
historia, ese cambio es
anómalo
2
“normal” “normal”
anomalía
“normal” “normal”
anomalía
1
¿Qué es “Anormal”?
2. Si algo es drásticamente
diferente que otros dentro
de una población, entonces
esa entidad es anómala
2
“normal”
anómalo
1
¿Qué es “Anormal”?
2. Si algo es drásticamente
diferente que otros dentro
de una población, entonces
esa entidad es anómala
También existe el concepto de
ser "algo anómalo"
2
“normal”
anómalo
algo anómalo
1
¿Cómo definimos “Anormal”?
1. Cuando el
comportamiento de una
entidad cambia de
manera significativa y
repentina
2. Cuando una entidad es
drásticamente diferente
de otras dentro de una
población
2
1
¿Cómo se escoge el “Modelo”
que mejor se adapta a
nuestros datos?
2
1
Machine Learning lo escoge
por nosotros,
no supervisado
● Utiliza técnicas sofisticadas de
machine-learning para ajustar
mejor el modelo estadístico
adecuado para nuestros datos
● Mejor modelo = mejor detección
valores atípicos = menos falsas
alarmas
● Las anomalías ocurren cuando
estamos en zonas de baja
probabilidad de esos valores
2
2
periodicidad
En dos días se ha
aprendido la
periodicidad diaria
Tras dos semanas, se ha
aprendido la
periodicidad semanal
2
Predecir
Aprender Operacionalizar
Machine Learning
1
Mejorar y
facilitar
Alertas
2
1
Reducir el
MTTR gracias
a una visión
holística a
través de las
distintas
capas
2
1
Predicción /
Forecasting
2
2
https://github.com/elastic/ecs
pre-configurados ECS
Simplifica la configuración de jobs en formatos de datos habituales
DEMO
Analítica Data Frames
Outlier Detection ML Supervisado
3
3
Casos de Uso construir Modelo
¿De qué comportamiento podemos aprender para hacer predicciones?
● Machine Learning en Search
■ ¿En qué idioma está escrito un documento?
■ ¿Cómo incrementar la relevancia en las búsquedas para entidades nombradas?
■ ¿Qué resultados son más relevantes basados en el ratio de click-through?
● Seguridad
■ ¿Cómo identificar nombres de dominio maliciosos generados por DGAs?
■ ¿Cómo clasificar la actividad según el tipo de terminal de origen (ej. smartphone)?
● Observabilidad
■ ¿Que usuarios o servidores son atípicos?
■ ¿Cómo clasificar alertas y enrutarlas al equipo adecuado?
■ ¿Qué clientes es probable que nos abandonen?
Analítica Data Frames
● Permite entrenar un modelo y evaluarlo
■ Outlier Detection / Detección de valores atípicos (No supervisado)
■ Análisis de Regresión (Supervisado)
■ Análisis de Clasificación (Supervisado)
■ Inferencia - Predicción sobre datos no etiquetados
3
Definir un
problema de
ML y proponer
soluciones
Construir
conjunto de
datos
Transformar
los datos
Entrenar el
modelo
Usar el modelo
para hacer
predicciones
3
valores atípicos
¿Cómo los identifica Elasticsearch?
● El objetivo es identificar puntos de datos que no siguen el
modelo
● Métodos utilizados basados en
■ distancia
■ densidad
● Salidas
■ Outlier score
■ Feature influencer score
● Casos de uso
■ Detección de fraude
■ Problemas médicos
■ Detección de amenazas en seguridad
3
valores atípicos
“Entity-centric” vs “Event-centric”
● Típicamente recibimos eventos en
forma de serie temporal. Son datos
“event-centric”
● Los transformaremos en
“entity-centric” para detectar valores
atípicos
3
valores atípicos
Requerimientos
● Identificar valores atípicos requiere
una estructura diferente
● Usaremos Data Transforms para
crear un índice “Entity-centric”, en vez
de serie temporal
● Actualización frecuente del índice
transformado
1
Data
Transforms
3
Query
Grupos
Agregaciones
Previsualización
3
Clasificación
¿Cómo funcionan?
● El objetivo es predecir la categoría/clase de un punto dentro del
conjunto de datos.
● Método utilizado: boosted tree regression
● Dos tipos: binaria, multi-clase
● Casos de uso
■ Detección de cáncer
■ Clasificar música o texto
■ Predicción de riesgo en préstamos
3
Clasificación
Requerimientos
● Supervisado implica que alguien tiene que etiquetar los datos para aprender
● Requiere
■ Feature variables / características
■ Dependent variable / variable dependiente
customer a customer b
total duration
of customer
sessions in
last month 80:21:07 1:01:11
tv episodes
watched in last
month 24 1
films watched
in last month 5 0
newness of
titles watched
in last month 9.8 1.2
change in
duration of
customer
sessions this
month 6:22:17 16:43:29
customer
subscription
plan gold platinum
customer tenure 32 26
has churned? no yes
Características
Variable dependiente
3
Regresión
¿Cómo funcionan?
● El objetivo es estimar la relación entre varios campos dentro del
conjunto de datos.
● Método utilizado: extreme gradient boost
● Mismos requerimientos que clasificación
■ Feature variables / características
■ Dependent variable / variable dependiente
● Casos de uso
■ Precio del alquiler/compra
■ Tiempo que se retrasará un vuelo
Variable dependiente
Característica
Size (m2) Monthly rent (GBP)
44 1600
24 1055
63 2300
3
Validación Modelo
Medir la calidad del modelo con datos de prueba
Clasificación
Matriz de
confusión
Curva ROC
Importancia
de las feature
variables
Regresión
R-cuadrado
Error Medio
cuadrado
3
Predicción Inferencia
Aplicar un modelo a nuevos datos en streaming
Nodo de Machine
Learning
Elasticsearch
Modelo ML
supervisado
Ejemplos
etiquetados
Nodo de Ingesta y
Machine Learning
Elasticsearch
Modelo ML supervisado
Datos no
etiquetados
Predicciones
Entrenamiento/Test/Validación Inferencia del modelo
PUT _ml/data_frame/analytics/churn
{
"source": {
"index": "customer_behaviour"
},
"dest": {
"index": "customer_behaviour_churn"
},
"analysis": {
"regression": {
"dependent_variable": "churn_probability",
"training_percent": 80,
"save_model": {
"name": "churn"
}
}
}
}
POST _ml/data_frame/analytics/churn/_start
PUT _ingest/pipeline/predict_churn
{
"description" : "Predict customer churn",
"processors" : [
{
"inference" : {
"model": {
"regression": {
"model_id" : "churn",
"target_field":
"churn_probability"
}
}
}
}
]
}
PUT _ingest/pipeline/lang_ident
{
"description" : "Identify language",
"processors" : [
{
"inference" : {
"model": {
"lang_ident": {
"target_field": "text",
"target_language_field": "lang",
"target_probability_field": "lang_prob"
}
}
}
}
]
}
DEMO
pip install eland
https://github.com/elastic/eland
http://eland.readthedocs.io/
3
Jupyter Notebooks Machine Learning
Recursos Machine Learning
● Demos:
○ Git: https://github.com/immavalls/viu-elk-ml-talk
○ PDF:
https://github.com/immavalls/viu-elk-ml-talk/blob/master/doc/pdf/Machine-Learning-Elasticse
arch-demos.pdf
○ Gist: https://gist.github.com/immavalls/aecf1cc361e3fcb957aed711c340e712
● Documentación: https://www.elastic.co/guide/en/machine-learning/7.6/index.html
● Foros: https://discuss.elastic.co/
● Elastic Common Schema: https://github.com/elastic/ecs
● Librería para Jupyter Notebooks: https://github.com/elastic/eland
● https://www.elastic.co/blog/introducing-machine-learning-for-the-elastic-stack
● https://www.elastic.co/webinars/automated-anomaly-detection-with-machine-learning
● Transforms / Data Frames:
https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html
● Ejemplos de Transforms:
https://www.elastic.co/guide/en/machine-learning/master/dfanalytics-examples.html
● https://www.elastic.co/webinars/introducing-data-frame-transforms-for-elastic-machine-learning
● https://www.elastic.co/blog/benchmarking-binary-classification-results-in-elastic-machine-learning
Elastic is a Search Company.
www.elastic.co
Gracias
imma.valls@elastic.co
@eyeveebee
¿Preguntas?

Más contenido relacionado

PPTX
Microsoft Fabric Introduction
PPTX
ELK Stack
PPTX
Data streaming fundamentals
PDF
Elk - An introduction
PPTX
Azure Synapse Analytics Overview (r2)
PDF
NOSQLEU - Graph Databases and Neo4j
PDF
Apache spark
PDF
Introduction to elasticsearch
Microsoft Fabric Introduction
ELK Stack
Data streaming fundamentals
Elk - An introduction
Azure Synapse Analytics Overview (r2)
NOSQLEU - Graph Databases and Neo4j
Apache spark
Introduction to elasticsearch

La actualidad más candente (20)

PPTX
An Intro to Elasticsearch and Kibana
PPTX
Elastic 101 - Get started
PDF
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
PDF
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
PPTX
Elastic stack Presentation
PPTX
Master IAM in the Cloud with SCIM v2.0
PDF
Deploying Elasticsearch and Kibana on Kubernetes with the Elastic Operator / ECK
PDF
Azure Training + Certification Guide.pdf
PPTX
Security and Data Governance using Apache Ranger and Apache Atlas
PDF
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...
PPTX
Elastic - ELK, Logstash & Kibana
PPTX
ODSC May 2019 - The DataOps Manifesto
PDF
Introduction to Kibana
PDF
Scala Data Pipelines @ Spotify
PPTX
Databricks Fundamentals
PDF
Apache Kafka Fundamentals for Architects, Admins and Developers
PDF
REST - Representational state transfer
PDF
When NOT to use Apache Kafka?
PPTX
Mapping Data Flows Training deck Q1 CY22
PPTX
Azure Data Explorer deep dive - review 04.2020
An Intro to Elasticsearch and Kibana
Elastic 101 - Get started
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
Elastic stack Presentation
Master IAM in the Cloud with SCIM v2.0
Deploying Elasticsearch and Kibana on Kubernetes with the Elastic Operator / ECK
Azure Training + Certification Guide.pdf
Security and Data Governance using Apache Ranger and Apache Atlas
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...
Elastic - ELK, Logstash & Kibana
ODSC May 2019 - The DataOps Manifesto
Introduction to Kibana
Scala Data Pipelines @ Spotify
Databricks Fundamentals
Apache Kafka Fundamentals for Architects, Admins and Developers
REST - Representational state transfer
When NOT to use Apache Kafka?
Mapping Data Flows Training deck Q1 CY22
Azure Data Explorer deep dive - review 04.2020
Publicidad

Similar a Introducción al Stack Elastic y Machine Learning con Elasticsearch (20)

PDF
Automatizar detecciones de amenazas y evitar falsos positivos
PPTX
Herramientas de Microsoft para el Científicos de Datos
PDF
Laboratorio práctico: La sazón del científico de datos
PPTX
ML Papers GDG CDMX Mar 2025 Session 1 by GDG CDMX
PPTX
Presentación Introducción al Análisis de Datos.pptx
PPTX
Io t _analitica_maximizando_el_poder_de_sus_datos
PPTX
PDF
Seguridad de la información
PPT
Copy of Charla Cibertec DAT.ppt
PDF
Keepler | Data Analysis Lifecycle
PDF
Obtener visibilidad completa y encontrar problemas de seguridad ocultos
PPTX
Análisis Forense
PPTX
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
PDF
dsddasdasdasdasdasdasdasdasdasdasdasdasdasdasd
PPTX
01. Introducción a la Analítica de Datos.pptx
PDF
ANALÍTICA DE DATOS EN INSTITUCIONES EDUCATIVAS 1
PDF
Machine Learning para Todos
PDF
"Casos de uso del Big Data" por Wolfram Rozas
PDF
introduccion-al-analisis-de-datos--------
PPTX
OpenText Magellan: Información general (Spanish)
Automatizar detecciones de amenazas y evitar falsos positivos
Herramientas de Microsoft para el Científicos de Datos
Laboratorio práctico: La sazón del científico de datos
ML Papers GDG CDMX Mar 2025 Session 1 by GDG CDMX
Presentación Introducción al Análisis de Datos.pptx
Io t _analitica_maximizando_el_poder_de_sus_datos
Seguridad de la información
Copy of Charla Cibertec DAT.ppt
Keepler | Data Analysis Lifecycle
Obtener visibilidad completa y encontrar problemas de seguridad ocultos
Análisis Forense
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
dsddasdasdasdasdasdasdasdasdasdasdasdasdasdasd
01. Introducción a la Analítica de Datos.pptx
ANALÍTICA DE DATOS EN INSTITUCIONES EDUCATIVAS 1
Machine Learning para Todos
"Casos de uso del Big Data" por Wolfram Rozas
introduccion-al-analisis-de-datos--------
OpenText Magellan: Información general (Spanish)
Publicidad

Más de Imma Valls Bernaus (20)

PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
PDF
capitulando la keynote de GrafanaCON 2025 - Madrid
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
PDF
OpenTelemetry 101 Cloud Native Barcelona
PDF
Observa tus flotas de Kubernetes como un/a especialista con Grafana
PDF
Recapitulando la keynote de GrafanaCON 2025 - Barcelona
PDF
Recapitulando la keynote de GrafanaCON 2025 - Barcelona
PDF
Temas principales de GrafanaCON 2025 Grafana 12 y más
PDF
Choose Your Own Adventure to Get Started with Grafana Loki
PDF
Logs, Metrics, traces and Mayhem - An Interactive Observability Adventure Wor...
PDF
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
PDF
Métricas, Logs, Trazas y Caos_ Una Aventura Interactiva de Observabilidad co...
PDF
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
PDF
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Cl...
PDF
Métricas, Logs, Trazas y Caos - Una Aventura Interactiva de Observabilidad c...
PDF
Unearthing the impact of survivorship bias on women in FOSS to build more inc...
PDF
Rebuilding Your Cloud Native Community Lessons learned from Stardew Valley
PDF
Metrics Cost Management with Adaptive Metrics.pdf
PDF
Troubleshooting your Elasticsearch cluster like an Elastic Support Engineer
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Understanding the Need for Systemic Change in Open Source Through Intersectio...
capitulando la keynote de GrafanaCON 2025 - Madrid
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
OpenTelemetry 101 Cloud Native Barcelona
Observa tus flotas de Kubernetes como un/a especialista con Grafana
Recapitulando la keynote de GrafanaCON 2025 - Barcelona
Recapitulando la keynote de GrafanaCON 2025 - Barcelona
Temas principales de GrafanaCON 2025 Grafana 12 y más
Choose Your Own Adventure to Get Started with Grafana Loki
Logs, Metrics, traces and Mayhem - An Interactive Observability Adventure Wor...
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
Métricas, Logs, Trazas y Caos_ Una Aventura Interactiva de Observabilidad co...
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Cl...
Métricas, Logs, Trazas y Caos - Una Aventura Interactiva de Observabilidad c...
Unearthing the impact of survivorship bias on women in FOSS to build more inc...
Rebuilding Your Cloud Native Community Lessons learned from Stardew Valley
Metrics Cost Management with Adaptive Metrics.pdf
Troubleshooting your Elasticsearch cluster like an Elastic Support Engineer

Último (6)

PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
sistemas de informacion.................
Conceptos basicos de Base de Datos y sus propiedades
Su punto de partida en la IA: Microsoft 365 Copilot Chat
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
Derechos_de_Autor_y_Creative_Commons.pptx
sistemas de informacion.................

Introducción al Stack Elastic y Machine Learning con Elasticsearch

  • 1. Introducción al Stack Elastic Search. Observe. Protect. Imma Valls @eyeveebee https://github.com/immavalls/ 5 de Mayo 2020
  • 2. Agenda Las búsquedas en tecnología El Stack Elastic Elasticsearch Visualización y gestión de datos con Kibana 3 1 4 Ingesta de datos 2 5 ¿Cómo funciona todo junto? 6 Soluciones con el Stack Elastic 7
  • 4. 1
  • 5. 1
  • 6. 1
  • 7. 1
  • 9. diferencia ESCALABILIDAD Distribuido por diseño VELOCIDAD Encuentra coincidencias en milisegundos RELEVANCIA Resultados altamente relevantes 1
  • 11. El Stack Elastic Obtener datos de forma fiable y segura de cualquier fuente, en cualquier formato, para luego buscar, analizar y visualizar en tiempo real. 2
  • 14. 3 Elasticsearch Todos los datos son bienvenidos 3
  • 15. 3 Elasticsearch ¿Cómo almacenar los datos? ● Datos en origen en distintos formatos: BBDD, CSV, etc. ● Se deben convertir a objetos JSON para enviar al API REST de Elasticsearch. Los documentos se almacenan en índices, agrupaciones lógicas de Lucene shards.
  • 16. 3 Elasticsearch ¿Cómo almacenar los datos? ● Operaciones CRUD - API REST
  • 17. 3 Elasticsearch Dos tipos de búsquedas ○ Queries ¿Qué vuelos tienen origen en “Amsterdam”? ¿Qué vuelos se retrasaron 60 minutos o más? ○ Agregaciones ¿Cuáles son los top 3 aeropuertos origen? ¿Qué retraso tienen en media los vuelos en los 2 top aeropuertos origen?
  • 18. 3 Elasticsearch Búsquedas - Queries Query DSL (Domain Specific Language) basado en JSON para definir queries ¿Qué vuelos tienen origen en “Amsterdam”? ¿Qué vuelos se retrasaron 60 minutos o más?
  • 19. 3 Elasticsearch Búsquedas - Agregaciones ¿Cuáles son los top 3 aeropuertos origen? ¿Qué retraso tienen en media los vuelos en los 2 top aeropuertos origen?
  • 20. DEMO
  • 26. Logstash Ingestar datos de distintos tipos y fuentes Parsear y transformar dinámicamente datos Transportar datos a varias salidas Securizar y encriptar entradas de datos Construye tus propias pipelines Gran variedad de plugins 5
  • 27. 5
  • 29. 5
  • 30. 5
  • 31. Beats Enviar datos desde las fuentes Enviar y centralizar los datos en Elasticsearch Enviar datos a Logstash si se requieren transformaciones Enviar al Cloud de Elastic Libbeat: API framework para construir beats a medida 70+ Beats de comunidad 5
  • 34. 5 Elasticsearch Kibana Logstash Beats • Agentes de recolección ligeros • Ficheros, métricas, paquetes, eventos de auditoría • Módulos pre-construidos para análisis y visualización • Normalizar, filtrar, enriquecer • Configuración centralizada • Colas persistentes • Buen rendimiento en búsquedas y analítica • Escalable, resiliente, alta disponibilidad • Tipos de nodos configurables • Explorar y buscar • Interacción visual con los datos • Herramientas de desarrollo y gestión Pipeline Lógica de Ingesta
  • 35. DEMO
  • 37. Elastic Enterprise Search Elastic Security Elastic Observability 3 soluciones con 1 stack Elastic Stack 7
  • 38. Recursos Stack Elastic ● Demos: ○ Git: https://github.com/immavalls/viu-elk-ml-talk ○ PDF: https://github.com/immavalls/viu-elk-ml-talk/blob/master/doc/pdf/Introduccion-Stack-Elastic- Demos.pdf ○ Gist: https://gist.github.com/immavalls/b3d9b1b3985e75f86f64836632250baf ● https://www.elastic.co/webinars/introduction-elk-stack ● Documentación: https://www.elastic.co/guide/index.html ● Foros: https://discuss.elastic.co/ ● Blogs: https://www.elastic.co/blog/ ● Learn: https://www.elastic.co/learn/ ● Taller Elastic Stack: https://github.com/immavalls/elastic-stack-workshop
  • 39. Elastic is a Search Company. www.elastic.co Pausa para Café
  • 40. Machine Learning con Elasticsearch Search. Observe. Protect. Imma Valls @eyeveebee https://github.com/immavalls/ 5 de Mayo 2020
  • 41. Agenda Introducción. Funcionamiento y Casos de Uso Detección de Anomalías en Series Temporales Analítica con Data Frames: Outlier Detection y Machine Learning Supervisado 3 1 2
  • 44. 1 Machine Learning de Elastic Operacionalizar la ciencia de los datos para todos
  • 45. 1 Machine Learning Licenciamiento ● Basic: Transformaciones ● Platinum: Machine Learning
  • 46. 2
  • 47. 1 Analítica con Data Frames Detección de anomalías en series temporales Machine Learning
  • 48. 1 ¿Supervisado no supervisado? • ¿Por qué este servidor está enviando muchos más datos ahora? • ¿Que es este nuevo proceso? • ¿Por qué son de mayor tamaño que antes estas peticiones al DNS? • ¿Tengo sistemas comprometidos, con algun malware? • ¿Qué usuarios podrían ser una amenaza de seguridad interna? • ¿Qué incidentes en el tráfico de red están causando el mayor retraso? Dos enfoques distintos para resolver distintos casos de uso No Supervisado • ¿Qué transacciones son fraudulentas? • ¿Qué productos deberíamos recomendar a los clientes? • ¿Qué clientes es probable que abandonen? • ¿Cómo puedo clasificar la actividad según el tipo de terminal de origen (ej. smartphone)? • ¿En qué idioma está escrito un documento? • ¿Qué resultados de búsqueda son más relevantes basándonos en el ratio de click-through? Supervisado
  • 49. 1 No Supervisado Supervisado Data Driven: Reconocimiento de patrones Datos etiquetados para aprendizaje y predicción ● Detección Anomalías ● Detección valores atípicos ● Forecasting ● Identificación idioma ● Detección fraude ● Clasificación usuarios Expandiendo casos de uso Machine Learning Supervisado extremo a extremo con la versión 7.6
  • 51. 2 Conceptos sobre Anomalías Detectando anomalías en los datos Aprendizaje no supervisado ● Aprendizaje sin ejemplos etiquetados por humanos ● Basarse sólo en los datos Detección de Anomalías ● Descubrir lo que es extraño o diferente, no necesariamente malo. Bayesiano ● Determinar las probabilidades posteriores en función de las probabilidades anteriores y la nueva información. Cuando se recopile información adicional.
  • 55. 1 ¿Cómo definimos “Normal”? 1. Algo que se comporta de manera consistente con respecto a sí mismo, en el tiempo 2. Algo se comporta de manera consistente en comparación con entidades similares 2
  • 56. 1 ¿Qué es “Anormal”? 1. Si algo cambia su comportamiento, en comparación con su propia historia, ese cambio es anómalo 2 “normal” “normal” anomalía “normal” “normal” anomalía
  • 57. 1 ¿Qué es “Anormal”? 2. Si algo es drásticamente diferente que otros dentro de una población, entonces esa entidad es anómala 2 “normal” anómalo
  • 58. 1 ¿Qué es “Anormal”? 2. Si algo es drásticamente diferente que otros dentro de una población, entonces esa entidad es anómala También existe el concepto de ser "algo anómalo" 2 “normal” anómalo algo anómalo
  • 59. 1 ¿Cómo definimos “Anormal”? 1. Cuando el comportamiento de una entidad cambia de manera significativa y repentina 2. Cuando una entidad es drásticamente diferente de otras dentro de una población 2
  • 60. 1 ¿Cómo se escoge el “Modelo” que mejor se adapta a nuestros datos? 2
  • 61. 1 Machine Learning lo escoge por nosotros, no supervisado ● Utiliza técnicas sofisticadas de machine-learning para ajustar mejor el modelo estadístico adecuado para nuestros datos ● Mejor modelo = mejor detección valores atípicos = menos falsas alarmas ● Las anomalías ocurren cuando estamos en zonas de baja probabilidad de esos valores 2
  • 62. 2 periodicidad En dos días se ha aprendido la periodicidad diaria Tras dos semanas, se ha aprendido la periodicidad semanal
  • 65. 1 Reducir el MTTR gracias a una visión holística a través de las distintas capas 2
  • 67. 2 https://github.com/elastic/ecs pre-configurados ECS Simplifica la configuración de jobs en formatos de datos habituales
  • 68. DEMO
  • 69. Analítica Data Frames Outlier Detection ML Supervisado 3
  • 70. 3 Casos de Uso construir Modelo ¿De qué comportamiento podemos aprender para hacer predicciones? ● Machine Learning en Search ■ ¿En qué idioma está escrito un documento? ■ ¿Cómo incrementar la relevancia en las búsquedas para entidades nombradas? ■ ¿Qué resultados son más relevantes basados en el ratio de click-through? ● Seguridad ■ ¿Cómo identificar nombres de dominio maliciosos generados por DGAs? ■ ¿Cómo clasificar la actividad según el tipo de terminal de origen (ej. smartphone)? ● Observabilidad ■ ¿Que usuarios o servidores son atípicos? ■ ¿Cómo clasificar alertas y enrutarlas al equipo adecuado? ■ ¿Qué clientes es probable que nos abandonen?
  • 71. Analítica Data Frames ● Permite entrenar un modelo y evaluarlo ■ Outlier Detection / Detección de valores atípicos (No supervisado) ■ Análisis de Regresión (Supervisado) ■ Análisis de Clasificación (Supervisado) ■ Inferencia - Predicción sobre datos no etiquetados 3 Definir un problema de ML y proponer soluciones Construir conjunto de datos Transformar los datos Entrenar el modelo Usar el modelo para hacer predicciones
  • 72. 3 valores atípicos ¿Cómo los identifica Elasticsearch? ● El objetivo es identificar puntos de datos que no siguen el modelo ● Métodos utilizados basados en ■ distancia ■ densidad ● Salidas ■ Outlier score ■ Feature influencer score ● Casos de uso ■ Detección de fraude ■ Problemas médicos ■ Detección de amenazas en seguridad
  • 73. 3 valores atípicos “Entity-centric” vs “Event-centric” ● Típicamente recibimos eventos en forma de serie temporal. Son datos “event-centric” ● Los transformaremos en “entity-centric” para detectar valores atípicos
  • 74. 3 valores atípicos Requerimientos ● Identificar valores atípicos requiere una estructura diferente ● Usaremos Data Transforms para crear un índice “Entity-centric”, en vez de serie temporal ● Actualización frecuente del índice transformado
  • 76. 3 Clasificación ¿Cómo funcionan? ● El objetivo es predecir la categoría/clase de un punto dentro del conjunto de datos. ● Método utilizado: boosted tree regression ● Dos tipos: binaria, multi-clase ● Casos de uso ■ Detección de cáncer ■ Clasificar música o texto ■ Predicción de riesgo en préstamos
  • 77. 3 Clasificación Requerimientos ● Supervisado implica que alguien tiene que etiquetar los datos para aprender ● Requiere ■ Feature variables / características ■ Dependent variable / variable dependiente customer a customer b total duration of customer sessions in last month 80:21:07 1:01:11 tv episodes watched in last month 24 1 films watched in last month 5 0 newness of titles watched in last month 9.8 1.2 change in duration of customer sessions this month 6:22:17 16:43:29 customer subscription plan gold platinum customer tenure 32 26 has churned? no yes Características Variable dependiente
  • 78. 3 Regresión ¿Cómo funcionan? ● El objetivo es estimar la relación entre varios campos dentro del conjunto de datos. ● Método utilizado: extreme gradient boost ● Mismos requerimientos que clasificación ■ Feature variables / características ■ Dependent variable / variable dependiente ● Casos de uso ■ Precio del alquiler/compra ■ Tiempo que se retrasará un vuelo Variable dependiente Característica Size (m2) Monthly rent (GBP) 44 1600 24 1055 63 2300
  • 79. 3 Validación Modelo Medir la calidad del modelo con datos de prueba Clasificación Matriz de confusión Curva ROC Importancia de las feature variables Regresión R-cuadrado Error Medio cuadrado
  • 80. 3 Predicción Inferencia Aplicar un modelo a nuevos datos en streaming Nodo de Machine Learning Elasticsearch Modelo ML supervisado Ejemplos etiquetados Nodo de Ingesta y Machine Learning Elasticsearch Modelo ML supervisado Datos no etiquetados Predicciones Entrenamiento/Test/Validación Inferencia del modelo PUT _ml/data_frame/analytics/churn { "source": { "index": "customer_behaviour" }, "dest": { "index": "customer_behaviour_churn" }, "analysis": { "regression": { "dependent_variable": "churn_probability", "training_percent": 80, "save_model": { "name": "churn" } } } } POST _ml/data_frame/analytics/churn/_start PUT _ingest/pipeline/predict_churn { "description" : "Predict customer churn", "processors" : [ { "inference" : { "model": { "regression": { "model_id" : "churn", "target_field": "churn_probability" } } } } ] } PUT _ingest/pipeline/lang_ident { "description" : "Identify language", "processors" : [ { "inference" : { "model": { "lang_ident": { "target_field": "text", "target_language_field": "lang", "target_probability_field": "lang_prob" } } } } ] }
  • 81. DEMO
  • 83. Recursos Machine Learning ● Demos: ○ Git: https://github.com/immavalls/viu-elk-ml-talk ○ PDF: https://github.com/immavalls/viu-elk-ml-talk/blob/master/doc/pdf/Machine-Learning-Elasticse arch-demos.pdf ○ Gist: https://gist.github.com/immavalls/aecf1cc361e3fcb957aed711c340e712 ● Documentación: https://www.elastic.co/guide/en/machine-learning/7.6/index.html ● Foros: https://discuss.elastic.co/ ● Elastic Common Schema: https://github.com/elastic/ecs ● Librería para Jupyter Notebooks: https://github.com/elastic/eland ● https://www.elastic.co/blog/introducing-machine-learning-for-the-elastic-stack ● https://www.elastic.co/webinars/automated-anomaly-detection-with-machine-learning ● Transforms / Data Frames: https://www.elastic.co/guide/en/elasticsearch/reference/current/transforms.html ● Ejemplos de Transforms: https://www.elastic.co/guide/en/machine-learning/master/dfanalytics-examples.html ● https://www.elastic.co/webinars/introducing-data-frame-transforms-for-elastic-machine-learning ● https://www.elastic.co/blog/benchmarking-binary-classification-results-in-elastic-machine-learning
  • 84. Elastic is a Search Company. www.elastic.co Gracias