Google Cloud 为 Node.js 应用提供强大的监控、日志记录和诊断功能。
Node.js 客户端库经过插桩处理,可以发出跟踪数据。插桩是选择性加入的,您需要明确启用它。本文档介绍了可用的信号以及如何启用这些信号。
可用信号
Node.js 客户端库经过插桩处理,可以生成以下信号:
- 每个逻辑客户端请求的
INFOspan。通常,客户端结构体中的单个方法调用会获得此类 span(例如,对SecretManagerServiceClient调用accessSecretVersion)。 - 每次低级别 RPC 尝试的
INFOspan。通常,客户端结构体中的单个方法会获得一个此类 span,但如果库必须重试远程过程调用 (RPC),则可能会有更多此类 span。
这些 span 和日志遵循 OpenTelemetry Semantic
Conventions,并包含其他
Google Cloud 属性。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 导出到 Google Cloud 客户端库
生成的 OpenTelemetry,您需要设置跟踪器提供程序和导出器:
const cloudTraceExporter = new TraceExporter();
const spanProcessor = new BatchSpanProcessor(cloudTraceExporter);
const provider = new NodeTracerProvider({
spanProcessors: [spanProcessor],
});
provider.register();