Passer au contenu principal
Ce guide intègre :
✅ Logs✅ Métriques✅ Traces

Installer les couches Lambda OpenTelemetry

Le projet OpenTelemetry fournit des couches Lambda distinctes pour :
  1. Instrumenter automatiquement le code de votre fonction Lambda avec l’auto-instrumentation OpenTelemetry.
  2. Transférer les logs, métriques et traces collectés vers ClickStack.

Ajout de la couche d’auto-instrumentation spécifique au langage

Les couches Lambda d’auto-instrumentation spécifiques au langage instrumentent automatiquement le code de votre fonction Lambda avec le paquet d’auto-instrumentation OpenTelemetry adapté au langage concerné. Chaque langage et chaque région disposent de leur propre ARN de couche. Si votre fonction Lambda est déjà instrumentée avec un SDK OpenTelemetry, vous pouvez ignorer cette étape. Pour commencer :
  1. Dans la section Layers, cliquez sur “Add a layer”
  2. Sélectionnez “Specify an ARN” et choisissez l’ARN approprié selon le langage, en veillant à remplacer <region> par votre région (par ex. us-east-2) :
arn:aws:lambda:<region>:184161586896:layer:opentelemetry-nodejs-0_7_0:1
Les dernières versions des couches sont disponibles dans le dépôt GitHub OpenTelemetry Lambda Layers.
  1. Configurez les variables d’environnement suivantes dans votre fonction Lambda sous “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

Installation de la couche Lambda du collector OpenTelemetry

La couche Lambda du collector vous permet d’acheminer les logs, les métriques et les traces de votre fonction Lambda vers ClickStack sans allonger les temps de réponse à cause de la latence de l’exporter. Pour installer la couche du collector :
  1. Dans la section Layers, cliquez sur “Add a layer”
  2. Sélectionnez “specify an ARN” et choisissez l’ARN approprié selon l’architecture, en veillant à remplacer <region> par votre région (par ex. us-east-2) :
arn:aws:lambda:<region>:184161586896:layer:opentelemetry-collector-amd64-0_8_0:1
  1. Ajoutez le fichier collector.yaml suivant à votre projet pour configurer le collector afin d’envoyer les données à 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. Ajoutez la variable d’environnement suivante :
OPENTELEMETRY_COLLECTOR_CONFIG_FILE=/var/task/collector.yaml

Vérification de l’installation

Après avoir déployé les couches, vous devriez maintenant voir dans HyperDX les traces automatiquement collectées depuis votre fonction Lambda. Les processeurs decouple et batching peuvent introduire un délai dans la collecte de la télémétrie ; l’affichage des traces peut donc être retardé. Pour émettre des logs ou des métriques personnalisés, vous devrez instrumenter votre code à l’aide des OpenTelemetry SDKs spécifiques à votre langage.

Dépannage

L’instrumentation personnalisée n’envoie pas de données

Si vous ne voyez pas les traces que vous avez définies manuellement ni d’autres données de télémétrie, il se peut que vous utilisiez une version incompatible du paquet de l’API OpenTelemetry. Assurez-vous que la version de votre paquet de l’API OpenTelemetry est identique ou inférieure à celle incluse dans AWS Lambda.

Activer les logs de débogage du SDK

Définissez la variable d’environnement OTEL_LOG_LEVEL sur DEBUG pour activer les logs de débogage du SDK OpenTelemetry. Cela permet de vérifier que la couche d’auto-instrumentation instrumente correctement votre application.

Activer les logs de débogage du collector

Pour résoudre les problèmes du collector, vous pouvez activer les logs de débogage en modifiant votre fichier de configuration du collector afin d’ajouter l’exporter logging et de définir le niveau de log de la télémétrie sur debug pour activer une journalisation plus détaillée depuis la couche Lambda du 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]
Dernière modification le 25 juin 2026