- 日志
- 指标
- 链路追踪
- 异常
入门
安装 HyperDX OpenTelemetry 插桩包
- NPM
- Yarn
初始化 SDK
init 函数。
- require
- import
设置日志收集
console.* 日志。如果你使用的是 winston 或 pino
等日志库,则需要为日志记录器添加一个 transport,才能将
日志发送到 ClickStack。如果你使用的是其他类型的日志记录器,
请联系我们,或在适用时查看我们的平台
集成 (例如 Kubernetes) 。
- Winston
- Pino
- console.log
如果你使用
winston 作为日志记录器,则需要为日志记录器添加以下 transport。设置错误收集
recordException 函数手动记录异常。
- Express
- Koa
- 手动
故障排查
OTEL_LOG_LEVEL 环境变量设为 debug,以启用详细日志。
高级插桩配置
捕获控制台日志
HDX_NODE_CONSOLE_CAPTURE 环境变量设为 0 来禁用此功能。
copy
附加用户信息或元数据
setTraceAttributes 函数。调用后,它会为与当前 trace 关联的每条
日志/span 添加已声明的
属性。建议在给定请求/trace 中尽可能早地调用此函数 (例如在 Express 中间件栈中尽可能靠前的位置) 。
这是一种很方便的方式,可确保所有日志/spans 都会自动带上
后续搜索所需的正确标识符,而不必由你自己手动
打标签并传递这些标识符。
userId、userEmail、userName 和 teamName 会将对应的值填充到 sessions UI
中,但也可以省略。你还可以指定任何其他附加值,并用其搜索事件。
HDX_NODE_BETA_MODE 环境
变量设为 1,或向 init 函数传入 betaMode: true,以
启用 trace 属性。
Google Cloud Run
@hyperdx/node-opentelemetry 包默认会将采样率覆盖为 1.0。
若要更改此行为,或配置其他 OpenTelemetry 安装,您可以手动配置环境变量
OTEL_TRACES_SAMPLER=parentbased_always_on 和 OTEL_TRACES_SAMPLER_ARG=1,以
达到相同效果。
如需了解更多信息,以及强制对特定请求启用链路追踪,请参阅
Google Cloud Run 文档。
自动插桩的库
dnsexpressgraphqlhapihttpioredisknexkoamongodbmongoosemysqlmysql2netpgpinorediswinston
其他安装方式
使用 ClickStack OpenTelemetry CLI 运行应用
opentelemetry-instrument CLI 或 Node.js 的 --require 标志,无需修改任何代码即可为应用自动插桩。通过 CLI 安装可支持更多自动插桩的库和框架。
- 使用 NPX
- 自定义入口点(例如 Nodemon、ts-node 等)
- 代码导入
托管 ClickStack对于托管 ClickStack,可以省略
HYPERDX_API_KEY。OTEL_SERVICE_NAME 环境变量用于在 HyperDX 应用中标识你的服务,你可以将其设为任意名称。
启用异常捕获
HDX_NODE_EXPERIMENTAL_EXCEPTION_CAPTURE 环境变量设置为 1。