Configuração de logs para barramentos de eventos do Amazon EventBridge - Amazon EventBridge

Configuração de logs para barramentos de eventos do Amazon EventBridge

Você pode configurar o EventBridge para enviar logs detalhando como um barramento de eventos está processando eventos, para ajudar na solução de problemas e na depuração.

Você pode selecionar os seguintes serviços da AWS como destinos de log para os quais o EventBridge entrega logs para o barramento de eventos especificado:

  • Amazon CloudWatch Logs

    O EventBridge entrega logs para o grupo de logs do CloudWatch Logs especificado.

    O CloudWatch Logs permite centralizar os logs de todos os sistemas, aplicações e produtos da AWS usados em um único serviço altamente escalável. Para obter mais informações, consulte Trabalhar com grupos de logs e fluxos de logs no Guia do usuário do Amazon CloudWatch Logs.

  • Amazon Data Firehose

    O EventBridge entrega logs para um fluxo de entrega do Firehose.

    O Amazon Data Firehose é um serviço totalmente gerenciado para entrega de dados de streaming em tempo real a destinos, como determinados serviços da AWS, bem como endpoints HTTP personalizados ou endpoints HTTP personalizados de propriedade de provedores de serviços terceirizados compatíveis. Para obter mais informações, consulte Creating an Amazon Data Firehose delivery stream no Guia do desenvolvedor do Amazon Data Firehose.

  • Amazon S3

    O EventBridge entrega logs como objetos do Amazon S3 para o bucket especificado.

    O Amazon S3 é um serviço de armazenamento de objetos que oferece escalabilidade, disponibilidade de dados, segurança e performance líderes do setor. Para obter mais informações, consulte Fazer upload, baixar e trabalhar com objetos no Amazon S3 no Manual do usuário do Amazon Simple Storage Service.

Como funciona o registro em log para barramentos de eventos

O EventBridge gera logs para:

  • Qualquer evento de serviço da AWS correspondente a uma regra no barramento de eventos

  • Qualquer evento entregue pelos seguintes métodos, independentemente do evento ter sido ingerido com êxito ou corresponder a alguma regra:

O EventBridge não registra em log eventos que só correspondam às regras gerenciadas.

Os dados de log enviados para cada destino de log selecionado são iguais.

Você pode personalizar os logs enviados pelo EventBridge para os destinos selecionados assim:

Considerações da entrega de log

Tenha as seguintes considerações em mente ao configurar o registro em log para barramentos de eventos:

  • Os registros de log do barramento de eventos são entregues com base no melhor esforço. A maioria das solicitações para um barramento de eventos devidamente configurada para registro em log resulta em um registro de log entregue. A integralidade e a pontualidade do registro em log do barramento de eventos não são garantidas.

  • Em algumas circunstâncias, a entrega dos registros de log do barramento de eventos sozinha gera eventos enviados para o EventBridge, o que pode causar uma interrupção na entrega do registro de log. Por esse motivo, o EventBridge não registra em log os seguintes eventos:

    • Os eventos AWS KMS Decrypt e GenerateDataKey gerados quando registros em log criptografados usando uma chave gerenciada pelo cliente são entregues em um destino de log.

    • Os eventos PutRecordBatch no Firehose gerados pela entrega dos logs do barramento de eventos.

  • Para destinos de log do S3, não é recomendável especificar um bucket de destino com notificação de eventos para o EventBridge ativada, pois isso pode resultar em interrupção na entrega dos logs.

Registro em log da criptografia

Ao enviar logs, o EventBridge criptografa as seções error e detail e de cada registro de log com a chave KMS especificada para o barramento de eventos. Depois de entregue, o registro será descriptografado e, em seguida, recriptografado com a chave KMS especificada para o destino do log.

Para obter mais informações, consulte Criptografia de logs do barramento de eventos.

Especificação das permissões do registro em log do barramento de eventos

Para habilitar o registro em log de um barramento de eventos, você deve conceder permissões para que o EventBridge envie logs desse barramento. Adicione uma política que conceda AllowVendedLogDeliveryForResource ao barramento de eventos.

Para obter mais informações, consulte Permissões específicas do serviço no Guia do usuário do CloudWatch Logs.

Especificação do nível de log do barramento de eventos

Você pode especificar os tipos das etapas de processamento de eventos que o EventBridge registra em log para os destinos de log selecionados.

Escolha um dentre os níveis de detalhe a seguir para incluir em logs. O nível de log se aplica a todos os destinos de log especificados para o barramento de eventos. Cada nível de log inclui as etapas dos níveis de log anteriores.

  • OFF: o EventBridge não envia logs. Esse é o padrão.

  • ERROR: o EventBridge envia todos os logs relacionados aos erros gerados durante o processamento de eventos e a entrega do destino.

  • INFO: o EventBridge envia todos os logs relacionados a erros, bem como as etapas principais realizadas durante o processamento de eventos.

  • TRACE: o EventBridge envia todos os logs gerados durante todas as etapas no processamento de eventos.

A tabela a seguir lista as etapas de processamento de eventos inclusas em cada nível do log.

Etapa RASTREAR INFORMAÇÕES ERRO DESL.

Evento ingerido

x x

Falha na ingestão de eventos

x x x

Evento recebido

x

Tentativa de invocação iniciada

x

Falha permanente na tentativa de invocação

x x x

Falha na nova tentativa de invocação

x x x

Tentativa de invocação com êxito

x

Tentativa de invocação com controle de utilização

x x x

DLQ de invocação

x x x

Falha na invocação

x x x

Invocação iniciada

x x

Invocação bem-sucedida

x x

Invocação iniciada com controle de utilização

x x x

Nenhuma regra correspondente

x x

Regra correspondente

x x

Combinação de regras iniciada

x

Inclusão de dados detalhados em logs do barramento de eventos

Você pode especificar que o EventBridge inclua informações mais granulares nos logs gerados por ele. Esses dados podem ser úteis para solução de problemas e depuração. Se você selecionar essa opção, o EventBridge incluirá esses dados nos registros relevantes para todos os destinos de log especificados.

As informações detalhadas incluem os seguintes campos:

  • event_detail: os detalhes do próprio evento.

  • target_input: a solicitação enviada pelo EventBridge para o destino.

  • target_properties:

Truncamento de dados em logs do barramento de eventos

Por causa das restrições de destino do log, o EventBridge limita os registros de log a 1 MB. Se um registro de log exceder esse limite, o EventBridge truncará o registro removendo os seguintes campos na seguinte ordem:

  • target_input

  • target_properties

  • target_response_body

O EventBridge remove o campo event_detail dos seguintes tipos de registro em log, se necessário:

  • EVENT_RECEIVED

  • EVENT_INGESTED

  • EVENT_INGESTED_FAILED

  • RULE_MATCH_STARTED

Se o truncamento for necessário, o EventBridge removerá todo o campo.

Se o EventBridge truncar campos no evento, o campo dropped_fields incluirá uma lista dos campos de dados removidos.

Relatório de erros em logs do barramento de eventos

O EventBridge também inclui dados de erro, quando disponíveis, em etapas que representam estados de falha. Essas etapas incluem:

  • EVENT_INGEST_FAILURE

  • INVOCATION_THROTTLE_START

  • INVOCATION_ATTEMPT_THROTTLE

  • INVOCATION_ATTEMPT_RETRYABLE_FAILURE

  • INVOCATION_ATTEMPT_PERMANENT_FAILURE

  • INVOCATION_FAILURE

  • INVOCATION_DLQ