Pular para o conteúdo principal
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. 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. 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
  2. Configurar um papel IAM para o Data Firehose
  3. Criar um stream Firehose
  4. Criar um 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, 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
{
  "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.
Veja Adicionando permissões de identidade IAM para instruções sobre como criar políticas inline para funções IAM.
JSON
{
  "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
https://appsignal-endpoint.net/metrics/aws-cloudwatch
  1. 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.
  2. Em “Content encoding”, selecione GZIP.
  3. 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.
  4. 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.
  5. Em “Advanced settings > Service access”, selecione Choose existing IAM role e escolha o papel IAM que você criou nas etapas anteriores.
  6. 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 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.
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 para detalhes sobre frequências de relatório de métricas.

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 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. 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.