Usando o Lambda Insights na Amazon CloudWatch - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando o Lambda Insights na Amazon CloudWatch

O Amazon CloudWatch Lambda Insights coleta e agrega métricas e registros de desempenho de tempo de execução da função Lambda para seus aplicativos sem servidor. Esta página descreve como ativar e usar o Lambda Insights para diagnosticar problemas em suas funções do Lambda.

Como o Lambda Insights monitora aplicações sem servidor

CloudWatch O Lambda Insights é uma solução de monitoramento e solução de problemas para aplicativos sem servidor executados em. 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.

O Lambda Insights usa uma nova extensão do CloudWatch Lambda Insights, que é fornecida como uma camada do Lambda. Quando você ativa essa extensão em uma função do Lambda para um tempo de execução compatível, ela coleta métricas no nível do sistema e emite um único evento de registro de desempenho para cada invocação dessa função do Lambda. CloudWatch usa formatação métrica incorporada para extrair métricas dos eventos de registro. 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ê ativa 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. 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 ver um exemplo de preços, consulte CloudWatch Preços da Amazon.

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 tempo de execução 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 à função de execução da função.

Para habilitar o Lambda Insights no console do Lambda
  1. Abra a página Funções do console do Lambda.

  2. Escolha a função.

  3. Escolha a guia Configuração.

  4. No menu à esquerda, escolha Ferramentas de monitoramento e operações.

  5. No painel Ferramentas adicionais de monitoramento, escolha Editar.

  6. Sob oCloudWatch Lambda Insights, ative oEnhanced monitoring.

  7. 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ê ativa o Lambda Insights programaticamente em uma função para um tempo de execução compatível, CloudWatch anexa a CloudWatchLambdaInsightsExecutionRolePolicypolítica à função de execução da sua função.

Para obter mais informações, consulte Introdução ao Lambda Insights no Guia CloudWatch do usuário da Amazon.

Usando o painel do Lambda Insights

O painel do Lambda Insights tem duas visualizações no CloudWatch console: a visão geral multifuncional e a visualizaçã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.

Você pode usar a visão geral multifuncional do painel do Lambda Insights no CloudWatch console para identificar funções do Lambda superutilizadas ou subutilizadas. Você pode usar a visualização de função única do painel do Lambda Insights no CloudWatch console para solucionar problemas de solicitações individuais.

Como visualizar as métricas de tempo de execução de todas as funções
  1. Abra a página Multifuncional no CloudWatch console.

  2. Escolha entre os intervalos de tempo predefinidos ou escolha um intervalo de tempo personalizado.

  3. (Opcional) Escolha Adicionar ao painel para adicionar os widgets ao seu CloudWatch painel.

    
            A visão geral de várias funções no painel do Lambda Insights.
Como visualizar as métricas de tempo de execução de uma única função
  1. Abra a página de função única no CloudWatch console.

  2. Escolha entre os intervalos de tempo predefinidos ou escolha um intervalo de tempo personalizado.

  3. (Opcional) Escolha Adicionar ao painel para adicionar os widgets ao seu CloudWatch painel.

    
            A visualização de função única no painel Lambda Insights.

Para obter mais informações, consulte Criação e trabalho com widgets em CloudWatch painéis.

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
  1. Abra a página Multifuncional no CloudWatch console.

  2. 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.

    
            O painel de resumo da função no painel Lambda Insights.
  3. 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).

    
            O menu no painel Memory Usage (Uso de memória).
  4. 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.

    
            A guia Graphed metrics (Métricas em gráficos) do painel Memory Usage (Uso de memória).

Para obter mais informações, consulte Usando a detecção de CloudWatch anomalias.

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
  1. Abra a página Multifuncional no CloudWatch console.

  2. No painel Duration (Duração), selecione a função para filtrar as métricas de duração.

    
            Uma função selecionada no painel Duration (Duração).
  3. Abra a página Função única.

  4. Selecione a lista suspensa Filter metrics by function name (Filtrar métricas por nome da função) e selecione a função.

  5. Para visualizar os Most recent 1000 application logs (1000 logs de aplicações mais recentes), selecione a guia Application logs (Logs de aplicações).

  6. Revise o Timestamp (Time stamp) e a Message (Mensagem) para identificar a solicitação de invocação que você deseja solucionar.

    
            Os Most recent 1000 application logs (1000 logs de aplicações mais recentes).
  7. Para mostrar as Most recent 1000 invocations (1000 invocações mais recentes), selecione a guia Invocations (Invocações).

  8. Selecione o Timestamp (Time stamp) ou a Message (Mensagem) para a solicitação de invocação que você deseja solucionar.

    
            Seleção de uma solicitação de invocação recente.
  9. 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.

  10. Selecione Run query (Executar consulta) para gerar uma mensagem Logs para a solicitação de invocação.

    
            Consulta da função selecionada no painel Logs Insights.

Próximas etapas