@eqxjs/nest-opentelemetry

中文文档
3.2.2发布于 2026/03/30ISCTypeScriptCommonJS近 30 天下载 1975

巢穴的开阔距离服务

此软件包已被标记为弃用

This package moved to private repository

中文使用文档
文档目录17 节
  1. 特征
  2. 安装
  3. 使用量
  4. 程序用途
  5. 环境变量
  6. 出口商
  7. 仪器
  8. 资源探测器
  9. 部署属性(适用于Kafka/Socket.IO跨度)
  10. 辅助仪器
  11. 信件协议宽度
  12. M1 协议
  13. M2议定书
  14. M3议定书
  15. Kafka span 属性
  16. 构建
  17. 许可证

@eqxjs/nest-opet-electometer

版本: 3.2.1 (稳定)

用于NestJS应用的OpenTeleometter自动仪器. 环绕 @opentelemetry/sdk-node 配备一套预配置的仪器、出口商和资源探测器——都由环境变量驱动.

特征

  • 零码仪器 登记一次,所有支助的图书馆都自动安装
  • 多个出口商 - OTLP(跟踪、度量、日志)和Azure监测器应用透视
  • 自定义 Kafka 宽度浓缩 - 支持KafkaJS, eqxjs-kafkajs,并用 M1/M2/M3 信件协议解析相容的 Kafka
  • 自定义套接字 。 IO 跨度浓缩 ——抓取套接字 ID,密钥和M1协议属性
  • 云资源检测 自动检测AWS、Azure、GCP、Alibaba、集装箱等
  • 伟大的关闭 -听着 SIGTERM 财务报告和审定财务报表 beforeExit 在退出前冲出遥测

安装

npm install @eqxjs/nest-opentelemetry

使用量

注册 SDK 在此之前 您的应用程序负载经过 --require 改为节点.js:

node --require ./node_modules/@eqxjs/nest-opentelemetry/dist/register.js dist/main.js

或者在你身边 package.json 开始脚本 :

{
  "scripts": {
    "start": "node --require ./node_modules/@eqxjs/nest-opentelemetry/dist/register.js dist/main.js"
  }
}

程序用途

您也可以从软件包中导入单个助手 :

import {
  getNodeAutoInstrumentations,
  getResourceDetectors,
  InstrumentationConfigMap,
} from '@eqxjs/nest-opentelemetry';

使用 getNodeAutoInstrumentations(config?) 用自己的仪器列表构建工具列表 NodeSDK 设置,和 getResourceDetectors() 以应用环境驱动的资源探测器列表.

环境变量

出口商

变量说明
TRACES_URL跟踪的 OTLP 端点( 默认 ): http://localhost:4318/v1/traces(中文(简体) )
METRICS_URL度量衡的OTLP端点( 默认值 : http://localhost:4318/v1/metrics(中文(简体) )
LOGGER_URL日志的OTLP端点( 默认 ): http://localhost:4318/v1/logs(中文(简体) )
APPLICATIONINSIGHTS_CONNECTION_STRING_TRACE跟踪的 Azure 监视器连接字符串( 取优先级 ) TRACES_URL(中文(简体) )
APPLICATIONINSIGHTS_CONNECTION_STRING_METRICAzure 监视器用于度量的连接字符串( 占据优先级 ) METRICS_URL(中文(简体) )
APPLICATIONINSIGHTS_CONNECTION_STRING_LOG日志的 Azure 监视器连接字符串( 占据优先级 ) LOGGER_URL(中文(简体) )
METRIC_EXPORT_INTERVAL以毫秒计的计量导出间隔( 默认值 : 60000(中文(简体) )
METRIC_PROMETHEUS_PORT在这个端口(如:. 8081) (中文(简体) ). 只有在两者都不发生时才生效 APPLICATIONINSIGHTS_CONNECTION_STRING_METRIC 也没有 METRICS_URL 已经设定.

仪器

变量说明
OTEL_HTTP_HEADER以逗号分隔的 HTTP 标题名称列表, 用于在请求和响应中作为跨度属性捕捉
OTEL_NODE_ENABLED_INSTRUMENTATIONS逗号分离的仪器后缀列表以启用. 未设置时, 所有仪器都启用 。 示例 http,grpc,pg

有效数值 OTEL_NODE_ENABLED_INSTRUMENTATIONS数字 :

数值图书馆
amqplibAMQP( 拉比特MQ)
aws-lambdaAWS 兰布达
aws-sdk一个WS SDK
bunyanBunyan 日志
cassandra-driver卡桑德拉语Name
confluent-kafka孔通卡夫卡(node-rdkafka) 孔通卡克克克克克克克克克克克克克克克克克克
confluent-kafka-js卡夫卡镇(KafkaJS)
connect连接
cucumber黄瓜
dataloader数据记录器
dnsDNS 数据
eqxjs-ioredisEqxJS 离子体
eqxjs-kafkajsEqxJS 卡夫卡JS (英语)
mongodb2MongoDB( 遗留 v2 驱动程序)
express快递
fastify快捷化
fs文件系统( fs)
generic-pool一般池
graphql图QL
grpc(原始内容存档于2018-10-21) (英语). gRPC
hapi哈皮,哈皮,哈比,哈比,哈比,哈比,哈比,哈比,哈比,哈比
httpHTTP / HTTPS 软件
ioredis无线
kafkajs卡夫卡·贾斯
knexKnex 键
koa科亚
lru-memoizerLRU 纪念器
memcached记忆
mongodb蒙戈DB
mongodb2MongoDB( v2 驱动程序)
mongoose乌鸦
mysqlMySQL 数据
mysql2MySQL2 (英语)
nestjs-core雀巢JS核心
net净额
pg邮递SQL
pino皮诺伐木机
redis红色 v2
redis-4红色 v4
restify修复
router路由器
socket.io袜子。 内线
tedious强迫( MSSQL)
winston温斯顿日志

资源探测器

变量说明
OTEL_NODE_RESOURCE_DETECTORS以逗号分隔的资源探测器列表. 默认为 all启用 none 以禁用全部.

可用的探测器值 :

数值探测器
all启用下面的每个探测器
none禁用所有探测器
container集装箱标识
envOTEL_RESOURCE_ATTRIBUTES 环境变量
host主机名
os操作系统名称和版本
process进程 PID、运行时名称和版本
serviceinstance随机服务实例 ID
alibaba阿里巴巴云ECS元数据
awsAWS EC2 / ECS / EKS / Beanstalk / Lambda 元数据
azureAzure App 服务/ 函数/ VM 元数据
gcp谷歌云平台元数据

部署属性(适用于Kafka/Socket.IO跨度)

变量Span 属性集
CLOUD_ZONEcloud.zone
DEPLOYMENT_ENVdeployment.environment
DEPLOYMENT_NAMESPACEk8s.namespace.name

辅助仪器

图书馆软件包
HTTP / HTTPS 软件@opentelemetry/instrumentation-http
(原始内容存档于2018-10-21) (英语). gRPC@opentelemetry/instrumentation-grpc
快递@opentelemetry/instrumentation-express
快捷化@fastify/otel
科亚@opentelemetry/instrumentation-koa
哈皮,哈皮,哈比,哈比,哈比,哈比,哈比,哈比,哈比,哈比@opentelemetry/instrumentation-hapi
雀巢JS核心@opentelemetry/instrumentation-nestjs-core
袜子。 内线@opentelemetry/instrumentation-socket.io
图QL@opentelemetry/instrumentation-graphql
卡夫卡·贾斯opentelemetry-instrumentation-kafkajs
EqxJS 卡夫卡JS (英语)opentelemetry-instrumentation-eqxjs-kafkajs
孔通卡夫卡(node-rdkafka) 孔通卡克克克克克克克克克克克克克克克克克克opentelemetry-instrumentation-confluent-kafka
卡夫卡镇(KafkaJS)opentelemetry-instrumentation-confluent-kafka (单位:千美元)KafkaJSInstrumentation(中文(简体) )
AMQP( 拉比特MQ)@opentelemetry/instrumentation-amqplib
蒙戈DB@opentelemetry/instrumentation-mongodb (加强报告功能)
MongoDB v2 驱动程序opentelemetry-instrumentation-mongodb2 (加强报告功能)
乌鸦@opentelemetry/instrumentation-mongoose
邮递SQL@opentelemetry/instrumentation-pg
MySQL / MySQL2 游戏@opentelemetry/instrumentation-mysql, (中文(简体) ), @opentelemetry/instrumentation-mysql2
红色 v2 / v4@opentelemetry/instrumentation-redis, (中文(简体) ), @opentelemetry/instrumentation-redis-4
无线@opentelemetry/instrumentation-ioredis, (中文(简体) ), opentelemetry-instrumentation-eqxjs-ioredis
卡桑德拉语Name@opentelemetry/instrumentation-cassandra-driver
记忆@opentelemetry/instrumentation-memcached
Knex 键@opentelemetry/instrumentation-knex
一个WS SDK@opentelemetry/instrumentation-aws-sdk
AWS 兰布达@opentelemetry/instrumentation-aws-lambda
DNS 数据@opentelemetry/instrumentation-dns
净额@opentelemetry/instrumentation-net
页:1@opentelemetry/instrumentation-fs
皮诺@opentelemetry/instrumentation-pino
温斯顿@opentelemetry/instrumentation-winston
邦扬@opentelemetry/instrumentation-bunyan
数据记录器@opentelemetry/instrumentation-dataloader
一般池@opentelemetry/instrumentation-generic-pool
LRU 纪念器@opentelemetry/instrumentation-lru-memoizer
连接@opentelemetry/instrumentation-connect
修复@opentelemetry/instrumentation-restify
路由器@opentelemetry/instrumentation-router
强迫( MSSQL)@opentelemetry/instrumentation-tedious
黄瓜@opentelemetry/instrumentation-cucumber

信件协议宽度

卡夫卡生产商/消费者钩和袜子。 IO钩会解析消息有效载荷,并会根据检测到的消息格式添加结构化的跨度属性.

M1 协议

带有一个消息 protocol 字段被解析为M1,并产生除所有M2属性外的以下属性:

属性源字段
M1.protocol.versionprotocol.version
M1.protocol.commandprotocol.command
M1.protocol.sub_commandprotocol.subCommand
M1.protocol.invokeprotocol.invoke
M1.protocol.topicprotocol.topic

M2议定书

带有一个消息 header 字段解析为 M2:

属性源字段
enduser.idheader.identity.user
M2.header.versionheader.version
M2.header.org_serviceheader.orgService
M2.header.fromheader.from
M2.header.channelheader.channel
M2.header.brokerheader.broker
M2.header.agentheader.agent
M2.header.useCaseheader.useCase
M2.header.use_case_stepheader.useCaseStep
M2.header.use_case_ageheader.useCaseAge
M2.header.function_nameheader.functionName
M2.header.sessionheader.session
M2.header.transactionheader.transaction

M3议定书

带有一个消息 service 字段解析为 M3 :

属性源字段
enduser.idservice.identity.user
M3.service.versionservice.version
M3.service.org_serviceservice.orgService
M3.service.fromservice.from
M3.service.channelservice.channel
M3.service.brokerservice.broker
M3.service.agentservice.agent
M3.service.useCaseservice.useCase
M3.service.use_case_stepservice.useCaseStep
M3.service.use_case_ageservice.useCaseAge
M3.service.function_nameservice.functionName
M3.service.sessionservice.session
M3.service.transactionservice.transaction

Kafka span 属性

所有卡夫卡跨度(生产者和消费者)包括:

属性说明
kafka.directionproduce 或者说 consume
kafka.topic主题名称
kafka.key消息密钥
kafka.partition信件分区
kafka.offset信件删除
kafka.header.<name>每个信件头值

构建

npm run build

输出输出到 ./dist。 。 。 .

许可证

公务员制度委员会

版本与发布记录

@eqxjs/nest-opentelemetry 共发布 59 个版本,首次发布于 2024/04/09;过去 12 个月发布了 14 个版本。

版本发布日期距今
3.2.2latest2026/03/307 个月前
3.2.12026/03/277 个月前
3.2.02026/03/108 个月前
3.1.32026/02/278 个月前
3.1.22026/02/278 个月前
3.1.12026/02/278 个月前

其他发布通道:@eqxjs/nest-opentelemetry → 3.0.2-beta.6,nest-opentelemetry → 3.0.5-beta.2,beta.0 → 3.0.9-beta.0,next → 3.0.9-beta.6。

关于 @eqxjs/nest-opentelemetry 的常见问题

@eqxjs/nest-opentelemetry 是什么?

巢穴的开阔距离服务注意:该包已被作者标记为弃用——This package moved to private repository

如何安装 @eqxjs/nest-opentelemetry?

在项目目录运行 npm install @eqxjs/nest-opentelemetry,或使用 pnpm add / yarn add / bun add。

@eqxjs/nest-opentelemetry 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@eqxjs/nest-opentelemetry 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@eqxjs/nest-opentelemetry 可以商用吗?

@eqxjs/nest-opentelemetry 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@eqxjs/nest-opentelemetry 的下载量有多少?

根据 npm 官方下载统计,@eqxjs/nest-opentelemetry 在 2026/10/14 – 2026/11/12 这 30 天内被下载 1,975 次,日均约 66 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@eqxjs/nest-opentelemetry 还在维护吗?

最新版本 3.2.2 发布于 2026/03/30(7 个月前);至今共发布 59 个版本,其中过去 12 个月发布了 14 个;首次发布于 2024/04/09。作者已将其标记为弃用,新项目建议寻找替代方案。