Pular para o conteúdo principal
TL;DREste guia mostra como monitorar funções do AWS Lambda com o ClickStack usando a Rotel Lambda Extension para coletar e encaminhar logs das funções, logs da extensão e dados do OpenTelemetry diretamente para o ClickHouse. Você aprenderá a:
  • Implantar a camada da Rotel Lambda Extension nas suas funções Lambda
  • Configurar a extensão para exportar logs e traces para o ClickStack
  • Opcionalmente, desativar o CloudWatch Logs para reduzir custos
Essa abordagem pode reduzir significativamente seus custos de observabilidade no Lambda, eliminando completamente o uso do CloudWatch Logs.Tempo necessário: 5 a 10 minutos

Integração com funções Lambda existentes

Esta seção aborda como configurar suas funções AWS Lambda existentes para enviar logs e traces ao ClickStack usando a Rotel Lambda Extension.

Pré-requisitos

  • Instância do ClickStack em execução
  • Funções do AWS Lambda para monitorar
  • AWS CLI configurada com as permissões adequadas
  • Perfil de execução do Lambda com permissões para adicionar camadas
1

Escolha a camada apropriada do Rotel Lambda Extension

Escolha a camada do Lambda que corresponda à arquitetura de runtime da sua função Lambda. O campo {version} depende da região da AWS em que você está implantando. Consulte a página de lançamentos para encontrar os números de versão mais recentes correspondentes à sua região.
ArquiteturaARN
x86-64/amd64arn:aws:lambda:{region}:418653438961:layer:rotel-extension-amd64:{version}
arm64arn:aws:lambda:{region}:418653438961:layer:rotel-extension-arm64:{version}
Regiões disponíveis:
  • us-east-, us-west-
  • eu-central-1, eu-north-1, eu-west-
  • ca-central-1
  • ap-southeast-, ap-northeast-
  • ap-south-1
  • sa-east-1
2

Adicione a layer do Rotel à sua função Lambda

Nestes exemplos, substitua {arch}, {region} e {version} pelos valores apropriados acima.
Opção 1: AWS Console
  1. Abra o console do AWS Lambda
  2. Acesse sua função Lambda
  3. Role até a seção Layers e clique em Add a layer
  4. Selecione Specify an ARN
  5. Insira o ARN da layer do Rotel:
  6. Clique em Add
Opção 2: AWS CLI
Opção 3: AWS SAM
3

Configure a extensão para exportar para o ClickStack

A Rotel Lambda Extension é configurada por meio de variáveis de ambiente. Você precisa configurar o endpoint do exporter OTLP para apontar para sua instância do ClickStack. Os exemplos presumem que sua função do AWS Lambda consegue acessar a instância do ClickStack.
Configuração básica (variáveis de ambiente)
Adicione estas variáveis de ambiente à sua função do Lambda:
Configuração avançada (usando um arquivo .env)
Para configurações mais complexas, crie um arquivo rotel.env no pacote da sua função Lambda:rotel.env:
Em seguida, defina a variável de ambiente para apontar para este arquivo:
Como usar o AWS Secrets Manager ou o Parameter Store
Para implantações em produção, armazene valores sensíveis, como chaves de API, no AWS Secrets Manager ou no Parameter Store:Exemplo de AWS Secrets Manager:
Exemplo do AWS Parameter Store:
Permissões do IAM necessárias:Adicione estas permissões à função de execução do Lambda:Para o Secrets Manager:
Para o Parameter Store:
As chamadas à API da AWS para recuperar segredos acrescentam 100 a 150 ms à latência de cold start. Os segredos são recuperados em lotes (de até 10) e apenas na inicialização, portanto as invocações subsequentes não são afetadas.
4

Teste a integração

Invoque sua função Lambda para verificar se os logs estão sendo enviados para o ClickStack:
Verifique se há erros nos logs do Lambda:
5

Verifique os logs no HyperDX

Depois de concluir a configuração, faça login no HyperDX (a UI do ClickStack) e verifique se os logs estão chegando:Procure estes atributos-chave nos logs:
  • service.name: Nome da sua função Lambda
  • faas.name: Nome da função AWS Lambda
  • faas.invocation_id: ID exclusivo da invocação
  • cloud.provider: “aws”
  • cloud.platform: “aws_lambda”

Desabilitando o CloudWatch Logs (otimização de custos)

Por padrão, o AWS Lambda envia todos os logs para o CloudWatch Logs, o que pode sair caro em escala. Depois de verificar que os logs estão chegando ao ClickStack, você pode desabilitar o logging do CloudWatch para reduzir custos.
1

Remova as permissões do CloudWatch do perfil de execução

  1. Abra o AWS Console e navegue até AWS Lambda
  2. Acesse sua função Lambda
  3. Selecione ConfigurationPermissions
  4. Clique no nome do perfil de execução para abrir o console do IAM
  5. Edite a role e remova quaisquer actions logs:*:
    • Se estiver usando uma policy personalizada, edite-a para remover logs:CreateLogGroup, logs:CreateLogStream e logs:PutLogEvents
    • Se estiver usando a policy gerenciada pela AWS AWSLambdaBasicExecutionRole, remova-a da role
  6. Salve a role
2

Verifique se o logging do CloudWatch está desabilitado

Invoque sua função novamente e verifique se:
  1. Nenhum novo log stream do CloudWatch é criado
  2. Os logs continuam aparecendo no ClickStack/HyperDX

Adicionando a instrumentação automática do OpenTelemetry

A Rotel Lambda Extension funciona perfeitamente com camadas de instrumentação automática do OpenTelemetry para coletar traces distribuídos e métricas, além de logs.
1

Escolha a camada de instrumentação da sua linguagem

A AWS fornece camadas de instrumentação automática do OpenTelemetry para várias linguagens:
LinguagemPadrão de ARN da camada
Node.jsarn:aws:lambda:{region}:901920570463:layer:aws-otel-nodejs-{arch}-ver-{version}
Pythonarn:aws:lambda:{region}:901920570463:layer:aws-otel-python-{arch}-ver-{version}
Javaarn:aws:lambda:{region}:901920570463:layer:aws-otel-java-agent-{arch}-ver-{version}
Encontre as versões mais recentes no repositório AWS OpenTelemetry Lambda.
2

Adicione as duas camadas à sua função

Adicione as duas camadas: a camada de extensão do Rotel e a camada de instrumentação:
3

Configure a instrumentação automática

Defina a variável de ambiente AWS_LAMBDA_EXEC_WRAPPER para ativar a instrumentação automática:Para Node.js:
Para Python:
Para Java:
4

Verifique os traces no HyperDX

Depois de invocar sua função:
  1. Acesse a visualização Traces no HyperDX
  2. Você deverá ver traces com spans da sua função Lambda
  3. Os traces serão correlacionados com os logs por meio dos atributos trace_id e span_id

Aplicativos de exemplo

Confira o aplicativo de exemplo em Python que demonstra a Rotel Lambda Extension:
  • Python + ClickHouse: Aplicativo Python com instrumentação manual com OpenTelemetry, enviando traces e logs diretamente para o ClickHouse

Participe da comunidade Rotel

Se você tiver dúvidas sobre o Rotel, entre no servidor do Discord da Rotel e compartilhe seu feedback ou suas perguntas. Confira a Rotel Lambda Extension para contribuir com melhorias.

Recursos adicionais

Última modificação em 2 de julho de 2026