

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
<a name="how-to-set-cw-alarm"></a>

Utilice el paquete [https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch-readme.html](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch-readme.html) 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
<a name="how-to-set-cw-alarm-use-metric"></a>

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 [https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html#metricmetricname-props](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs.Queue.html#metricmetricname-props) de la cola:

**Example**  

```
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
```

```
const metric = queue.metric("ApproximateNumberOfMessagesVisible");
```

```
metric = queue.metric("ApproximateNumberOfMessagesVisible")
```

```
Metric metric = queue.metric("ApproximateNumberOfMessagesVisible");
```

```
var metric = queue.Metric("ApproximateNumberOfMessagesVisible");
```

## Crear su propia métrica
<a name="how-to-set-cw-alarm-new-metric"></a>

Cree su propia [métrica](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Metric.html) 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:

**Example**  

```
const metric = new cloudwatch.Metric({
  namespace: 'MyNamespace',
  metricName: 'MyMetric',
  dimensionsMap: { MyDimension: 'MyDimensionValue' }
});
```

```
const metric = new cloudwatch.Metric({
  namespace: 'MyNamespace',
  metricName: 'MyMetric',
  dimensionsMap: { MyDimension: 'MyDimensionValue' }
});
```

```
metric = cloudwatch.Metric(
    namespace="MyNamespace",
    metric_name="MyMetric",
    dimensionsMap=dict(MyDimension="MyDimensionValue")
)
```

```
Metric metric = Metric.Builder.create()
        .namespace("MyNamespace")
        .metricName("MyMetric")
        .dimensionsMap(java.util.Map.of(    // Java 9 or later
            "MyDimension", "MyDimensionValue"))
        .build();
```

```
var metric = new Metric(this, "Metric", new MetricProps
{
    Namespace = "MyNamespace",
    MetricName = "MyMetric",
    Dimensions = new Dictionary<string, object>
    {
        { "MyDimension", "MyDimensionValue" }
    }
});
```

## Crear la alarma
<a name="how-to-set-cw-alarm-create"></a>

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.

**Example**  

```
const alarm = new cloudwatch.Alarm(this, 'Alarm', {
  metric: metric,
  threshold: 100,
  evaluationPeriods: 3,
  datapointsToAlarm: 2,
});
```

```
const alarm = new cloudwatch.Alarm(this, 'Alarm', {
  metric: metric,
  threshold: 100,
  evaluationPeriods: 3,
  datapointsToAlarm: 2
});
```

```
alarm = cloudwatch.Alarm(self, "Alarm",
    metric=metric,
    threshold=100,
    evaluation_periods=3,
    datapoints_to_alarm=2
)
```

```
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();
```

```
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 [https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Metric.html#createwbralarmscope-id-props](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Metric.html#createwbralarmscope-id-props) 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.

**Example**  

```
metric.createAlarm(this, 'Alarm', {
  threshold: 100,
  evaluationPeriods: 3,
  datapointsToAlarm: 2,
});
```

```
metric.createAlarm(this, 'Alarm', {
  threshold: 100,
  evaluationPeriods: 3,
  datapointsToAlarm: 2,
});
```

```
metric.create_alarm(self, "Alarm",
    threshold=100,
    evaluation_periods=3,
    datapoints_to_alarm=2
)
```

```
metric.createAlarm(this, "Alarm", new CreateAlarmOptions.Builder()
        .threshold(100)
        .evaluationPeriods(3)
        .datapointsToAlarm(2)
        .build());
```

```
metric.CreateAlarm(this, "Alarm", new CreateAlarmOptions
{
    Threshold = 100,
    EvaluationPeriods = 3,
    DatapointsToAlarm = 2
});
```