在 Node.js 客户端库中启用遥测信号

Cloud de Confiance by S3NS 为 Node.js 应用提供强大的监控、日志记录和诊断功能。

Node.js 客户端库经过插桩处理,可以发出跟踪数据。插桩是选择性加入的,您需要明确启用它。本文档介绍了可用的信号以及如何启用这些信号。

可用信号

Node.js 客户端库经过插桩处理,可以生成以下信号:

  1. 每个逻辑客户端请求的 INFO span。通常,客户端结构体中的单个方法调用会获得此类 span(例如,对 SecretManagerServiceClient 调用 accessSecretVersion)。
  2. 每次低级别 RPC 尝试的 INFO span。通常,客户端结构体中的单个方法会获得一个此类 span,但如果库必须重试远程过程调用 (RPC),则可能会有更多此类 span。

这些 span 和日志遵循 OpenTelemetry Semantic Conventions,并包含其他 Cloud de Confiance by S3NS 属性。span 和日志都应适合生产环境监控。这些信号包含标准 OpenTelemetry 属性(例如,http.response.status_code 和 rpc.system.name)。

如需查看标准属性的完整列表,请参阅 OpenTelemetry HTTP 和 gRPC 语义惯例。

启用遥测信号

为保护敏感数据,遥测信号默认处于停用状态。

在 Node.js 中,您必须配置客户端以发出跟踪记录并且 必须配置订阅者和导出器以将这些信号发送到外部服务。

如需配置客户端,您可以设置以下环境变量:

export GOOGLE_SDK_NODE_ENABLE_TRACING=true

启用跟踪后,如果您的应用在调用客户端库方法时在当前上下文中具有活跃的 OpenTelemetry span,则客户端库会自动将其 span 链接为活跃 span 的子项。

导出跟踪记录

在客户端库中启用遥测后,您必须将应用配置为收集此数据并将其导出到可观测性服务。

如需详细了解如何配置 OpenTelemetry 跟踪记录关联 数据,请参阅 可观测性示例 在 Node.js 代码库中。

如需将 tracing span 导出到 Cloud de Confiance by S3NS 客户端库 生成的 OpenTelemetry,您需要设置跟踪器提供程序和导出器:

const cloudTraceExporter = new TraceExporter();
const spanProcessor = new BatchSpanProcessor(cloudTraceExporter);

const provider = new NodeTracerProvider({
  spanProcessors: [spanProcessor],
});
provider.register();