Cree alarmas para métricas personalizadas mediante la detección de CloudWatch anomalías de Amazon - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree alarmas para métricas personalizadas mediante la detección de CloudWatch anomalías de Amazon

Creado por Ram Kandaswamy (AWS) y Raheem Jiwani (AWS)

Entorno: producción

Tecnologías: gestión y gobierno; operaciones; DevOps CloudNative

Servicios de AWS: Amazon CloudWatch

Resumen

En la nube de Amazon Web Services (AWS), puede utilizar Amazon CloudWatch para crear alarmas que supervisen las métricas y envíen notificaciones o para realizar cambios automáticamente si se supera un umbral.

Para evitar verse limitado por umbrales estáticos, puede crear alarmas basadas en patrones anteriores y que lo notifiquen si determinadas métricas están fuera del intervalo operativo normal. Por ejemplo, puede supervisar los tiempos de respuesta de su API desde Amazon API Gateway y recibir notificaciones sobre anomalías que le impidan cumplir un acuerdo de nivel de servicio (SLA).

Este patrón describe cómo utilizar la detección de CloudWatch anomalías para las métricas personalizadas. El patrón le muestra cómo crear una métrica personalizada en Amazon CloudWatch Logs Insights o publicar una métrica personalizada con una función de AWS Lambda y, a continuación, configurar la detección de anomalías y crear notificaciones mediante Amazon Simple Notification Service (Amazon SNS).

Requisitos previos y limitaciones

Requisitos previos

Limitaciones

  • CloudWatch las métricas no admiten intervalos de milisegundos. Para obtener más información sobre la granularidad de las métricas normales y personalizadas, consulta las CloudWatch preguntas frecuentes de Amazon.

Arquitectura

En el diagrama, se muestra el siguiente flujo de trabajo:

CloudWatch usar un tema de Amazon SNS para enviar una notificación por correo electrónico cuando se inicie una alarma.
  1. Los registros que utilizan métricas creadas y actualizadas por CloudWatch Logs se transmiten a. CloudWatch

  2. Se inicia una alarma en función de los umbrales y envía una alerta a un tema de SNS.

  3. Amazon SNS le enviará una notificación por correo electrónico.

Pila de tecnología

  • CloudWatch

  • AWS Lambda

  • Amazon SNS

Herramientas

Epics

TareaDescripciónHabilidades requeridas

Opción 1: Crear una métrica personalizada con una función de Lambda.

Descargue el lambda_function.py archivo (adjunto) y, a continuación, sustituya el lambda_function.py archivo de muestra del aws-lambda-developer-guiderepositorio en la documentación de AWS GitHub. Esto le proporciona un ejemplo de función Lambda que envía métricas personalizadas a CloudWatch Logs. La función Lambda utiliza la API Boto3 para integrarse con. CloudWatch 

Tras ejecutar la función Lambda, puede iniciar sesión en la consola de administración de AWS, abrir la CloudWatch consola y la métrica publicada estará disponible en su espacio de nombres publicado.

DevOps ingeniero, AWS DevOps

Opción 2: crear métricas personalizadas a partir de grupos de CloudWatch registros.

Inicie sesión en la consola de administración de AWS, abra la CloudWatch consola y, a continuación, seleccione Grupos de registro. Seleccione el grupo de registro para el que desea crear una métrica. 

Elija Acciones y, a continuación, seleccione Crear filtro de métrica. Para Patrón de filtro, introduzca el patrón de filtro que desea utilizar. Para obtener más información, consulte la sintaxis de filtros y patrones en la CloudWatch documentación. 

Para probar su patrón de filtro, ingrese uno o más eventos de registro en Probar patrón. Cada evento de registro debe estar dentro de una línea, ya que los saltos de línea se utilizan para separar los eventos de registro en el cuadro de Log event messages (Mensajes de eventos de registro). Tras probar el patrón, puede introducir un nombre y un valor para la métrica en Detalles de la métrica

Para obtener más información y los pasos para crear una métrica personalizada, consulte Crear un filtro de métrica para un grupo de registros en la CloudWatch documentación.

DevOps ingeniero, AWS DevOps

Cree una alarma para su métrica personalizada.

En la CloudWatch consola, selecciona Alarmas y, a continuación, selecciona Crear alarma. Seleccione Seleccionar métrica e introduzca el nombre de la métrica que creó anteriormente en el cuadro de búsqueda. Seleccione la pestaña Métricas graficadas y configure las opciones según sus necesidades.

En Condiciones, seleccione Detección de anomalías en lugar de Umbrales estáticos. Esto le muestra una banda basada en dos desviaciones estándar predeterminadas. Puede configurar umbrales y ajustarlos según sus necesidades.

Elija Siguiente.

Nota: La banda es dinámica y depende de la calidad de los puntos de datos. Cuando comience a agregar más datos, la banda y los umbrales se actualizan automáticamente. 

DevOps ingeniero, AWS DevOps

Configurar notificaciones de SNS.

En Notificación, elija el tema de SNS al que desee enviar la notificación cuando la alarma tenga el estado ALARM, OK o INSUFFICIENT_DATA.

Para que la alarma envíe varias notificaciones para el mismo estado de alarma o para estados de alarma diferentes, seleccione Add notificación (Añadir notificación). Elija Siguiente. Escriba un nombre y la descripción de la alarma. El nombre solo debe contener caracteres ASCII. A continuación, elija Next.

En Obtener vista previa y crear, confirme que la información y las condiciones son las correctas y luego, elija Crear alarma.

DevOps ingeniero, AWS DevOps

Recursos relacionados

Conexiones

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip