Solução de problemas e problemas conhecidos do Lambda Insights do CloudWatch - Amazon CloudWatch

Solução de problemas e problemas conhecidos do Lambda Insights do CloudWatch

A primeira etapa para solucionar problemas é habilitar o log de depuração na extensão do Lambda Insights. Para isso, defina esta variável de ambiente em sua função Lambda: LAMBDA_INSIGHTS_LOG_LEVEL=info. Para obter mais informações, consulte Usar variáveis de ambiente do AWS Lambda.

A extensão emite logs no mesmo grupo de logs que sua função (/aws/lambda/function-name)). Revise esses logs para ver se o erro pode estar relacionado a um problema de instalação.

Não visualizo nenhuma métrica do Lambda Insights

Caso você não veja as métricas do Lambda Insights que espera visualizar, verifique as possibilidades a seguir:

  • As métricas podem estar apenas atrasadas: se a função ainda não tiver sido invocada ou se os dados ainda não tiverem sido liberados, você não verá as métricas no CloudWatch. Para obter mais informações, consulte Probelmas conhecidos mais à frente, nesta seção.

  • Confirme se a função Lambda tem as permissões corretas: verifique se a política do IAM CloudWatchLambdaInsightsExecutionRolePolicy está atribuída à função de execução do IAM.

  • Verifique o runtime do Lambda: o Lambda Insights é compatível apenas com determinados runtimes do Lambda. Para ver uma lista dos tempos de execução compatíveis, consulte Lambda Insights.

    Por exemplo, para usar o Lambda Insights em Java 8, é necessário usar o runtime java8.al2, e não o runtime java8.

  • Verificar o acesso à rede: a função Lambda pode estar em uma sub-rede privada da VPC sem acesso à Internet e você não tem um endpoint da VPC configurado para o CloudWatch Logs. Para ajudar a depurar esse problema, você pode definir a variável de ambiente LAMBDA_INSIGHTS_LOG_LEVEL=info.

Problemas conhecidos

O atraso de dados pode ser de até 20 minutos. Quando um manipulador de função é concluído, o Lambda congela a sandbox, que também congela a extensão do Lambda Insights. Enquanto a função está em execução, usamos uma estratégia de lotes adaptável baseada TPS da função para dados de saída. Porém, se a função parar de ser invocada por um período prolongado e ainda houver dados de evento no buffer, esses dados poderão ser atrasados até o Lambda desligar a sandbox ociosa. Quando o Lambda desliga a sandbox, liberamos os dados armazenados em buffer.