自动监测

无需更改源代码即可捕获应用程序的遥测数据

自动监测提供了一种在任何Node.js应用程序中进行监测的方式,无需进行任何代码更改即可捕获流行的库和框架的遥测数据。

设置

运行以下命令来安装适当的软件包。

npm install --save @opentelemetry/api
npm install --save @opentelemetry/auto-instrumentations-node

@opentelemetry/api@opentelemetry/auto-instrumentations-node这两个软件包安装了API、SDK和监测工具。

配置模块

该模块是可以高度配置的。

一种选项是通过使用env来设置环境变量从CLI中来配置模块:

env OTEL_TRACES_EXPORTER=otlp OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=your-endpoint \
node --require @opentelemetry/auto-instrumentations-node/register app.js

或者,您可以使用export来设置环境变量:

export OTEL_TRACES_EXPORTER="otlp"
export OTEL_METRICS_EXPORTER="otlp"
export OTEL_EXPORTER_OTLP_ENDPOINT="your-endpoint"
export OTEL_NODE_RESOURCE_DETECTORS="env,host,os"
export OTEL_SERVICE_NAME="your-service-name"
export NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register"
node app.js

默认情况下,使用所有SDK的资源检测器。 您可以使用环境变量OTEL_NODE_RESOURCE_DETECTORS来启用特定的检测器或完全禁用它们。

要查看完整的配置选项范围,请参阅模块配置

支持的库和框架

许多流行的Node.js库都已实现了自动监测。完整列表请参见 supported instrumentation

故障排除

您可以通过将OTEL_LOG_LEVEL环境变量设置为以下之一来设置日志级别:

  • none
  • error
  • warn
  • info
  • debug
  • verbose
  • all

默认级别为info


自动仪表配置

学习如何配置Node.js的自动仪表

最后修改 December 10, 2023: translate (a4350d6e)