

# Monitorar a performance de funções com o Lambda Insights do Amazon CloudWatch
<a name="monitoring-insights"></a>

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.

**Topics**
+ [Como o Lambda Insights monitora aplicações sem servidor](#monitoring-insights-how)
+ [Preços](#monitoring-insights-pricing)
+ [Tempos de execução compatíveis](#monitoring-insights-runtimes)
+ [Ativar o Lambda Insights no console do Lambda](#monitoring-insights-enabling-console)
+ [Ativação do Lambda Insights por programação](#monitoring-insights-enabling-programmatically)
+ [Usando o painel do Lambda Insights](#monitoring-insights-multifunction)
+ [Exemplo de fluxo de trabalho para detectar anomalias de função](#monitoring-insights-anomalies)
+ [Exemplo de fluxo de trabalho usando consultas para solucionar problemas de uma função](#monitoring-insights-queries)
+ [Próximas etapas](#monitoring-console-next-up)

## Como o Lambda Insights monitora aplicações sem servidor
<a name="monitoring-insights-how"></a>

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 Insights[extensão](https://docs.aws.amazon.com/lambda/latest/dg/lambda-extensions.html), que é fornecido como um[Lambda](chapter-layers.md). 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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-extensions.html).

A camada do Lambda Insights estende `CreateLogStream` e `PutLogEvents` para o grupo de logs `/aws/lambda-insights/`.

## Preços
<a name="monitoring-insights-pricing"></a>

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](https://aws.amazon.com/cloudwatch/pricing/). 

## Tempos de execução compatíveis
<a name="monitoring-insights-runtimes"></a>

Você pode usar o Lambda Insights com qualquer um dos tempos de execução que oferecem suporte para [extensões do Lambda](runtimes-extensions-api.md).

## Ativar o Lambda Insights no console do Lambda
<a name="monitoring-insights-enabling-console"></a>

É 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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-extensions.html) do Lambda Insights à sua função como uma camada e verifica ou tenta associar a política [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy$jsonEditor](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy$jsonEditor) à [função de execução](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) da função.

**Para habilitar o Lambda Insights no console do Lambda**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha a função.

1. Escolha a guia **Configuração**.

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

1. No painel **Ferramentas de monitoramento adicionais**, selecione **Editar**.

1. Em **Lambda Insights do CloudWatch**, ative o **Monitoramento avançado**.

1. Escolha **Salvar**.

## Ativação do Lambda Insights por programação
<a name="monitoring-insights-enabling-programmatically"></a>

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 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 [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy$jsonEditor](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy$jsonEditor) à [função de execução](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) da sua função.

Para obter mais informações, consulte [Conceitos básicos do Lambda Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-Getting-Started.html) no *Manual do usuário do Amazon CloudWatch*.

## Usando o painel do Lambda Insights
<a name="monitoring-insights-multifunction"></a>

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**

1. Abra a página [Multi-funcion](https://console.aws.amazon.com/cloudwatch/home#lambda-insights:performance) (Várias funções) no console do CloudWatch.

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

1. (Opcional) Selecione **Add to dashboard** (Adicionar ao painel) para adicionar os widgets ao painel do CloudWatch.  
![\[A visão geral de várias funções no painel do Lambda Insights.\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-multifunction-view.png)

**Como visualizar as métricas de tempo de execução de uma única função**

1. Abra a página [Single-funcion](https://console.aws.amazon.com/cloudwatch/home#lambda-insights:functions) (Função única) no console do CloudWatch.

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

1. (Opcional) Selecione **Add to dashboard** (Adicionar ao painel) para adicionar os widgets ao painel do CloudWatch.  
![\[A visualização de função única no painel Lambda Insights.\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambainsights-singlefunction-view.png)

Para obter mais informações, consulte [Criar e trabalhar com widgets em painéis do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-and-work-with-widgets.html).

## Exemplo de fluxo de trabalho para detectar anomalias de função
<a name="monitoring-insights-anomalies"></a>

É 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 [Multi-funcion](https://console.aws.amazon.com/cloudwatch/home#lambda-insights:performance) (Várias funções) no console do CloudWatch.

1. 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.\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-function-summary.png)

1. 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).\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-memory-usage.png)

1. 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).\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-graphed-metrics.png)

Para obter mais informações, consulte [Usar a detecção de anomalias do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html).

## Exemplo de fluxo de trabalho usando consultas para solucionar problemas de uma função
<a name="monitoring-insights-queries"></a>

É 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 [Multi-funcion](https://console.aws.amazon.com/cloudwatch/home#lambda-insights:performance) (Várias funções) no console do CloudWatch.

1. 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).\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-choose-function.png)

1. Abra a página [Função única](https://console.aws.amazon.com/cloudwatch/home#lambda-insights:functions).

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

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

1. 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).\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-application-logs.png)

1. Para mostrar as **Most recent 1000 invocations (1000 invocações mais recentes)**, selecione a guia **Invocations (Invocações)**.

1. 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.\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-invocations-function-select.png)

1. 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**.

1. 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.\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/lambdainsights-query.png)

## Próximas etapas
<a name="monitoring-console-next-up"></a>
+ Saiba como criar um painel do CloudWatch Logs no[Criar um painel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create_dashboard.html)no*Guia 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_ExportQueryResults.html) no *Manual do usuário do Amazon CloudWatch*.