Vamos a discutir el uso de Elastic APM para convertir cualquier sistema de información en un sistema observable.
Usando herramientas del stack de Elastic es posible instrumentar un sistema completo, hardware y software, capturar toda
la información generada a través de esta instrumentación, guardarla en un almacén central, visualizarla y analizarla.
Observando sistemas the información con Elastic APM
1. 1
Dr. Enrique V. Kortright
11 de agosto de 2020, Meetup de Elastic
Observando sistemas de
información con Elastic APM
2. Conéctese con la comunidad de Elastic
https://community.elastic.co/ https://community.elastic.co/amer-virtual/
Existen User Groups en Mexico, Colombia,
Argentina y Uruguay - encuentra el tuyo:
User Group Virtual:
3. 3
Agenda
● Sistemas observables (y controlables)
● Pilares de la observabilidad
● El stack de Elastic
● Visualización, análisis y alertas
● La solución Elastic APM
● Demostración: Petclinic, una aplicación políglota
4. 4
Sistemas observables
“Formalmente, se dice que un sistema es observable si, mediante cualquier secuencia de los vectores de estado y
de control, el estado actual puede determinarse en un tiempo finito usando solamente las salidas (esta definición
está orientada hacia la representación de espacios de estados).” -- es.wikipedia.org/wiki/Observabilidad
“A grandes rasgos, el concepto de controlabilidad es la habilidad de mover un sistema en toda su configuración de
espacios usando solamente cierta manipulaciones admisibles. La definición exacta varía ligeramente dentro del
marco de trabajo o los tipos de modelos aplicados.” -- es.wikipedia.org/Controlabilidad
❏ Un sistema es observable si y sólo si es controlable
❏ Un sistema de información tiene una gran cantidad de variables
resultando en alta complejidad
❏ Las salidas incluyen logs, métricas, trazas, respuestas a pedidos
❏ Queremos capturar todos los datos generados, concentrarlos,
visualizarlos, analizarlos y usarlos para generar acciones de control
La observabilidad y su dual, la controlabilidad
6. 6
PÉRDIDAS ANUALES
Debido a inactividad de
sistemas en
norteamérica
Costos de la inactividad de un sistema
ABANDONO
Cuando la respuesta de
un dispositivo móvil es
mas de 3 segundos
MAS ALTO COSTO
De adquirir un
nuevo cliente contra
retenerlo
$700B 53% 25X
- IHS Markit Insights Think With Google Harvard Business Review
7. 7
Los sistemas de información modernos son complejos
Las arquitecturas de microservicios se basan en un gran número y variedad
de componentes
8. 8
Las componentes del sistema generan gran cantidad de datos
Front End Browser
{React, etc.}
Contenedores
Otras bases de
datos, servicios y
middleware
Orquestacion Infraestructura
Pedido de
usuario
APM
APM
APM
APM APM
APM APM
Podemos capturar estos datos y así entender el funcionamiento del sistema
Metricas
Metricas Metricas
Metricas
Logs
Logs Logs
Logs
Veo errores y
problemas de
rendimiento!
9. 9
Elastic apoya los tres pilares: logs, metricas, trazas, tiempo activo
Con visualizaciones de Kibana y detección de anomalías usando aprendizaje automático
16. 16
Petclinic: una aplicación políglota
- Instala y corre petclinic usando https://github.com/spring-projects/spring-petclinic
- Baja el agente APM de Java siguiendo las instrucciones en
https://www.elastic.co/guide/en/apm/agent/java/current/setup-attach-cli.html
- Encuentra el pid del proceso del JVM corriendo la aplicación de petclinic
- java -jar apm-agent-attach-standalone.jar --list
- Liga el agente al JVM
- java -jar apm-agent-attach-standalone.jar --pid <PID>
--config service_name=petclinic server_urls=http://localhost:8200
Aplicación que usa Java Spring y una base de datos
17. 17
Otras tecnologías
❏ Existen agentes APM para node.js, Go, Ruby, Python, .NET
❏ El agente RUM (real user monitoring) apoya frameworks de
JavaScript como angular, VUE y React
18. Conéctese con la comunidad de Elastic
https://community.elastic.co/ https://community.elastic.co/amer-virtual/
Existen User Groups en Mexico, Colombia,
Argentina y Uruguay - encuentra el tuyo:
User Group Virtual: