Creación automática de paneles de Amazon CloudWatch basados en etiquetas
Janak Vadaria, Vinodkumar Mandalapu y RAJNEESH TYAGI, Amazon Web Services
Resumen
La creación manual de diferentes paneles de Amazon CloudWatch puede llevar mucho tiempo, especialmente cuando hay que crear y actualizar varios recursos para escalar automáticamente el entorno. Una solución que cree y actualice automáticamente sus paneles de CloudWatch puede ahorrarle tiempo. Este patrón lo ayuda a implementar una canalización de AWS Cloud Development Kit (AWS CDK) totalmente automatizada que crea y actualiza los paneles de CloudWatch para sus recursos de AWS en función de los eventos de cambio de etiquetas, a fin de mostrar las métricas de Golden Signals.
En la ingeniería de confiabilidad del sitio (SRE), Golden Signals se refiere a un conjunto integral de métricas que ofrecen una visión amplia de un servicio desde la perspectiva del usuario o del consumidor. Estas métricas se componen de la latencia, el tráfico, los errores y la saturación. Para obtener más información, consulte ¿Qué es la ingeniería de confiabilidad del sitio (SRE)?
La solución que proporciona este patrón se basa en eventos. Una vez implementada, supervisa de forma continua los eventos de cambio de etiquetas y actualiza automáticamente los paneles y las alarmas de CloudWatch.
Requisitos previos y limitaciones
Requisitos previos
Una Cuenta de AWS activa
La AWS Command Line Interface (AWS CLI) instalada y configurada
Requisitos previos para AWS CDK v2
Un entorno de arranque en AWS
AWS SDK para Python (Boto3)
instalado La versión 18
o posterior de Node.js Administrador de paquetes de nodos (npm), instalado y configurado
para AWS CDK. Familiaridad moderada (nivel 200) con AWS CDK y AWS CodePipeline
Limitaciones
Actualmente, esta solución crea paneles automatizados únicamente para los siguientes servicios de AWS:
Arquitectura
Pila de tecnología de destino
Arquitectura de destino

Un evento de cambio de etiqueta de AWS para las etiquetas de aplicación configuradas o los cambios de código inicia una canalización en AWS CodePipeline para crear e implementar paneles de CloudWatch actualizados.
AWS CodeBuild ejecuta un script de Python para buscar los recursos que tienen etiquetas configuradas y almacena los ID de los recursos en un archivo local en un entorno de CodeBuild.
CodeBuild ejecuta cdk synth para generar plantillas de CloudFormation que implementan paneles y alarmas de CloudWatch.
CodePipeline implementa las plantillas de CloudFormation en la región y la Cuenta de AWS especificadas.
Cuando la pila de CloudFormation se haya implementado correctamente, podrá ver los paneles y las alarmas de CloudWatch.
Automatizar y escalar
Esta solución se ha automatizado mediante AWS CDK. Puede encontrar el código en el repositorio de GitHub Paneles de Golden Signals en Amazon CloudWatch
Herramientas
Servicios de Amazon
Amazon EventBridge
es un servicio de bus de eventos sin servidor que le permite conectar sus aplicaciones con datos en tiempo real desde varios orígenes, entre los que se incluyen funciones de AWS Lambda, puntos de conexión de invocación HTTP con destinos de API o buses de eventos en otras Cuentas de AWS. AWS CodePipeline
permite diseñar y configurar rápidamente las diferentes etapas de un proceso de lanzamiento de software y automatizar los pasos necesarios para lanzar los cambios en el software de manera continua. AWS CodeBuild
es un servicio de compilación completamente administrado que le permite compilar código fuente, poner en marcha pruebas unitarias y producir artefactos listos para implementar. La AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en el intérprete de comandos de la línea de comandos.
AWS Identity and Access Management(IAM)
lo ayuda a administrar de forma segura el acceso a sus recursos AWS al controlar quién está autenticado y autorizado a usarlos. Amazon Simple Storage Service (Amazon S3)
es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
Prácticas recomendadas
Como práctica recomendada, puede usar el cifrado y la autenticación para los repositorios de origen que se conectan a sus canalizaciones. Para obtener más prácticas recomendadas, consulte Prácticas recomendadas y casos de uso de CodePipeline en la documentación de CodePipeline.
Epics
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Configure implemente la aplicación de ejemplo. |
| DevOps de AWS |
Cree paneles y alarmas de forma automática. | Tras implementar la aplicación de ejemplo, puede crear cualquiera de los recursos compatibles con esta solución con los valores de etiqueta esperados, lo que creará automáticamente los paneles y las alarmas especificados. Para probar esta solución, cree una función de AWS Lambda:
| DevOps de AWS |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Elimine el constructo |
| DevOps de AWS |
Solución de problemas
| Problema | Solución |
|---|---|
No se encontró el comando de Python (en referencia a | Compruebe la versión de la instalación de Python. Si ha instalado la versión 3 de Python, sustituya |
Recursos relacionados
Arranque (documentación de AWS CDK)
Uso de perfiles con nombre (documentación de AWS CLI)
Información adicional
En la siguiente ilustración se muestra un panel de ejemplo para Amazon RDS que se crea como parte de esta solución.
