# @eqxjs/nest-opentelemetry 中文文档

规范地址：https://npmcn.com/package/%40eqxjs/nest-opentelemetry/

版本：3\.2\.2
npm 元数据更新时间：2026-05-12T04:17:46.277Z
中文译文更新时间：2026-11-14T16:51:46.497Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40eqxjs/nest-opentelemetry
原文对照：https://npmcn.com/package/%40eqxjs/nest-opentelemetry/?lang=original
项目主页：https://github.com/corp-ais/cronus-extra-library-eqxjs-opentelemetry#readme
源码仓库：https://github.com/corp-ais/cronus-extra-library-eqxjs-opentelemetry

弃用说明：This package moved to private repository

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：353 kB，51 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：55 个
- 首次发布：2024-04-09T05:21:16.703Z
- 最新版本发布：2026-03-30T08:48:10.808Z
- 近 30 天下载量：1975（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：59（近 12 个月 14 个）

## 中文简介

巢穴的开阔距离服务

## 安装

```sh
npm install @eqxjs/nest-opentelemetry
```

也可以使用：`pnpm add @eqxjs/nest-opentelemetry`、`yarn add @eqxjs/nest-opentelemetry`、`bun add @eqxjs/nest-opentelemetry`

## README

# @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` 在退出前冲出遥测

## 安装

```bash
npm install @eqxjs/nest-opentelemetry
```

## 使用量

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

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

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

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

### 程序用途

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

```typescript
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_METRIC` | Azure 监视器用于度量的连接字符串( 占据优先级 ) `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`数字 :

| 数值 | 图书馆 |
| --- | --- |
| `amqplib` | AMQP( 拉比特MQ) |
| `aws-lambda` | AWS 兰布达 |
| `aws-sdk` | 一个WS SDK |
| `bunyan` | Bunyan 日志 |
| `cassandra-driver` | 卡桑德拉语Name |
| `confluent-kafka` | 孔通卡夫卡(node-rdkafka) 孔通卡克克克克克克克克克克克克克克克克克克 |
| `confluent-kafka-js` | 卡夫卡镇(KafkaJS) |
| `connect` | 连接 |
| `cucumber` | 黄瓜 |
| `dataloader` | 数据记录器 |
| `dns` | DNS 数据 |
| `eqxjs-ioredis` | EqxJS 离子体 |
| `eqxjs-kafkajs` | EqxJS 卡夫卡JS (英语) |
| `mongodb2` | MongoDB( 遗留 v2 驱动程序) |
| `express` | 快递 |
| `fastify` | 快捷化 |
| `fs` | 文件系统( fs) |
| `generic-pool` | 一般池 |
| `graphql` | 图QL |
| `grpc` | (原始内容存档于2018-10-21) (英语). gRPC |
| `hapi` | 哈皮,哈皮,哈比,哈比,哈比,哈比,哈比,哈比,哈比,哈比 |
| `http` | HTTP / HTTPS 软件 |
| `ioredis` | 无线 |
| `kafkajs` | 卡夫卡·贾斯 |
| `knex` | Knex 键 |
| `koa` | 科亚 |
| `lru-memoizer` | LRU 纪念器 |
| `memcached` | 记忆 |
| `mongodb` | 蒙戈DB |
| `mongodb2` | MongoDB( v2 驱动程序) |
| `mongoose` | 乌鸦 |
| `mysql` | MySQL 数据 |
| `mysql2` | MySQL2 (英语) |
| `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` | 集装箱标识 |
| `env` | `OTEL_RESOURCE_ATTRIBUTES` 环境变量 |
| `host` | 主机名 |
| `os` | 操作系统名称和版本 |
| `process` | 进程 PID、运行时名称和版本 |
| `serviceinstance` | 随机服务实例 ID |
| `alibaba` | 阿里巴巴云ECS元数据 |
| `aws` | AWS EC2 / ECS / EKS / Beanstalk / Lambda 元数据 |
| `azure` | Azure App 服务/ 函数/ VM 元数据 |
| `gcp` | 谷歌云平台元数据 |

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

| 变量 | Span 属性集 |
| --- | --- |
| `CLOUD_ZONE` | `cloud.zone` |
| `DEPLOYMENT_ENV` | `deployment.environment` |
| `DEPLOYMENT_NAMESPACE` | `k8s.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.version` | `protocol.version` |
| `M1.protocol.command` | `protocol.command` |
| `M1.protocol.sub_command` | `protocol.subCommand` |
| `M1.protocol.invoke` | `protocol.invoke` |
| `M1.protocol.topic` | `protocol.topic` |

### M2议定书

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

| 属性 | 源字段 |
| --- | --- |
| `enduser.id` | `header.identity.user` |
| `M2.header.version` | `header.version` |
| `M2.header.org_service` | `header.orgService` |
| `M2.header.from` | `header.from` |
| `M2.header.channel` | `header.channel` |
| `M2.header.broker` | `header.broker` |
| `M2.header.agent` | `header.agent` |
| `M2.header.useCase` | `header.useCase` |
| `M2.header.use_case_step` | `header.useCaseStep` |
| `M2.header.use_case_age` | `header.useCaseAge` |
| `M2.header.function_name` | `header.functionName` |
| `M2.header.session` | `header.session` |
| `M2.header.transaction` | `header.transaction` |

### M3议定书

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

| 属性 | 源字段 |
| --- | --- |
| `enduser.id` | `service.identity.user` |
| `M3.service.version` | `service.version` |
| `M3.service.org_service` | `service.orgService` |
| `M3.service.from` | `service.from` |
| `M3.service.channel` | `service.channel` |
| `M3.service.broker` | `service.broker` |
| `M3.service.agent` | `service.agent` |
| `M3.service.useCase` | `service.useCase` |
| `M3.service.use_case_step` | `service.useCaseStep` |
| `M3.service.use_case_age` | `service.useCaseAge` |
| `M3.service.function_name` | `service.functionName` |
| `M3.service.session` | `service.session` |
| `M3.service.transaction` | `service.transaction` |

### Kafka span 属性

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

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

## 构建

```bash
npm run build
```

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

## 许可证

公务员制度委员会

## 常见问题

### @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。作者已将其标记为弃用，新项目建议寻找替代方案。

