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

Mulesoft项目中无需安装Datadog Agent发送追踪数据的方法

不依赖Datadog Agent发送MuleSoft追踪数据到Datadog

你可以直接使用Datadog的Trace API v2端点发送追踪数据,完全不需要安装Agent,具体操作如下:

核心可用端点

针对不同区域选择对应端点:

  • 美国站点:https://api.datadoghq.com/api/v2/traces
  • 欧盟站点:https://api.datadoghq.eu/api/v2/traces

操作步骤

  1. 适配追踪数据格式
    你用DataWeave生成的跨度数据需要转换为Datadog Trace API v2要求的结构,核心必填字段包括:

    • trace_id:全局唯一的追踪ID(64位整数的字符串形式)
    • span_id:当前跨度的唯一ID(64位整数的字符串形式)
    • name:跨度的操作名称(如api.process-request)
    • resource:关联的资源路径(如/api/v1/users)
    • service:你的MuleSoft服务名称(如user-management-api)
    • start:跨度开始时间(纳秒级时间戳)
    • duration:跨度持续时长(纳秒级数值)
      还可以添加env(环境标识)、version(服务版本)等标签字段,方便后续筛选分析。
  2. 配置请求认证
    请求必须携带DD-API-KEY请求头,值为你的Datadog平台API密钥,无需Agent专属密钥。

  3. 在MuleSoft中发送请求
    使用HTTP请求组件,设置请求方法为POST,目标URL选对应区域的Trace API端点,请求头添加DD-API-KEY: <你的API密钥>,请求体通过DataWeave将现有跨度数据转换为符合格式的JSON。

DataWeave转换示例

%dw 2.0
output application/json
---
{
  data: [
    {
      trace_id: vars.rootTraceId as String,
      span_id: vars.currentSpanId as String,
      name: "order-api.process-request",
      resource: "/api/v1/orders/create",
      service: "mule-order-api",
      start: vars.spanStartTime * 1000000, // 毫秒转纳秒
      duration: vars.spanDurationMs * 1000000,
      type: "web",
      meta: {
        "env": "staging",
        "version": "1.2.0",
        "http.method": "POST"
      },
      metrics: {
        "http.status_code": 201
      }
    }
    // 可添加更多跨度对象到data数组实现批量发送
  ]
}

注意事项

  • 追踪ID和跨度ID必须是64位整数的字符串,不能超过16个十六进制字符或十进制64位数值。
  • 时间相关字段必须用纳秒级数值,否则会导致时间显示异常。
  • 批量发送多个跨度可以减少请求频次,提升效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:17:17