Esta es la guía para desarrolladores de AWS CDK v2. 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.
Configurar una alarma de CloudWatch
Utilice el paquete aws-cloudwatch para configurar las alarmas de Amazon CloudWatch en las métricas de CloudWatch. Puede utilizar métricas predefinidas o crear las suyas propias.
Usar una métrica existente
Muchos módulos de la Biblioteca de constructos de AWS permiten configurar una alarma en una métrica existente, pasando el nombre de la métrica a un método práctico de una instancia de un objeto que tiene métricas. Por ejemplo, dada una cola de Amazon SQS, puede obtener la métrica ApproximateNumberOfMessagesVisible del método metric() de la cola:
ejemplo
- TypeScript
-
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
- JavaScript
-
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
- Python
-
metric = queue.metric("ApproximateNumberOfMessagesVisible")
- Java
-
Metric metric = queue.metric("ApproximateNumberOfMessagesVisible");
- C#
-
var 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:
ejemplo
- TypeScript
-
const metric = new cloudwatch.Metric({
namespace: 'MyNamespace',
metricName: 'MyMetric',
dimensionsMap: { MyDimension: 'MyDimensionValue' }
});
- JavaScript
-
const metric = new cloudwatch.Metric({
namespace: 'MyNamespace',
metricName: 'MyMetric',
dimensionsMap: { MyDimension: 'MyDimensionValue' }
});
- Python
-
metric = cloudwatch.Metric(
namespace="MyNamespace",
metric_name="MyMetric",
dimensionsMap=dict(MyDimension="MyDimensionValue")
)
- Java
-
Metric metric = Metric.Builder.create()
.namespace("MyNamespace")
.metricName("MyMetric")
.dimensionsMap(java.util.Map.of( // Java 9 or later
"MyDimension", "MyDimensionValue"))
.build();
- C#
-
var metric = new Metric(this, "Metric", new MetricProps
{
Namespace = "MyNamespace",
MetricName = "MyMetric",
Dimensions = new Dictionary<string, object>
{
{ "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 el valor inferior al de sus alarmas a través de la propiedad comparisonOperator. Mayor o igual a es el valor predeterminado de AWS CDK, por lo que no necesitamos especificarlo.
ejemplo
- TypeScript
-
const alarm = new cloudwatch.Alarm(this, 'Alarm', {
metric: metric,
threshold: 100,
evaluationPeriods: 3,
datapointsToAlarm: 2,
});
- JavaScript
-
const alarm = new cloudwatch.Alarm(this, 'Alarm', {
metric: metric,
threshold: 100,
evaluationPeriods: 3,
datapointsToAlarm: 2
});
- Python
-
alarm = cloudwatch.Alarm(self, "Alarm",
metric=metric,
threshold=100,
evaluation_periods=3,
datapoints_to_alarm=2
)
- Java
-
import software.amazon.awscdk.services.cloudwatch.Alarm;
import software.amazon.awscdk.services.cloudwatch.Metric;
Alarm alarm = Alarm.Builder.create(this, "Alarm")
.metric(metric)
.threshold(100)
.evaluationPeriods(3)
.datapointsToAlarm(2).build();
- C#
-
var alarm = new Alarm(this, "Alarm", new AlarmProps
{
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 constructo Alarm. No es necesario transmitir la métrica, porque ya la conoce.
ejemplo
- TypeScript
-
metric.createAlarm(this, 'Alarm', {
threshold: 100,
evaluationPeriods: 3,
datapointsToAlarm: 2,
});
- JavaScript
-
metric.createAlarm(this, 'Alarm', {
threshold: 100,
evaluationPeriods: 3,
datapointsToAlarm: 2,
});
- Python
-
metric.create_alarm(self, "Alarm",
threshold=100,
evaluation_periods=3,
datapoints_to_alarm=2
)
- Java
-
metric.createAlarm(this, "Alarm", new CreateAlarmOptions.Builder()
.threshold(100)
.evaluationPeriods(3)
.datapointsToAlarm(2)
.build());
- C#
-
metric.CreateAlarm(this, "Alarm", new CreateAlarmOptions
{
Threshold = 100,
EvaluationPeriods = 3,
DatapointsToAlarm = 2
});