Monitorar a performance de funções com o Lambda Insights do Amazon CloudWatch
O Lambda Insights do Amazon CloudWatch coleta e agrega métricas e logs de performance do tempo de execução da função do Lambda para as aplicações sem servidor. Esta página descreve como ativar e usar o Lambda Insights para diagnosticar problemas em suas funções do Lambda.
Seções
- Como o Lambda Insights monitora aplicações sem servidor
- Definição de preço
- Tempos de execução compatíveis
- Ativar o Lambda Insights no console do Lambda
- Ativação do Lambda Insights por programação
- Usando o painel do Lambda Insights
- Exemplo de fluxo de trabalho para detectar anomalias de função
- Exemplo de fluxo de trabalho usando consultas para solucionar problemas de uma função
- Próximas etapas
Como o Lambda Insights monitora aplicações sem servidor
O Lambda Insights do CloudWatch Lambda é uma solução de monitoramento e solução de problemas para aplicações sem servidor em execução no AWS Lambda. A solução coleta, agrega e resume métricas no nível do sistema, incluindo tempo da CPU, memória, disco e uso da rede. Ele também coleta, agrega e resume informações de diagnóstico, como inicializações a frio e desligamentos do operador do Lambda para ajudar a isolar problemas com as funções do Lambda e resolvê-los rapidamente.
Lambda Insights usa um novo CloudWatch Lambda Insightsextensão, que é fornecido como umLambda. Quando você habilita essa extensão em uma função do Lambda para um runtime compatível, ela coleta métricas no nível do sistema e emite um único evento de log de performance para cada invocação dessa função do Lambda. O CloudWatch usa formatação métrica incorporada para extrair métricas dos eventos de log. Para obter mais informações, consulte Usar extensões do AWS Lambda.
A camada do Lambda Insights estende CreateLogStream
e PutLogEvents
para o grupo de logs /aws/lambda-insights/
.
Definição de preço
Quando você habilita o Lambda Insights para sua função do Lambda, o Lambda Insights relata 8 métricas por função e cada invocação de função envia cerca de 1 KB de dados de log para o CloudWatch. Você paga apenas pelas métricas e logs relatados para sua função pelo Lambda Insights. Não há tarifas mínimas nem políticas de uso obrigatório do serviço. Você não paga pelo Lambda Insights se a função não for invocada. Para obter um exemplo de preço, consulte Preço do Amazon CloudWatch
Tempos de execução compatíveis
Você pode usar o Lambda Insights com qualquer um dos tempos de execução que oferecem suporte para extensões do Lambda.
Ativar o Lambda Insights no console do Lambda
É possível habilitar o monitoramento aprimorado do Lambda Insights em funções do Lambda novas e existentes. Quando você ativa o Lambda Insights em uma função no console do Lambda para um runtime compatível, o Lambda adiciona a extensão do Lambda Insights à sua função como uma camada e verifica ou tenta associar a política CloudWatchLambdaInsightsExecutionRolePolicy
Para habilitar o Lambda Insights no console do Lambda
Abra a página Funções
do console do Lambda. -
Escolha a função.
-
Escolha a guia Configuração.
-
No menu à esquerda, escolha Ferramentas de monitoramento e operações.
-
No painel Ferramentas de monitoramento adicionais, selecione Editar.
-
Em Lambda Insights do CloudWatch, ative o Monitoramento avançado.
-
Escolha Salvar.
Ativação do Lambda Insights por programação
Também é possível habilitar o Lambda Insights usando a AWS Command Line Interface (AWS CLI), a CLI do AWS Serverless Application Model (SAM), o AWS CloudFormation ou o AWS Cloud Development Kit (AWS CDK). Quando você habilita o Lambda Insights programaticamente em uma função para um runtime compatível, o CloudWatch associa a política CloudWatchLambdaInsightsExecutionRolePolicy
Para obter mais informações, consulte Conceitos básicos do Lambda Insights no Manual do usuário do Amazon CloudWatch.
Usando o painel do Lambda Insights
O painel do Lambda Insights tem duas exibições no console do CloudWatch: a visão geral de várias funções e a exibição de função única. A visão geral de várias funções agrega as métricas de tempo de execução para as funções do Lambda na conta e na região atual da AWS. A visualização de função única mostra as métricas de tempo de execução disponíveis para uma única função do Lambda.
É possível usar a visão geral multifuncional do painel do Lambda Insights no console do CloudWatch para identificar funções do Lambda usadas em excesso e subutilizadas. É possível usar a visualização de função única do painel do Lambda Insights no console do CloudWatch para solucionar problemas de solicitações individuais.
Como visualizar as métricas de tempo de execução de todas as funções
-
Abra a página Multi-funcion
(Várias funções) no console do CloudWatch. -
Escolha entre os intervalos de tempo predefinidos ou escolha um intervalo de tempo personalizado.
-
(Opcional) Selecione Add to dashboard (Adicionar ao painel) para adicionar os widgets ao painel do CloudWatch.
Como visualizar as métricas de tempo de execução de uma única função
-
Abra a página Single-funcion
(Função única) no console do CloudWatch. -
Escolha entre os intervalos de tempo predefinidos ou escolha um intervalo de tempo personalizado.
-
(Opcional) Selecione Add to dashboard (Adicionar ao painel) para adicionar os widgets ao painel do CloudWatch.
Para obter mais informações, consulte Criar e trabalhar com widgets em painéis do CloudWatch.
Exemplo de fluxo de trabalho para detectar anomalias de função
É possível usar a visão geral de várias funções no painel Lambda Insights para identificar e detectar anomalias de memória computacional com a função. Por exemplo, se a visão geral de várias funções indicar que uma função está usando uma grande quantidade de memória, você poderá visualizar métricas detalhadas de utilização da memória no painel Memory Usage (Uso de memória). Depois, você pode acessar o painel de métricas para habilitar a detecção de anomalias ou criar um alarme.
Como habilitar a detecção de anomalias para uma função
-
Abra a página Multi-funcion
(Várias funções) no console do CloudWatch. -
Em Function summary (Resumo da função), escolha o nome da função.
A visualização de função única é aberta com as métricas de tempo de execução da função.
-
No painel Memory Usage (Uso de memória), selecione os três pontos na vertical e selecione View in metrics (Visualizar nas métricas) para abrir o painel Metrics (Métricas).
-
Na guia Graphed metrics (Métricas em gráficos), na coluna Actions (Ações), selecione o primeiro ícone para habilitar a detecção de anomalias da função.
Para obter mais informações, consulte Usar a detecção de anomalias do CloudWatch.
Exemplo de fluxo de trabalho usando consultas para solucionar problemas de uma função
É possível usar a visualização de função única no painel Lambda Insights para identificar a causa raiz de um pico na duração da função. Por exemplo, se a visão geral de várias funções indicar um grande aumento na duração da função, você poderá pausar ou escolher cada função no painel Duration (Duração) para determinar qual função está causando o aumento. Depois, você pode acessar a visualização de função única e revisar os Application logs (Logs de aplicações) para determinar a causa raiz.
Como executar consultas em uma função
-
Abra a página Multi-funcion
(Várias funções) no console do CloudWatch. -
No painel Duration (Duração), selecione a função para filtrar as métricas de duração.
-
Abra a página Função única
. -
Selecione a lista suspensa Filter metrics by function name (Filtrar métricas por nome da função) e selecione a função.
-
Para visualizar os Most recent 1000 application logs (1000 logs de aplicações mais recentes), selecione a guia Application logs (Logs de aplicações).
-
Revise o Timestamp (Time stamp) e a Message (Mensagem) para identificar a solicitação de invocação que você deseja solucionar.
-
Para mostrar as Most recent 1000 invocations (1000 invocações mais recentes), selecione a guia Invocations (Invocações).
-
Selecione o Timestamp (Time stamp) ou a Message (Mensagem) para a solicitação de invocação que você deseja solucionar.
-
Selecione a lista suspensa View logs (Visualizar logs) e, depois, selecione View performance logs (Visualizar logs de performance).
Uma consulta gerada automaticamente para a função é aberta no painel do Logs Insights.
-
Selecione Run query (Executar consulta) para gerar uma mensagem Logs para a solicitação de invocação.
Próximas etapas
-
Saiba como criar um painel do CloudWatch Logs noCriar um painelnoGuia do usuário do Amazon CloudWatch.
-
Saiba como adicionar consultas a um painel do CloudWatch Logs em Adicionar consulta ao painel ou exportar resultados de consulta no Manual do usuário do Amazon CloudWatch.