Métricas de CloudWatch

Supervisión y resolución de problemas en AWS

John Q. Martin

Principal Consultant

Anatomía de una métrica de CloudWatch

 

Diagrama de un punto de datos de una métrica de CloudWatch que muestra namespace, nombre, dimensiones, marca de tiempo y unidad

Supervisión y resolución de problemas en AWS

Métricas estándar vs. personalizadas

Estándar

  • Publicadas automáticamente por servicios de AWS
  • EC2: 5 min gratis, 1 min con monitorización detallada
  • Ejemplos: EC2 CPUUtilization, RDS DatabaseConnections, Lambda Invocations

Personalizadas

  • Mide lo que quieras: cargas de página, pedidos, aciertos de caché
  • Control total de namespace, dimensiones, unidad y resolución
  • Cada combinación de namespace, nombre y dimensiones se factura
Supervisión y resolución de problemas en AWS

Resoluciones de métricas

Comparación de resoluciones de métricas de CloudWatch de un segundo a cinco minutos

  • Un minuto para producción; cinco para dev/pruebas
  • Un segundo solo cuando sea realmente necesario
  • Estándar: automático y gratis, pero con huecos
  • Personalizada: control total con coste por métrica
Supervisión y resolución de problemas en AWS

Publicar métricas personalizadas

Icono que representa la AWS CLI para publicar métricas

  • CLI con put-metric-data para pruebas rápidas

Icono para publicar métricas personalizadas usando la REST API

  • REST API vía HTTP POST para integración directa

Icono que representa un SDK de Amazon para publicar métricas

  • SDK de Amazon

Icono que representa el CloudWatch Unified Agent

  • CloudWatch Unified Agent
Supervisión y resolución de problemas en AWS

Publicar con CLI

   


aws cloudwatch put-metric-data \
  --namespace "Pipeline/DeployDb" \
  --metric-name "stepDuration" \
  --dimensions Name=Pipeline,Value=ProdApp01 \
  --value 42 \
  --unit "Seconds"

 

Icono que representa la AWS CLI para publicar métricas

  • Instrumenta cualquier cosa que pueda llamar a una CLI
  • Aprovecha las dimensiones
Supervisión y resolución de problemas en AWS

Publicar con SDK

  Ejemplo de código C# usando el SDK de Amazon CloudWatch para publicar una métrica personalizada

 

Icono que representa un SDK de Amazon para publicar métricas

  • SDK para C#, Java, Go, Rust y más
  • Publica métricas desde el código de la aplicación
  • Las dimensiones segmentan una métrica entre partes de la app
Supervisión y resolución de problemas en AWS

Agente unificado

Archivo de configuración JSON del CloudWatch Unified Agent que define métricas e intervalos de recogida

Icono que representa el CloudWatch Unified Agent

  • Recoge métricas y logs a nivel de SO
  • Se ejecuta en instancias EC2 o contenedores
  • Configuración JSON define qué recoger
  • Ajusta el intervalo por métrica
Supervisión y resolución de problemas en AWS

Embedded Metric Format (EMF)

{
  "_aws": {
    "CloudWatchMetrics": [{
      "Namespace": "MyApp",
      "Dimensions": [["functionName"]],
      "Metrics": [{"Name": "latency", "Unit": "Milliseconds"}]
    }]
  },
  "functionName": "checkout",
  "latency": 56
}

 

  • Escribe métricas como JSON estructurado en tus logs
  • CloudWatch extrae las métricas automáticamente
  • Ideal para Lambda y contenedores, sin llamada extra a la API
  • Métricas y logs con una sola escritura
Supervisión y resolución de problemas en AWS

Metric streams

 

  • Exporta datos continuamente a destinos externos
  • S3 o partners como New Relic, Datadog
  • Permite analítica más rica que solo CloudWatch
  • Visión unificada para nube híbrida

Diagrama general de metric streams de CloudWatch exportando datos a destinos externos

Supervisión y resolución de problemas en AWS

Streaming a Amazon S3

Diagrama de métricas transmitiéndose desde CloudWatch a través de Kinesis Data Firehose a un bucket de S3

Supervisión y resolución de problemas en AWS

Streaming a solución asociada

Diagrama de métricas transmitiéndose a través de Kinesis Firehose a un endpoint de solución asociada con copia de seguridad en S3

Supervisión y resolución de problemas en AWS

Resumen

Métricas y métricas personalizadas

  • Mide atributos de cargas de trabajo
  • Métricas personalizadas para tus aplicaciones
  • Aprovecha las dimensiones

 

Resoluciones para la detección

  • La granularidad importa
  • Gratis vs. de pago
  • Depende del servicio

Publicación de métricas personalizadas

  • Instrumenta procesos y aplicaciones
  • Dimensiones para categorizar
  • SDK o CLI sobre API

 

Metric streams

  • S3 o solución asociada
  • Analítica personalizada
  • Visión unificada
Supervisión y resolución de problemas en AWS

¡Vamos a practicar!

Supervisión y resolución de problemas en AWS

Preparing Video For Download...