Top Banner
Jorge Salamero Sanz The Dark Art of Container Monitoring
37

The Dark Art of Container Monitoring - Spanish

Apr 16, 2017

Download

Internet

Sysdig
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Dark Art of Container Monitoring - Spanish

Jorge Salamero Sanz

The Dark Art of Container Monitoring

Page 2: The Dark Art of Container Monitoring - Spanish

¿Cómo montar un sistema de monitorización?

Aplicaciones

Infrastructura

Health Checks

JVM/JMXCustom metrics

Métricas Procesado Unicornios, arcoiris y dashboards super bárbaros

Page 3: The Dark Art of Container Monitoring - Spanish
Page 4: The Dark Art of Container Monitoring - Spanish

% whoami

Jorge Salamero Sanz

<[email protected]> @bencerillo

@sysdig• Working on OSS last 12 years

• Working on OSS+Cloud last 5 years

• Working on monitoring last 3 years

• Technical Marketing Foo geek @sysdig

Page 5: The Dark Art of Container Monitoring - Spanish

Agenda

• Retos de la infraestructura con contenedores

• Problemática de la monitorización tradicional

• Buenas prácticas monitorizando contenedores

• Sysdig, monitorización nativa de contenedores

Page 6: The Dark Art of Container Monitoring - Spanish

Rompiendo moldes

El uso de microservicios y contenedores rompelas metodologías de monitorización y análisis tradicionales

Page 7: The Dark Art of Container Monitoring - Spanish

Despliegue tradicional

Full host OS

kernelsystemdsyslogd

App services

MySQLNginx

OpenSSLJava

App A

App B

App C

Ops Devs

Page 8: The Dark Art of Container Monitoring - Spanish

Esquema de una aplicación

Base de datos Applicación Caché

backend middleware frontend

Page 9: The Dark Art of Container Monitoring - Spanish

Revolución de los contenedores

Servidores Máquinas Virtuales Contenedores

Unidad: máquina

Orquestación: no

Arquitectura: monolítica

Unidad: máquina

Orquestación: externaArquitectura: monolítica

Unidad: (micro)servicio

Orquestación:nativaArquitectura: distribuida

Page 10: The Dark Art of Container Monitoring - Spanish

Despliegue en contenedores

Sistema Operativo completo

kernel

+Docker

MySQL App A

Ops DevOps

Nginx + OpenSSL App B

Java 8.0 build XXX App C

Page 11: The Dark Art of Container Monitoring - Spanish

… pero en realidad:

Base de datos Aplicación Caché

Nodo de cálculo

Nodo de cálculo Nodo de cálculo

Nodo de cálculo Nodo de cálculo

Nodo de cálculo

Page 12: The Dark Art of Container Monitoring - Spanish

… pero en realidad:

Base de datos Aplicación Caché

Nodo de cálculo

Nodo de cálculo Nodo de cálculo

Nodo de cálculo Nodo de cálculo

Nodo de cálculo

Page 13: The Dark Art of Container Monitoring - Spanish

Esquema de una aplicación

Base de datos Applicación Caché

backend middleware frontend

Page 14: The Dark Art of Container Monitoring - Spanish

Nuevos esquemas de organización

Page 15: The Dark Art of Container Monitoring - Spanish

Monitorización de contenedores

Nuevos retos:

1. Obtención de las métricas

2. Darle sentido a tanta información

3. Análisis y depuración de fallos

4. Equipos por servicio

Page 16: The Dark Art of Container Monitoring - Spanish

Monitorización de contenedores

Nuevos retos:

1. Obtención de las métricas

2. Darle sentido a tanta información

3. Análisis y depuración de fallos

4. Equipos por servicio

Page 17: The Dark Art of Container Monitoring - Spanish

1. Obtención de métricas

• We containers, porque:

– son sencillos

– son pequeños

– están aislados

– menos dependencias

• … pero son una caja negra opaca

Page 18: The Dark Art of Container Monitoring - Spanish

“Apaños”

Agente en el contenedor Docker

Agente en el pod de Kubernetes

Exponer métricas a un agente externo

App Agente App Agente

App

AgenteApp

App

App

1. Instrumentación compleja (x2 debido a la monitorización) incluyendo configuración de los servicios

2. Colección de métricas pre-establecido y limitado (Docker API, etc)

Page 19: The Dark Art of Container Monitoring - Spanish

Instrumentación en el kernel

Kernel

Docker

Container1

Container2

Container3

App Apprkt LXC

Sysdig

Docker

2. Obtención y análisis

1. Instrumentación en el kernel

Page 20: The Dark Art of Container Monitoring - Spanish

Ventajas

• Una instrumentación/agente por host– crear o destruir un contenedor no require instrumentación

• Completa visibilidad: todas las llamadas al sistema:– descubrimiento automático de servicios

– se recogen todas las métricas (sin filtrado previo)

– monitorización a nivel de aplicación sin instrumentación

(decodificando el protocolo)

Page 21: The Dark Art of Container Monitoring - Spanish

Monitorización de contenedores

Nuevos retos:

1. Obtención de las métricas

2. Darle sentido a tanta información

3. Análisis y depuración de fallos

4. Equipos por servicio

Page 22: The Dark Art of Container Monitoring - Spanish

Recordad… pero en realidad:

Base de datos Aplicación Caché

Nodo de cálculo

Nodo de cálculo Nodo de cálculo

Nodo de cálculo Nodo de cálculo

Nodo de cálculo

Page 23: The Dark Art of Container Monitoring - Spanish

2. Darle sentido a tanta información

• Monitorizar la infraestructura debería ser transparente y

automático (sin instrumentación ni configuración)

• Sólo deberías encargarte de tus propias métricas

• Toda métrica debería ser etiquetada automáticamente

• Métricas deben poder segmentarse basándose en los

servicios

Page 24: The Dark Art of Container Monitoring - Spanish

Esquema de una aplicación

Base de datos Applicación Caché

backend middleware frontend

Page 25: The Dark Art of Container Monitoring - Spanish

Tu plataforma ya sabe esto

Page 26: The Dark Art of Container Monitoring - Spanish

Monitorización de contenedores

Nuevos retos:

1. Obtención de las métricas

2. Darle sentido a tanta información

3. Análisis y depuración de fallos

4. Equipos por servicio

Page 27: The Dark Art of Container Monitoring - Spanish

Caso real

https://github.com/kubernetes/kubernetes/issues/14051

Page 28: The Dark Art of Container Monitoring - Spanish

3. Análisis y depuración de fallos

• Imagina:

strace + wireshark + htop + lsof + iostat + vmstat + *

• No disponibles en un contenedor, no los entienden

• Las métricas y los logs no tienen toda la

información, las llamadas al sistema si

• Infraestructura compleja y volátil

Page 29: The Dark Art of Container Monitoring - Spanish

Demostración

Page 30: The Dark Art of Container Monitoring - Spanish

Monitorización de contenedores

Nuevos retos:

1. Obtención de las métricas

2. Darle sentido a tanta información

3. Análisis y depuración de fallos

4. Equipos por servicio

Page 31: The Dark Art of Container Monitoring - Spanish

Equipos en la infraestructura

Francesc Zacarias, SRE @ Spotify

Page 32: The Dark Art of Container Monitoring - Spanish

4. Equipos por servicio

• Etiquetas de la plataforma de orquestación, en

Kubernetes:

– namespaces (dev, prod)

– services, deployments, RCs, pods

– etiquetas propias

• Privilegios de acceso automáticos (dashboards, alertas,

etc) en escenarios multi-tenant

Page 33: The Dark Art of Container Monitoring - Spanish

Monitorización de contenedores

Nuevos retos:

1. Obtención de las métricas

2. Darle sentido a tanta información

3. Análisis y depuración de fallos

4. Equipos por servicio

Page 34: The Dark Art of Container Monitoring - Spanish

Sysdig

• 100% software libre

• 1M+ descargas

• Análisis en 1 host

• SaaS y on-prem

• 200+ clientes

• Análisis en n hosts

• Dashboards, alertas,

eventos, equipos

Page 35: The Dark Art of Container Monitoring - Spanish

Usuarios

Page 36: The Dark Art of Container Monitoring - Spanish

Proyectos complementarios

• Sysdig tracers: trazabilidad de transacciones, APM

sencillo (aunque instrumentado)

• Sysdig Falco: monitorización de seguridad de tus

contenedores