You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS Distro for OpenTelemetry的Lambda无法向Dynatrace导入数据

问题排查:AWS Lambda通过AWS Distro for OpenTelemetry无法将数据导入Dynatrace

环境信息

  • 使用的AWS OTel层ARN:arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-5-0:1
  • Lambda函数运行正常,返回结果为"34.237.128.180\n",但无任何追踪数据导入至Dynatrace

Lambda函数代码

const axios = require('axios');
const url = 'http://checkip.amazonaws.com/';

exports.handler = async (event) => {
    let response
    console.log('[START] - OpenTelemetry / Dynatrace');
    try {
        response = await axios({
            method: 'post', url:url
        });
        console.log('**************', response?.data)
    } catch (error) {
        console.log('ERR: ', error)
    }
    console.log('[END] - OpenTelemetry / Dynatrace');
    return response?.data;
}

Collector配置文件(collector.yaml)

# Token QA ( Ingest Opentelemetry Traces ):
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:55680
      http:
        endpoint: 0.0.0.0:55681
exporters:
  otlphttp:
    endpoint: "https://ico19512.live.dynatrace.com/api/v2/otlp/v1/traces"  
    headers: {Authorization: "Api-Token dt0c01......"}
service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [otlphttp]

Lambda函数运行日志

START RequestId: b077aa35-b4bc-4604-8e5a-c67dbfa454ac Version: $LATEST
EXTENSION   Name: collector State: Ready    Events: [INVOKE,SHUTDOWN]
{"level":"debug","msg":"Received ","event :":"{\n\t\"eventType\": \"INVOKE\",\n\t\"deadlineMs\": 1660236861439,\n\t\"requestId\": \"b077aa35-b4bc-4604-8e5a-c67dbfa454ac\",\n\t\"invokedFunctionArn\": \"arn:aws:lambda:us-east-1:658913498668:function:dyna-otel\",\n\t\"tracing\": {\n\t\t\"type\": \"X-Amzn-Trace-Id\",\n\t\t\"value\": \"Root=1-62f5342f-1b4ce6bd6c1ebf2c6601dc57;Parent=29fc70b85a8376fd;Sampled=0\"\n\t}\n}"}
{"level":"debug","msg":"Waiting for event..."}
2022-08-11T16:54:09.465Z    b077aa35-b4bc-4604-8e5a-c67dbfa454ac    INFO    [START] - OpenTelemetry / Dynatrace
2022-08-11T16:54:09.806Z    b077aa35-b4bc-4604-8e5a-c67dbfa454ac    INFO    ************** 34.237.128.180

2022-08-11T16:54:09.806Z    b077aa35-b4bc-4604-8e5a-c67dbfa454ac    INFO    [END] - OpenTelemetry / Dynatrace
END RequestId: b077aa35-b4bc-4604-8e5a-c67dbfa454ac
REPORT RequestId: b077aa35-b4bc-4604-8e5a-c67dbfa454ac  Duration: 708.69 ms Billed Duration: 709 ms Memory Size: 128 MB Max Memory Used: 126 MB Init Duration: 1324.55 ms

Request ID
b077aa35-b4bc-4604-8e5a-c67dbfa454ac

排查方向

  • 采样率问题:日志中显示Sampled=0,AWS X-Ray采样率为0会直接导致OTel不生成追踪数据。需调整Lambda的X-Ray采样规则,确保采样率大于0,或在OTel配置中强制开启采样。
  • OTel核心环境变量缺失:确认是否配置了AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler,这个变量是触发OTel层自动注入追踪逻辑的关键,未配置则不会启动数据采集。
  • Collector日志细节不足:当前Collector仅输出基础debug日志,未显示追踪数据的接收和导出状态。可调整Collector日志级别为info,查看是否有数据接收记录、导出错误(如token无效、网络连接失败)。
  • Dynatrace Token权限:检查使用的Api-Token是否具备otlpIngest权限,权限不足会被Dynatrace拒绝数据导入。
  • 版本兼容性:当前使用的OTel层版本为1.5.0,需确认该版本与Dynatrace的OTLP端点协议是否兼容,部分旧版本可能存在协议适配问题。
  • Lambda网络权限:如果Lambda部署在VPC内,需确认是否有出站网络权限访问Dynatrace的OTLP端点,必要时配置NAT网关或VPC端点。
  • 依赖包Instrumentation:当前代码未显式初始化OTel,虽然OTel层会自动instrument依赖,但需确认axios是否被正确追踪。可尝试添加OTel初始化代码,或检查OTel层是否对axios做了完整的链路注入。

内容的提问来源于stack exchange,提问作者Eulises Quidel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 04:36:17