Trabalhar com logs de função do Lambda
Para ajudar a solucionar falhas, o AWS Lambda monitora automaticamente as funções do Lambda em seu nome. Você pode visualizar os logs de funções do Lambda usando o console do Lambda, o console do CloudWatch, a AWS Command Line Interface (AWS CLI) ou a API do CloudWatch. Você também pode configurar o Lambda para enviar logs para o Amazon S3 e o Firehose.
Desde que o perfil de execução da função tenha as permissões necessárias, o Lambda captura logs de todas as solicitações tratadas pela função e os envia para o Amazon CloudWatch Logs, que é o destino padrão. Você também pode usar o console do Lambda para configurar o Amazon S3 ou o Firehose como destinos de registro em log.
-
O CloudWatch Logs é o destino padrão de registro em log para as funções do Lambda. O CloudWatch Logs fornece recursos de visualização e análise de logs em tempo real, com possibilidade de criar métricas e alarmes com base nos dados de log.
-
O Amazon S3 é econômico para armazenamento de longo prazo, e serviços como o Athena podem ser usados para analisar os logs. A latência geralmente é maior.
-
O Firehose oferece streaming de logs gerenciado para vários destinos. Se você precisar enviar logs para outros serviços da AWS(por exemplo, OpenSearch Service ou Redshift Data API) ou para plataformas de terceiros (como Datadog, New Relic ou Splunk), o Firehose simplificará esse processo fornecendo integrações pré-compiladas. Você também pode fazer streaming para endpoints HTTP personalizados sem configurar infraestrutura adicional.
Escolher um destino de serviço para o qual enviar os logs
Considere os seguintes fatores-chave ao escolher um serviço como destino para logs de função:
-
O gerenciamento de custos varia de acordo com o serviço. Normalmente, o Amazon S3 fornece a opção mais econômica para armazenamento de longo prazo, enquanto o CloudWatch Logs permite que você visualize e processe os logs, e configure alertas em tempo real. Os custos do Firehose incluem o serviço de streaming e o custo associado com o destino para o qual você o configura para transmitir.
-
Os recursos de análise diferem entre os serviços. O CloudWatch Logs é o melhor em monitoramento em tempo real e se integra nativamente com outros recursos do CloudWatch, como o Logs Insights e o Live Tail. O Amazon S3 funciona bem com ferramentas de análise como o Athena e pode se integrar a vários serviços, embora isso possa exigir configuração adicional. O Firehose simplifica o streaming direto para serviços específicos da AWS (como OpenSearch Service e Redshift Data API) e plataformas de terceiros compatíveis (como Datadog e Splunk) fornecendo integrações pré-compiladas, podendo reduzir o trabalho de configuração.
-
A configuração e a facilidade de uso variam de acordo com o serviço. O CloudWatch Logs é o destino padrão de logs. Ele funciona imediatamente, sem configuração adicional, e proporciona fácil visualização e análise dos logs por meio do console do CloudWatch. Se precisar enviar logs para o Amazon S3, você precisará fazer algumas configurações iniciais no console do Lambda e configurar permissões de bucket. Se você precisar enviar os logs diretamente para serviços como o OpenSearch Service ou plataformas de analytics de terceiros, o Firehose pode simplificar esse processo.
Configurar destinos de logs
O AWS Lambda é compatível com vários destinos para logs de funções. Este guia explica os destinos de registro em log disponíveis e ajuda você a escolher a opção certa para suas necessidades. Qualquer que seja o destino escolhido, o Lambda oferece opções para controlar o formato, a filtragem e a entrega dos logs.
O Lambda é compatível com os formatos JSON e texto simples para os logs da função. Os logs estruturados JSON oferecem capacidade de pesquisa aprimorada e permitem análise automatizada, enquanto os logs em texto simples oferecem simplicidade e custos de armazenamento potencialmente menores. Você pode controlar quais logs o Lambda envia para o destino escolhido configurando níveis de log para os logs do sistema e da aplicação. A filtragem ajuda a gerenciar os custos de armazenamento e facilita a localização das entradas de log relevantes durante a depuração.
Para obter instruções de configuração detalhadas para cada destino, consulte as seguintes seções:
Configurar controles avançados de registro em log para funções do Lambda
Para dar a você mais controle sobre como os logs de função são capturados, processados e consumidos, o Lambda oferece as seguintes opções de configuração de registro em log:
-
Formato de logs: selecione entre texto simples e formato JSON estruturado para os logs da função.
-
Nível de log: para logs estruturados JSON, escolha o nível de detalhes dos logs enviados pelo Lambda para o CloudWatch, como
FATAL
,ERROR
,WARN
,INFO
,DEBUG
eTRACE
. -
Grupo de logs: escolha o grupo de logs do CloudWatch para o qual a função envia os logs.
Para saber mais sobre a configuração de controles avançados de registro em log, consulte as seguintes seções: