- 文档首页
应用性能监控全链路版
用户指南
应用性能监控
接入指南
Nodejs 应用接入
Nodejs 应用接入
Nodejs应用在不同场景下有不同的接入方式,本文介绍Nodejs应用通过OpenTelemetry接入的详细操作,接入后可以实现自动收集Trace信息、自动生成Metric指标、以及调用链检索、日志检索等功能。
通过OpenTelemetry接入
OpenTelemetry是CNCF的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方vendor无关的服务。
如果您的应用已经接入了OpenTelemetry的SDK,APMPlus服务端可以接收OpenTelemetry上报的数据。接入APMPlus后,您将获得RED指标生成能力、Trace多维检索、单链路检索、拓扑生成等多项能力。
使用限制
- APMPlus采用Prometheus作为OpenTelemetry Metrics的存储,支持promql对metrics进行查询,具体应用请参见自定义看板和报警管理。
- OpenTelemetry Metrics转换为Prometheus Metrics时,存在一定限制:
- 不支持聚合方式为delta的数据。请不要修改SDK侧的默认聚合配置,保证SDK侧数据的聚合方式为cumulative。
- 工作区拥有独立的数据上报凭证,如需使用工作区进行数据管理和数据隔离,请确保 apmplus-opentelemetry-collector 组件已经升级至 v3.1.0 及以上版本。
自动接入
APMPlus OpenTelemetry Collector是APMPlus基于OpenTelemetry Collector二次开发的数据采集器,遵守Apache2.0协议,支持采集OpenTelemetry监控数据,同时支持采集Prometheus指标、应用监控数据和K8s资源指标。
- 安装 APM OpenTelemetry Collector。
- 通过 VKE 集群组件中心,白屏安装 apmplus-opentelemetry-collector 组件。前往 VKE 集群界面,选择 组件管理 -> 监控,单击 apmplus-opentelemetry-collector 组件右上角...中的安装,完成 Apmplus OpenTelemetry Collector 的部署和管理。
-
- 在服务的k8s deployment配置中增加instrumentation.apmplus.volcengine.com/inject-nodejs和instrumentation.apmplus.volcengine.com/workspace注解。
-
instrumentation.apmplus.volcengine.com/inject-nodejs: 'true'
instrumentation.apmplus.volcengine.com/workspace: default
- name: CONTAINER_RUNTIME
采用社区提供的 Opentelemetry Node.js SDK 自动埋点的方式上报数据,可以参考社区提供的 接入文档 。 通过 opentelemetry 自动埋点 完成埋点上报
npm install --save @opentelemetry/api
npm install --save @opentelemetry/auto-instrumentations-node
- 设置环境变量并通过NODE_OPTIONS和--require机制引入插桩脚本
export OTEL_TRACES_EXPORTER="otlp"
export OTEL_METRICS_EXPORTER="otlp"
export OTEL_LOGS_EXPORTER="otlp"
export OTEL_EXPORTER_OTLP_PROTOCOL="grpc"
export OTEL_EXPORTER_OTLP_ENDPOINT="http://apmplus-cn-beijing.ivolces.com:4317"
export OTEL_EXPORTER_OTLP_HEADERS=X-ByteAPM-AppKey="your-app-key"
export OTEL_SERVICE_NAME="your-service-name"
export OTEL_NODE_RESOURCE_DETECTORS="env,host,os"
export OTEL_PROPAGATORS="tracecontext,baggage"
export OTEL_METRIC_EXPORT_INTERVAL=30000
export NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register"
最近更新时间:2026.07.01 15:15:00