- Crie uma fonte de log
- Configure um bucket S3 para entregas falhadas
- Configure uma função IAM para o Data Firehose
- Crie um delivery stream do Firehose
- Configure uma função IAM para o CloudWatch
- Crie uma assinatura de log do CloudWatch
- A chave de API da sua fonte de log. Se você ainda não tem uma fonte de log, crie uma nova fonte de log primeiro.
- ID da conta AWS
- Região AWS
- Nome do bucket S3 para armazenamento de entregas falhadas
- Nome do stream do Data Firehose
- Nome da função IAM para o bucket S3
- Nome da função IAM para a assinatura do CloudWatch
Crie uma fonte de log
Crie uma fonte de log antes de prosseguir. Veja Configuração de logging para instruções.Configure um bucket S3 para entregas falhadas
O Amazon Data Firehose requer um bucket S3 para armazenar registros que falham ao serem entregues. Crie um bucket S3 pelo AWS Console ou CLI antes de prosseguir, você não pode criar um delivery stream do Firehose sem um.Configure uma função IAM para o Data Firehose
Crie uma função IAM que permita ao Data Firehose gravar no bucket S3 e, opcionalmente, no CloudWatch Logs para registro de erros de entrega. Use a seguinte política de confiança:Veja Adicionando permissões de identidade
IAM
para instruções sobre como criar políticas inline para funções IAM.
<AWS_ACCOUNT_ID>— o ID da sua conta AWS.<AWS_REGION>— a região na qual seu stream Firehose será executado.<FIREHOSE_S3_BUCKET>— o bucket S3 que você criou no passo anterior.<FIREHOSE_LOG_GROUP>— o log group que o Firehose usa para seus próprios logs de erro de entrega (separado do log group que você quer transmitir para o AppSignal). A AWS usa a convenção/aws/kinesisfirehose/<FIREHOSE_STREAM_NAME>, então decida o nome do seu stream Firehose agora — você o reutilizará no próximo passo. Se você não planeja habilitar o registro de erros no stream Firehose, pode omitir totalmente a declaraçãologs:PutLogEvents.
Consulte Controlling access with Amazon Data
Firehose
para mais informações sobre as permissões que o Data Firehose requer.
Crie um delivery stream do Firehose
- Abra o console do Amazon Data Firehose e selecione Create Firehose stream.
- Selecione Direct PUT como a origem.
- Selecione HTTP Endpoint como o destino.
- Em “Transform records”, deixe a transformação de dados desativada.
- Digite a seguinte URL como o HTTP endpoint URL:
- Digite a chave de API da fonte de log do AppSignal obtida ao criar uma fonte de log como a Access key. Esta é uma chave AppSignal, não uma chave de acesso AWS.
- Em “Content encoding”, ative GZIP.
- Em “Backup settings”, selecione o bucket S3 que você criou no passo anterior.
- Em “Advanced settings > Service access”, selecione Choose existing IAM role e escolha a função IAM que você criou no passo anterior.
- (Opcional) Em “Advanced settings > Amazon CloudWatch error logging”, habilite o registro de erros para usar a permissão
logs:PutLogEventsque você concedeu no passo anterior. - Use o mesmo nome de stream Firehose que você referenciou ao configurar a função IAM, depois selecione Create Firehose stream.
DeliveryToHttpEndpoint.Success subir na aba Monitoring do stream Firehose.
Configure uma função IAM para o CloudWatch
Crie uma função IAM que permita ao CloudWatch enviar logs para o delivery stream do Firehose. Use a seguinte política de confiança:Veja Adicionando permissões de identidade
IAM
para instruções sobre como criar políticas inline para funções IAM.
<AWS_REGION>, <AWS_ACCOUNT_ID> e <FIREHOSE_DELIVERY_STREAM> pelos seus próprios valores.
Crie uma assinatura de log do CloudWatch
- No console do CloudWatch, navegue até o log group cujos logs você quer transmitir.
- Abra a aba Subscription filters.
- Selecione Create Amazon Data Firehose subscription filter.
- Escolha o delivery stream do Firehose do passo 4 e a função IAM do passo 5.
- Digite um Subscription filter name e selecione Start streaming.
- Abra a aba Monitoring do seu stream Firehose e verifique
DeliveryToHttpEndpoint.Success. O valor deve permanecer próximo a 1; uma queda ou zero indica que o AppSignal está rejeitando registros. - Verifique o bucket S3 de falhas do passo 2. Registros falhados acabam ali, e cada objeto contém o motivo da rejeição.
- Se os registros estiverem falhando com um erro de autorização, verifique se a Access key no stream Firehose corresponde à chave de API da sua fonte de log AppSignal.