介绍适用于 Node.js 的 Elastic OpenTelemetry 发行版

作者:来自 Elastic Trent Mick

我们很高兴地宣布推出 Elastic OpenTelemetry Distribution for Node.js 的 alpha 版本。 该发行版是 OpenTelemetry Node.js SDK 的轻量级包装,可以让你更轻松地开始使用 OpenTelemetry 来观察 Node.js 应用程序。

背景

Elastic 正在对 OpenTelemetry (OTel) 进行标准化,以实现可观察性和安全数据收集。 作为这项工作的一部分,我们将提供 OpenTelemetry Language SDK 的发行版。 我们的 AndroidiOS SDK 从一开始就基于 OpenTelemetry,并且我们最近发布了 Java.NET 的 alpha 发行版。 Node.js 的 Elastic OpenTelemetry Distribution 是最新添加的内容。

入门

要开始使用 Elastic OTel Distribution for Node.js("发行版"),你只需安装并加载单个 npm 依赖项 (@elastic/opentelemetry-node)。 该发行版为许多流行的 Node.js 包设置了跟踪、指标和日志的集合。 它将数据发送到你配置的任何 OTLP 端点。 这可以是标准 OTel Collector,或者如下所示的 Elastic Observability 云部署。

复制代码
npm install --save @elastic/opentelemetry-node  # (1) install the SDK

# (2) configure it, for example:
export OTEL_EXPORTER_OTLP_ENDPOINT=https://my-deployment.apm.us-west1.gcp.cloud.es.io
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer ...REDACTED..."
export OTEL_SERVICE_NAME=my-service

# (3) load and start it
node --require @elastic/opentelemetry-node my-service.js

Express 和 PostgreSQL 的一个小例子

作为一个具体示例,让我们看一下使用 Express Web 框架和 pg PostgreSQL 客户端包实现的小型 Node.js"Shortlinks" 服务。 该服务提供用于创建短链接(URL 的短名称)的 POST / route 和用于使用它们的 GET /:shortname 路由。

git 存储库在这里README 展示了如何创建免费试用版 Elastic 云部署并获取适当的 OTEL_... config 设置。 尝试一下(前提条件是 Docker 和 Node.js v20 或更高版本):

复制代码
git clone https://github.com/elastic/elastic-otel-node-example.git
cd elastic-otel-node-example
npm install

cp config.env.template config.env
# Edit OTEL_ values in "config.env" to point to your collection endpoint.

npm run db:start
npm start

设置可观察性所需的唯一步骤是对 "package.json" 文件进行这些小更改并配置一些标准 OTEL_... 环境变量。

复制代码
  // ...
  "scripts": {
	"start": "node --env-file=./config.env -r @elastic/opentelemetry-node lib/app.js"
  },
  "dependencies": {
	"@elastic/opentelemetry-node": "*",
  // ...

结果是使用行业标准 OpenTelemetry 的可观察应用程序 --- 提供许多流行 Node.js 库的高质量工具、避免供应商锁定的可移植 API 以及活跃的社区。

使用 Elastic Observability,你可以期待的一些开箱即用的好处包括:丰富的跟踪查看、服务地图、集成指标和日志分析等等。 该发行版提供了主机指标,Kibana 提供了精心策划的服务指标 UI。 流行的 WinstonBunyan 日志框架可以开箱即用地发送日志,并计划为 Pino 提供支持。

下一步是什么?

Elastic 致力于帮助 OpenTelemetry 取得成功,并帮助我们的客户在其系统中有效地使用 OpenTelemetry。 去年,我们捐赠了 ECS 并继续致力于将其与 OpenTelemetry 语义约定集成。 最近,我们正致力于将基于 eBPF 的分析器捐赠给 OpenTelemetry。 我们为许多语言 SDK 和其他 OpenTelemetry 项目做出了贡献。

作为 Node.js 发行版的作者,我们很高兴能与 OpenTelemetry JavaScript 社区合作,帮助使 JS API 和 SDK 成为 JavaScript 可观察性的更强大、功能更丰富且明显的选择。 拥有发行版使我们能够灵活地在普通 OTel SDK 之上构建功能。 目前,该发行版的一些优点包括:单一安装包、具有合理默认配置的轻松自动检测、默认启用 ESM 以及自动日志遥测发送。 如果可能的话,我们肯定会向 OTel JavaScript 项目上游贡献功能,并且当它们更有意义时,我们也会在发行版中包含其他功能。

Node.js 的 Elastic OpenTelemetry Distribution 目前处于 alpha 阶段。 请尝试一下并告诉我们它是否适合你。 在这里关注最新版本。 你可以通过项目问题跟踪器或 Elastic 的 Node.js APM 讨论论坛与我们互动。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

原文:Introducing Elastic's OpenTelemetry Distribution for Node.js | Elastic Blog

相关推荐
EQUINOX16 小时前
【论文精读】| CLIP精读
大数据·人工智能
一米阳光86616 小时前
软考(中级)软件设计师核心笔记(3)数据库系统——概念、数据库设计
数据库·笔记·职场发展·软考·软件设计师
奈斯先生Vector7 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
微三云 - 廖会灵 (私域系统开发)8 小时前
消费即资产:积分增值异业联盟商业模式完整拆解(附落地逻辑、合规方案与盈利模型)
大数据·人工智能
老白说数智化升级8 小时前
从一次改善到持续进化,AI如何沉淀制造现场的运营知识?
大数据·人工智能·制造
小也说互联网8 小时前
2026年|正规靠谱外贸独立站建站渠道全景解析
大数据·外贸独立站·独立站搭建·谷歌seo优化·外贸建站·谷歌建站服务商推荐·外贸出海企业必看
只说证事9 小时前
电子商务专业考证能找到哪些工作
大数据
建筑工程企业管理系统9 小时前
erp工程项目管理系统落地价值:实现工程多项目成本精细化核算与管控
大数据·数据库·人工智能
万岳科技系统开发9 小时前
校园跑腿外卖搭建助力高校周边商家拓展线上业务
大数据·人工智能·小程序
AI大模型-小华9 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro