> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Transmitir métricas do AWS CloudWatch através do Console AWS

Este guia descreve a configuração do streaming de métricas do CloudWatch para o AppSignal criando cada recurso manualmente no Console AWS. Para uma alternativa automatizada, veja [Transmitir métricas do AWS CloudWatch com CloudFormation](/metrics/cloudwatch-cloudformation).

Para uma visão geral das métricas do CloudWatch no AppSignal, incluindo magic dashboards e nomenclatura de métricas, veja [Métricas do AWS CloudWatch](/metrics/cloudwatch-overview).

Complete os seguintes passos para enviar métricas do CloudWatch para o AppSignal através do Amazon Data Firehose:

1. [Configurar um bucket S3 para entregas falhas](#set-up-an-s3-bucket-for-failed-deliveries)
2. [Configurar um papel IAM para o Data Firehose](#set-up-an-iam-role-for-data-firehose)
3. [Criar um stream Firehose](#create-a-firehose-stream)
4. [Criar um CloudWatch metric stream](#create-a-cloudwatch-metric-stream)

Antes de começar, tenha as seguintes informações em mãos:

* A chave Push API de nível de App da sua aplicação. Para encontrá-la, abra a [página de configurações de chaves de API](https://appsignal.com/redirect-to/app?to=api_keys\&key_tab=app), ou navegue até as configurações da sua organização e selecione **Dev zone > API keys**.
* A região AWS de onde você quer transmitir métricas.
* Permissões AWS para criar streams Firehose, CloudWatch metric streams, buckets S3 e papéis IAM.

## Configurar um bucket S3 para entregas falhas

O Amazon Data Firehose requer um bucket S3 para armazenar registros que falham na entrega. Crie um bucket S3 através do Console AWS ou CLI antes de prosseguir.

## Configurar um papel IAM para o Data Firehose

Crie um papel IAM que permita ao Data Firehose escrever no bucket S3. Use a seguinte política de confiança:

```json JSON theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

Atribua a seguinte política de permissões ao papel como uma política inline.

<Note>
  Veja [Adicionando permissões de identidade
  IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)
  para instruções sobre como criar políticas inline para funções IAM.
</Note>

```json JSON theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::<FIREHOSE_S3_BUCKET>",
        "arn:aws:s3:::<FIREHOSE_S3_BUCKET>/*"
      ]
    }
  ]
}
```

Substitua `<FIREHOSE_S3_BUCKET>` pelo nome do bucket S3 que você criou na etapa anterior.

## Criar um stream Firehose

1. Abra o console do Amazon Data Firehose e selecione **Create Firehose stream**.
2. Selecione **Direct PUT** como fonte.
3. Selecione **HTTP Endpoint** como destino.
4. Em "Transform records", deixe a transformação de dados desativada. Os dados devem ser entregues como estão.
5. Insira a seguinte URL como **HTTP endpoint URL**:

```shell Shell theme={null}
https://appsignal-endpoint.net/metrics/aws-cloudwatch
```

6. Insira a chave Push API de nível de App da sua aplicação como **Access key**. Esta não é uma chave de acesso AWS. É a chave que o AppSignal usa para identificar sua aplicação.
7. Em "Content encoding", selecione **GZIP**.
8. Em "Buffer hints", defina o tamanho do buffer para **1 MB** e o intervalo do buffer para **60 segundos** para a menor latência. Valores mais altos reduzem o custo mas aumentam o atraso de entrega.
9. Em "Backup settings", defina o backup de registros de origem como **Failed data only** e selecione o bucket S3 que você criou nas etapas anteriores.
10. Em "Advanced settings > Service access", selecione **Choose existing IAM role** e escolha o papel IAM que você criou nas etapas anteriores.
11. Selecione **Create Firehose stream**.

## Criar um CloudWatch metric stream

1. No console do CloudWatch, vá para **Metrics > Streams**.
2. Selecione **Create metric stream**.
3. Selecione **Custom setup with Firehose**. Em **Select your Amazon Data Firehose stream**, escolha o stream Firehose que você criou na etapa anterior.
4. Escolha quais métricas transmitir:
   * **All metrics** transmite tudo de todos os serviços AWS. Esta é a opção mais simples, mas pode aumentar os custos.
   * **Selected namespaces** permite incluir ou excluir namespaces específicos, como `AWS/EC2`, `AWS/Lambda` ou `AWS/RDS`. Veja a página [magic dashboards](/metrics/aws-dashboards) para os serviços que o AppSignal suporta.
5. Selecione **OpenTelemetry 1.0** como o formato de saída.
6. Para **Service access**, deixe o Console AWS criar ou atualizar o papel IAM para você, ou escolha um papel existente com permissão para escrever no stream Firehose.
7. Selecione **Create metric stream**.

Você pode criar vários metric streams se precisar enviar métricas para diferentes destinos ou filtrar métricas de forma diferente para casos de uso separados.

## Verificar a configuração

Após completar a configuração, aguarde de 5 a 10 minutos para que as métricas comecem a aparecer no AppSignal.

Para verificar se os dados estão fluindo:

1. Verifique a aba **Monitoring** no seu stream Firehose no Console AWS. Procure por métricas **Incoming records** e **HTTP endpoint - Success** diferentes de zero.
2. Confirme se o estado do metric stream mostra **Running** no console do CloudWatch em **Metrics > Streams**.

Se nenhum dado aparecer, habilite o log de erros do CloudWatch Logs no stream Firehose e verifique se há erros de entrega.

<Note>
  Algumas métricas AWS, como métricas de armazenamento diário do S3, são
  reportadas com carimbos de data/hora mais antigos que duas horas e não aparecem
  em metric streams. Veja a [documentação dos AWS CloudWatch Metric
  Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html)
  para detalhes sobre frequências de relatório de métricas.
</Note>

## Métricas do CloudWatch no AppSignal

Após a configuração, o AppSignal recebe métricas de qualquer serviço AWS que emita métricas através do CloudWatch.

O AppSignal cria automaticamente [magic dashboards](/metrics/aws-dashboards) para serviços AWS suportados quando detecta suas métricas. Esses dashboards aparecem em **Dashboards** com gráficos pré-construídos para as métricas mais importantes de cada serviço.

Você também pode construir suas próprias visualizações usando [dashboards personalizados](/metrics/dashboards). No campo **Metric**, digite `aws_` para navegar pelas métricas do CloudWatch que o AppSignal recebeu. O AppSignal normaliza os nomes das métricas do CloudWatch para minúsculas com sublinhados. Por exemplo, `AWS/Firehose` `DeliveryToS3.Success` se torna `aws_firehose_delivery_to_s3_success`.

Pode levar alguns minutos após a configuração para que as primeiras métricas apareçam. Se a lista estiver vazia, aguarde alguns minutos e atualize.

Se precisar de ajuda, [entre em contato](mailto:support@appsignal.com).
