Monitorando o AWS Lambda
Para visualizar as métricas relacionadas ao AWS Lambda na interface do usuário do Instana, você precisa instalar e configurar o agente do Instana AWS, que é o agente de host do Instana executado em um modo AWS especializado.
Para obter mais informações, consulte AWS agent.
Para visualizar os rastros do Lambda na interface do usuário da Instana, você precisa adicionar um rastreador do Instana Lambda à sua função AWS Lambda.
O monitoramento do AWS Lambda requer a instalação do agente Instana AWS no ambiente AWS e a integração dos rastreadores do Instana Lambda com as funções do AWS Lambda.
O agente da Instana AWS é instalado uma vez por conta e região AWS e monitora todas as funções do AWS Lambda nessa conta e região, juntamente com outros serviços AWS. Para obter mais informações, consulte Monitoramento de Amazon Web Services ( AWS ) com o agente Amazon Web Services ( AWS ). Esse sensor coleta métricas de infraestrutura para suas funções AWS Lambda. Você também precisa adicionar um rastreador Instana Lambda à sua função AWS Lambda para coletar rastreamentos da função. Dependendo do tempo de execução da função Lambda, o rastreador é instalado como uma camada na função AWS Lambda ou instrumentado manualmente.
Tempos de execução suportados
AWS agente
O agente AWS para monitoramento do Lambda coleta detalhes e métricas da versão de todas as suas funções do Lambda, independentemente do tempo de execução.
AWS Rastreamento nativo do Lambda
Configurando o monitoramento de Lambda da AWS
Para monitorar as funções do AWS Lambda com a Instana, conclua as etapas a seguir:
Configuração do agente AWS para monitoramento do Lambda
Para configurar o agente AWS, conclua as etapas a seguir:
- Configure o agente AWS para o monitoramento do AWS Lambda.
- Se necessário, use a configuração de proxy.
Para obter mais informações, consulte Configuração do agente AWS para monitoramento do Lambda.
Instalação de rastreadores do Instana Lambda em funções do AWS Lambda
Para capturar dados de rastreamento (dados em nível de solicitação) e enviar para o back-end da Instana, você precisa instalar rastreadores do Instana Lambda específicos do tempo de execução nas funções do AWS Lambda. Para instalar os rastreadores do Instana Lambda nas funções do AWS Lambda, consulte as instruções de instalação para os seguintes tempos de execução:
Opcional: Definição de mais configurações para os rastreadores do Instana Lambda
Você pode configurar as variáveis de ambiente opcionais que geralmente são compatíveis com o rastreamento nativo do Lambda, conforme descrito na tabela a seguir:
INSTANA_DISABLE_CA_CHECK para true , a menos que você use a Instana no local e não consiga operar o back-end da Instana com um certificado com uma autoridade de certificação (CA) raiz conhecida. Se você ativar essa variável, seu Lambda ficará vulnerável a ataques Man in the Middle (MITM) para essa conexão.| Variáveis de ambiente | Descrição |
|---|---|
INSTANA_TIMEOUT |
Defina o tempo limite para as solicitações HTTP que informam dados ao backend da Instana. |
INSTANA_ENDPOINT_PROXY |
Defina essa variável como http://my-proxy.tld ou http://user:password@my-proxy.tld para rotear o relatório de dados para o back-end da Instana por meio de um proxy HTTP ou HTTPS (suportado em Node.js, não em Python ). |
INSTANA_EXTRA_HTTP_HEADERS |
Defina essa variável como uma lista separada por ponto e vírgula de nomes de cabeçalhos HTTP (para tipos de acionadores, gateway de API com integração de proxy Lambda ou balanceador de carga de aplicativos) para capturar cabeçalhos HTTP. |
INSTANA_SERVICE_NAME |
Defina o nome do serviço personalizado. |
INSTANA_LOG_LEVEL |
Defina o nível de registro para o pacote Instana. Os valores possíveis são debug, info, warn e error (padrão: info). |
INSTANA_DEBUG |
Defina essa variável como qualquer valor para definir o nível de registro como debug. |
INSTANA_DISABLE_CA_CHECK |
Defina essa variável como true para desativar a verificação do certificado do servidor em relação à lista de autoridades de certificação (CA) incluídas no tempo de execução do Lambda quando ele se conectar ao backend da Instana. (Disponível para a versão da camada @instana/aws-lambda@1.93.0/ 25 e posterior) |
Visualização de configurações, métricas, versões e acionadores da função Lambda
Você pode visualizar todas as informações sobre suas funções Lambda por meio da Instana.
Para visualizar os atributos, acionadores, métricas e detalhes da versão do HTTP para funções Lambda, conclua as etapas a seguir:
- Na barra lateral da interface do usuário da Instana, selecione Infraestrutura.
- Clique em uma função Lambda monitorada específica.
Você pode ver um painel do host com todas as métricas coletadas e versões do Lambda. Para obter mais informações, consulte Configurações, métricas, versões e gatilhos do Lambda.
Ativação de alertas para partida a frio ou timeouts
Você pode configurar alertas inteligentes para inicializações a frio excessivas ou tempos limite em suas funções Lambda.
| Tempo de execução | Cold start | Tempos limite | Comentário |
|---|---|---|---|
| Go | ✅ | ✅ | |
| Node.js | ✅ | ✅ | A detecção de tempo limite é desativada por padrão. Para ativar a detecção de tempo limite, consulte Variáveis de ambiente adicionais. |
| .NET ou.NET Core | ✅ | ❌ | |
| Java | ❌ | ❌ | |
| Python | ❌ | ❌ | |
| Ruby | ❌ | ❌ |
Para configurar um Alerta Inteligente, acesse a documentação da perspectiva do aplicativo que contém as funções Lambda para as quais você deseja um alerta e, em seguida, adicione um Alerta Inteligente:
- No painel de navegação da interface do usuário da Instana, clique em Aplicativos.
- Selecione seu aplicativo.
- Clique em Add Smart Alert.
- Clique em Alternar para o modo avançado.
- No campo Select Services/Endpoints (Selecionar serviços/pontos de extremidade ) na seção Scope (Escopo ), adicione um dos seguintes filtros:
Cloud Function As A Service > Cold Start is trueCloud Function As A Service > Suspected Timeout is true
- No campo Blueprint selecionado na seção Trigger, selecione Throughput.
- Na seção de limite, selecione um valor limite que seja adequado ao seu caso de uso. Use 1 para incluir todas as ocorrências ou um valor mais alto para que a regra seja violada em um determinado número de partidas a frio ou tempos limite.
- Use as configurações de Limite de tempo para ajustar o comportamento de alerta.

Usando a extensão Lambda
NodeJS a versão 71 e posteriores da camada incluem uma extensão Lambda.
Essa extensão pode melhorar o desempenho das funções Lambda monitoradas, separando o processo de envio de dados para o backend da Instana de outros processos de funções Lambda. Para aproveitar essas melhorias de desempenho, faça upgrade da camada da Instana para uma versão que inclua a extensão.
Internamente, a extensão funciona com a biblioteca de idiomas para armazenar em buffer e fazer proxy de todas as solicitações para o backend da Instana. Em operação normal, a extensão não aumenta a vida útil da função Lambda. A vida útil é estendida somente durante as seguintes instâncias:
- Uma solicitação de desligamento para garantir que todos os dados mantidos no buffer para o backend sejam apagados.
- Uma situação em que a função Lambda falha e para de enviar spans. Aguarde 3 segundos para ver se o span raiz foi enviado antes de aguardar a próxima invocação.
Para desativar o uso da extensão, defina a variável INSTANA_DISABLE_LAMBDA_EXTENSION para TRUE no ambiente de sua função.
Considerações sobre desempenho e tempo de execução para o monitoramento do Lambda
Tamanho do artefato
Adicionar o monitoramento do Lambda da Instana aumenta o tamanho da sua função Lambda implantada. O tamanho adicional depende da camada ou biblioteca específica do idioma. Para obter o tamanho de uma versão específica da camada Instana Lambda, use os seguintes comandos do shell:
aws lambda get-layer-version --layer-name <layer_arn> --version-number <target_version> | jq .Content.Location | xargs -L 1 curl --output layer.zip
unzip -l layer.zip
Impacto no desempenho
Quando você monitora uma função Lambda com a Instana, o impacto no desempenho é causado principalmente pelo tempo que a função Lambda leva para se comunicar com o back-end da Instana. No final de cada execução, a biblioteca fornecida pela Instana faz uma chamada de bloqueio para a extensão Lambda da Instana AWS ou para sua unidade de locatário da Instana para relatar o resultado da execução.
Para funções que usam a extensão Lambda, esse processo ocorre em segundo plano e permite que a função monitorada retorne sua resposta assim que o código monitorado estiver pronto.
Para funções que não estão usando a extensão Lambda, esse processo permite o relatório do resultado da execução somente se os dados forem enviados para sua unidade de locatário.