Processamento em tempo real de dados de log com assinaturas
Você pode usar assinaturas para obter acesso a um feed de eventos de log do CloudWatch Logs em tempo real e entregá-lo a outros serviços, como um fluxo do Amazon Kinesis, um fluxo do Amazon Data Firehose ou ao AWS Lambda para processamento personalizado, análise ou carregamento em outros sistemas. Quando os eventos de log são enviados ao serviço de recebimento, eles são codificados em base64 e compactados no formato gzip.
Para começar a assinar eventos de logs, crie o recurso de recebimento, como um fluxo do Kinesis Data Streams, ao qual os eventos serão entregues. Um filtro de assinatura define o padrão de filtro a ser usado para filtragem de quais eventos de log devem ser entregues para seu recurso da AWS, bem como informações sobre o local para onde enviar eventos de log correspondentes.
Você pode criar assinaturas ao nível da conta e ao nível do grupo de logs. Cada conta pode ter um filtro de assinatura ao nível da conta. Cada grupo de logs pode ter até dois filtros de assinatura associados a ele.
nota
Se o serviço de destino retornar um erro que permita novas tentativas, como uma exceção de controle de utilização, ou uma exceção de serviço que permita novas tentativas (HTTP 5xx, por exemplo), o CloudWatch Logs continuará tentando fazer a entrega por até 24 horas. O CloudWatch Logs não tentará uma nova entrega se o erro não permitir novas tentativas, como AccessDeniedException ou ResourceNotFoundException. Nesses casos, o filtro de assinatura é desabilitado por até 10 minutos e, em seguida, o CloudWatch Logs tenta enviar os logs novamente para o destino. Enquanto estão desabilitados, os logs são ignorados.
O CloudWatch Logs também produz métricas do CloudWatch sobre o encaminhamento de eventos de log para assinaturas. Para ter mais informações, consulte Monitorar com métricas do CloudWatch.
Você também pode usar uma assinatura do CloudWatch Logs para transmitir dados de log quase em tempo real para um cluster do Amazon OpenSearch Service. Para obter mais informações, consulte Transmitir dados do Amazon CloudWatch Logs para o Amazon OpenSearch Service.
Assinaturas só são compatíveis com grupos de logs da classe de logs Padrão. Para obter mais informações sobre classes de logs, consulte Classes de logs.
nota
Os filtros de assinatura podem registrar os eventos em log em lotes para otimizar a transmissão e reduzir a quantidade de chamadas feitas para o destino. O agrupamento em lotes não é garantido, mas é usado quando possível.
Conteúdo
Conceitos
Cada filtro de assinatura é composto dos seguintes elementos-chave:
- padrão de filtro
-
Descrição simbólica de como o CloudWatch Logs deve interpretar os dados em cada evento de log, juntamente com expressões de filtragem que restringem o que é entregue ao recurso de destino da AWS. Para obter mais informações sobre a sintaxe de padrões de filtros, consulte Sintaxe de padrões de filtros para filtros de métricas, filtros de assinatura, filtros de eventos de log e Live Tail..
- arn de destino
-
O nome do recurso da Amazon (ARN) do fluxo do Kinesis Data Streams, do fluxo do Firehose ou da função do Lambda que você deseja usar como o destino de feed da assinatura.
- arn de função
-
Função do IAM que concede ao CloudWatch Logs as permissões necessárias para colocar os dados no destino escolhido. Essa função não é necessária para destinos do Lambda porque o CloudWatch Logs pode obter as permissões necessárias das configurações de controle de acesso na própria função Lambda.
- distribuição
-
O método usado para distribuir dados de log ao destino, quando o destino é um fluxo do Amazon Kinesis Data Streams. Por padrão, os dados de log são agrupados por stream de log. Para obter uma distribuição uniforme, você pode agrupar os dados de log aleatoriamente.
Para assinaturas ao nível do grupo de logs, o seguinte elemento-chave também é incluído:
- nome do grupo de logs
-
O grupo de logs ao qual associar o filtro de assinatura. Todos os eventos de log carregados para esse grupo de logs estariam sujeitos ao filtro de assinatura, e aqueles que correspondem ao filtro são entregues ao serviço de destino que está recebendo os eventos de log correspondentes.
Para assinaturas ao nível da conta, o seguinte elemento-chave também é incluído:
- critérios de seleção
-
Os critérios usados para selecionar a quais grupos de log o filtro de assinatura ao nível da conta será aplicado. Se você não especificar isso, o filtro de assinatura ao nível da conta será aplicado a todos os grupos de logs da conta. Esse campo é usado para evitar loops de log infinitos. Para obter mais informações sobre o problema de loops de log infinitos, consulte Prevenção de repetição de logs.
Os critérios de seleção têm um limite de tamanho de 25 KB.