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

如何为OpenTelemetry NodeJS自动链路追踪设置服务名称?

解决OpenTelemetry服务名称配置问题

方法1:直接在NodeSDK配置中指定服务名

修改tracing.js代码,在NodeSDK的构造参数里添加serviceName字段即可:

const opentelemetry = require("@opentelemetry/sdk-node");
const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node");
const { OTLPTraceExporter } = require("@opentelemetry/exporter-trace-otlp-http");
const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');

diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO);

const sdk = new opentelemetry.NodeSDK({
  serviceName: "你的自定义服务名称", // 此处替换为你的服务名称
  traceExporter: new OTLPTraceExporter({
    url: process.env.OPENTELEMETRY_URL, 
    headers: {},
  }),
  instrumentations: [getNodeAutoInstrumentations()],
});

sdk.start();

方法2:通过环境变量设置

若不想硬编码服务名,可在启动应用时设置OTEL_SERVICE_NAME环境变量:

OTEL_SERVICE_NAME="你的自定义服务名称" node app.js

方法3:通过Resource组件显式配置(支持更多元数据)

如果需要添加服务版本、运行环境等额外元数据,可使用Resource类定义:

const opentelemetry = require("@opentelemetry/sdk-node");
const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node");
const { OTLPTraceExporter } = require("@opentelemetry/exporter-trace-otlp-http");
const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
const { Resource } = require('@opentelemetry/resources');
const { SEMRESATTRS_SERVICE_NAME } = require('@opentelemetry/semantic-conventions');

diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO);

const resource = new Resource({
  [SEMRESATTRS_SERVICE_NAME]: "你的自定义服务名称",
  // 可添加更多元数据,比如服务版本
  // "service.version": "1.0.0"
});

const sdk = new opentelemetry.NodeSDK({
  resource: resource,
  traceExporter: new OTLPTraceExporter({
    url: process.env.OPENTELEMETRY_URL, 
    headers: {},
  }),
  instrumentations: [getNodeAutoInstrumentations()],
});

sdk.start();

以上三种方法均可替换Datadog中默认的unknown_service标识,优先推荐方法1或2,配置更简洁;需扩展元数据时选用方法3。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:16:45