

Este é o Guia do desenvolvedor do AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Definir um alarme do CloudWatch
<a name="how-to-set-cw-alarm"></a>

Use o pacote [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 os alarmes do Amazon CloudWatch nas métricas do CloudWatch. É possível usar métricas predefinidas ou criar a sua própria.

## Usar uma métrica existente
<a name="how-to-set-cw-alarm-use-metric"></a>

Muitos módulos da Biblioteca de Constructos da AWS permitem que você defina um alarme em uma métrica existente passando o nome da métrica para um método de conveniência em uma instância de um objeto que tem métricas. Por exemplo, considerando uma fila do Amazon SQS, é possível obter a métrica **ApproximateNumberOfMessagesVisible** do 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) da fila:

**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");
```

## Criar sua própria métrica
<a name="how-to-set-cw-alarm-new-metric"></a>

Crie sua própria [métrica](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Metric.html) da forma a seguir, em que o valor do *namespace* deve ser algo como **AWS/SQS** para uma fila do Amazon SQS. Você também precisa especificar o nome e a dimensão da sua 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" }
    }
});
```

## Criar o alarme
<a name="how-to-set-cw-alarm-create"></a>

Depois de ter uma métrica, existente ou definida por você, você pode criar um alarme. Neste exemplo, o alarme é acionado quando há mais de 100 de sua métrica em dois dos últimos três períodos de avaliação. É possível usar comparações como menor-que em seus alarmes por meio da propriedade `comparisonOperator`. Maior-que-ou-igual-a é o padrão do AWS CDK, então não precisamos especificá-lo.

**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
});
```

Uma forma alternativa de criar um alarme é usar o 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) da métrica, que usa basicamente as mesmas propriedades do construtor `Alarm`. Você não precisa passar a métrica, porque ela já é conhecida.

**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
});
```