Instalando as camadas Lambda do OpenTelemetry
O projeto OpenTelemetry fornece camadas Lambda separadas para:- Instrumentar automaticamente o código da sua função Lambda usando a instrumentação automática do OpenTelemetry.
- Encaminhar os logs, métricas e traces coletados para o ClickStack.
Adicionando a camada de instrumentação automática específica da linguagem
As camadas Lambda de instrumentação automática específicas da linguagem instrumentam automaticamente o código da sua função Lambda com o pacote de instrumentação automática do OpenTelemetry correspondente à linguagem usada. Cada linguagem e região tem seu próprio ARN de camada. Se sua Lambda já estiver instrumentada com um SDK do OpenTelemetry, você pode pular esta etapa. Para começar:- Na seção Layers, clique em “Add a layer”
- Selecione a opção de especificar um ARN e escolha o ARN correto com base na linguagem, substituindo
<region>pela sua região (ex.:us-east-2):
- Javascript
- Python
- Java
- Ruby
- Configure as seguintes variáveis de ambiente na sua função Lambda em “Configuration” > “Environment variables”.
- Javascript
- Python
- Java
- Ruby
Instalando a camada Lambda do OpenTelemetry Collector
A camada Lambda do collector permite encaminhar logs, métricas e traces da sua função Lambda para o ClickStack sem afetar os tempos de resposta devido à latência do exporter. Para instalar a camada do collector:- Na seção Layers, clique em “Add a layer”
- Selecione “Specify an ARN” e escolha o ARN correto com base na arquitetura. Lembre-se de substituir
<region>pela sua região (ex.:us-east-2):
- x86_64
- arm64
- Adicione o arquivo
collector.yamlabaixo ao seu projeto para configurar o collector para enviar dados ao ClickStack:
- Managed ClickStack
- ClickStack Open Source
- Adicione a seguinte variável de ambiente:
Verificando a instalação
Após implantar as camadas, agora você deverá ver traces coletados automaticamente da sua função Lambda no HyperDX. Os processadoresdecouple e batching
podem introduzir um atraso na coleta de telemetria, então os traces podem
demorar para aparecer. Para emitir logs ou métricas personalizados, você precisará instrumentar seu código com os SDKs do
OpenTelemetry específicos da sua linguagem.
Solução de problemas
Instrumentação personalizada não está enviando
Se você não estiver vendo seus traces definidos manualmente nem outros dados de telemetria, talvez esteja usando uma versão incompatível do pacote da API do OpenTelemetry. Verifique se o pacote da API do OpenTelemetry está, no mínimo, na mesma versão ou em uma versão inferior à versão incluída no AWS Lambda.Habilitando logs de depuração do SDK
Defina a variável de ambienteOTEL_LOG_LEVEL como DEBUG para habilitar os logs de depuração do
SDK do OpenTelemetry. Isso ajuda a garantir que a camada de instrumentação automática
esteja instrumentando sua aplicação corretamente.
Habilitando logs de depuração do collector
Para diagnosticar problemas no collector, você pode habilitar os logs de depuração modificando o arquivo de configuração do collector para adicionar o exporterlogging e definindo o nível de log de telemetria
como debug, o que habilita logs mais detalhados da camada Lambda do collector.
- Managed ClickStack
- ClickStack Open Source