Saltar al contenido principal
Esta guía integra:
✅ Logs✅ Métricas✅ Trazas

Instalación de las capas de Lambda de OpenTelemetry

El proyecto OpenTelemetry proporciona capas de Lambda independientes para:
  1. Instrumentar automáticamente el código de su función Lambda mediante la auto-instrumentación de OpenTelemetry.
  2. Reenviar los logs, las métricas y las trazas recopilados a ClickStack.

Agregar la capa de autoinstrumentación específica del lenguaje

Las capas de Lambda de autoinstrumentación específicas del lenguaje instrumentan automáticamente el código de su función Lambda con el paquete de autoinstrumentación de OpenTelemetry correspondiente a su lenguaje. Cada lenguaje y Region tiene su propio ARN de capa. Si su Lambda ya está instrumentada con un SDK de OpenTelemetry, puede omitir este paso. Para comenzar:
  1. En la sección Layers, haga clic en “Add a layer”
  2. Seleccione “Specify an ARN” y elija el ARN correcto según el lenguaje; asegúrese de reemplazar <region> por su región (p. ej., us-east-2):
arn:aws:lambda:<region>:184161586896:layer:opentelemetry-nodejs-0_7_0:1
Las versiones más recientes de las capas se pueden encontrar en el repository de GitHub de OpenTelemetry Lambda Layers.
  1. Configure las siguientes variables de entorno en su función Lambda, en “Configuration” > “Environment variables”.
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler
OTEL_PROPAGATORS=tracecontext
OTEL_TRACES_SAMPLER=always_on

Instalación de la capa Lambda del collector de OpenTelemetry

La capa Lambda del collector te permite reenviar logs, métricas y trazas desde tu función Lambda a ClickStack sin afectar los tiempos de respuesta por la latencia del exportador. Para instalar la capa del collector:
  1. En la sección Layers, haz clic en “Add a layer”
  2. Selecciona “Specify an ARN” y elige el ARN correcto según la arquitectura; asegúrate de reemplazar <region> por tu región (p. ej., us-east-2):
arn:aws:lambda:<region>:184161586896:layer:opentelemetry-collector-amd64-0_8_0:1
  1. Agrega el siguiente archivo collector.yaml a tu proyecto para configurar el collector y enviar datos a ClickStack:
# collector.yaml
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 'localhost:4317'
      http:
        endpoint: 'localhost:4318'

processors:
  batch:
  decouple:

exporters:
  otlphttp:
    endpoint: "<YOU_OTEL_COLLECTOR_HTTP_ENDPOINT>"
    compression: gzip

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch, decouple]
      exporters: [otlphttp]
    metrics:
      receivers: [otlp]
      processors: [batch, decouple]
      exporters: [otlphttp]
    logs:
      receivers: [otlp]
      processors: [batch, decouple]
      exporters: [otlphttp]
  1. Agrega la siguiente variable de entorno:
OPENTELEMETRY_COLLECTOR_CONFIG_FILE=/var/task/collector.yaml

Comprobación de la instalación

Después de desplegar las capas, ahora debería empezar a ver en HyperDX las trazas recopiladas automáticamente de su función Lambda. Los procesadores decouple y batching pueden introducir un retraso en la recopilación de telemetría, por lo que las trazas pueden tardar en aparecer. Para emitir logs o métricas personalizados, deberá instrumentar su código con los SDKs de OpenTelemetry específicos de su lenguaje.

Solución de problemas

La instrumentación personalizada no envía datos

Si no ves las trazas que definiste manualmente ni otros datos de telemetría, es posible que estés usando una versión incompatible del paquete de la API de OpenTelemetry. Asegúrate de que tu paquete de la API de OpenTelemetry tenga, como mínimo, la misma versión o una versión inferior a la versión incluida en AWS Lambda.

Habilitar logs de depuración del SDK

Establece la variable de entorno OTEL_LOG_LEVEL en DEBUG para habilitar los logs de depuración del SDK de OpenTelemetry. Esto te ayudará a verificar que la capa de autoinstrumentación esté instrumentando correctamente tu aplicación.

Habilitar los logs de depuración del collector

Para depurar problemas del collector, puedes habilitar los logs de depuración modificando el archivo de configuración del collector para añadir el exportador logging y establecer el nivel de logs de telemetría en debug, con el fin de habilitar un logging más detallado desde la capa Lambda del collector.
# collector.yaml
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 'localhost:4317'
      http:
        endpoint: 'localhost:4318'

exporters:
  logging:
    verbosity: detailed
  otlphttp:
    endpoint: "<YOU_OTEL_COLLECTOR_HTTP_ENDPOINT>"
    compression: gzip

service:
  telemetry:
    logs:
      level: "debug"
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch, decouple]
      exporters: [otlphttp, logging]
    metrics:
      receivers: [otlp]
      processors: [batch, decouple]
      exporters: [otlphttp, logging]
    logs:
      receivers: [otlp]
      processors: [batch, decouple]
      exporters: [otlphttp, logging]
Última modificación el 10 de junio de 2026