Esta es la guía para AWS CDK desarrolladores de la versión 2. La primera versión del CDK pasó a la etapa de mantenimiento el 1.° de junio de 2022 y no cuenta con soporte desde el 1.° de junio de 2023.
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.
Usa el paquete aws-cloudwatch para configurar las CloudWatch alarmas de Amazon en las métricas. CloudWatch Puede utilizar métricas predefinidas o crear las suyas propias.
Usar una métrica existente
Muchos módulos de AWS Construct Library le permiten configurar una alarma en una métrica existente pasando el nombre de la métrica a un método práctico en una instancia de un objeto que tiene métricas. Por ejemplo, dada una cola de Amazon SQS, puede obtener la métrica del método metric () ApproximateNumberOfMessagesVisiblede la cola:
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
Crear su propia métrica
Cree su propia métrica de la siguiente manera: donde el valor del espacio de nombres debe ser algo parecido a AWS/SQS para una cola de Amazon SQS. También debe especificar el nombre y la dimensión de la métrica:
const metric = new cloudwatch.Metric({
namespace: 'MyNamespace',
metricName: 'MyMetric',
dimensionsMap: { MyDimension: 'MyDimensionValue' }
});
Crear la alarma
Una vez que tenga una métrica, ya sea una existente o una que haya definido, puede crear una alarma. En este ejemplo, la alarma se activa cuando hay más de 100 unidades de la métrica en dos de los últimos tres períodos de evaluación. Puede utilizar comparaciones como «menos que» en sus alarmas a través de la propiedad. comparisonOperator
Greater-than-or-equal-to es el AWS CDK valor predeterminado, por lo que no necesitamos especificarlo.
const alarm = new cloudwatch.Alarm(this, 'Alarm', {
metric: metric,
threshold: 100,
evaluationPeriods: 3,
datapointsToAlarm: 2,
});
Una forma alternativa de crear una alarma es usar el método createAlarm() de la métrica, que básicamente tiene las mismas propiedades que el constructor Alarm
. No es necesario transmitir la métrica, porque ya la conoce.
metric.createAlarm(this, 'Alarm', {
threshold: 100,
evaluationPeriods: 3,
datapointsToAlarm: 2,
});