开发与工程 ✓ Microsoft · 官方 azure-monitoropentelemetryapplication-insightsnode-jsdistributed-tracingmetricslogstypescript

Azure Monitor OpenTelemetry TypeScript

为 Node.js 应用接入 Application Insights 遥测。

FollowSkills 评估 · FSRS-2.0
不推荐
43/ 100 五分制 2.2 / 5
1 2 3 4 5 6
1信任安全11 / 25 · 2.2/5

文档说明连接字符串、遥测导出、离线存储和日志摄取等数据流,并展示了 DefaultAzureCredential 与 ManagedIdentityCredential;但未说明敏感数据脱敏、日志内容边界、最小权限、用户确认、外部传输影响或回滚方案,因此从中等基础分扣分。未见凭据窃取、隐蔽外传或破坏性默认设置。

2可靠稳定6 / 20 · 1.5/5

安装、初始化顺序、ESM loader、采样、关闭和错误处理均有示例,正常路径较清晰;但未提供针对该技能的测试、版本约束或可复现验证,部分示例存在潜在 API 使用风险,例如直接修改 span.attributes 和 traceFlags,因此受静态上限限制并扣分。

3适用触发8 / 15 · 2.7/5

目标受众和主要场景明确,覆盖 Node.js 应用的追踪、指标、日志、自动插桩和手动导出;但未明确不适用场景、运行时限制、隐私合规边界、触发条件或中国大陆网络/区域可达性,且 Azure 服务依赖较强,因此扣分。

4规范维护8 / 15 · 2.7/5

SKILL.md 结构清楚,按安装、配置、快速开始、专项能力和最佳实践渐进组织;包含 MIT、作者和 1.0.0 版本元数据。缺少变更日志、维护责任与更新路径、依赖版本、故障排查、FAQ、已知限制和完整参数说明,因此未给满分。

5有效结果6 / 15 · 2.0/5

示例可直接作为 Node.js Azure Monitor/OpenTelemetry 集成起点,覆盖多种常见任务;但没有该技能专属的代表性输出、验收标准或执行证据,若 API、初始化顺序或导出配置不匹配仍需人工校正,因此静态评估不超过 7 分并扣分。

6证据核验4 / 10 · 2.0/5

源文件包含具体包名、代码、环境变量和仓库 CI/测试基础设施,具备一定审计线索;但所给测试未覆盖该技能的关键路径,未提供针对该 SKILL.md 的验收套件、第三方执行结果或版本锁定证据,因此仅给有限可验证性。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 发送到 Application Insights/Azure Monitor 的遥测可能包含请求、异常、属性和日志中的敏感信息;部署前应明确数据分类、脱敏、采样、区域与保留策略。
  • 示例未给出依赖版本或兼容性矩阵;应核对当前 Node.js、OpenTelemetry 和 Azure SDK API,尤其是自定义 SpanProcessor 中对 attributes 和 traceFlags 的直接修改。
  • Custom logs ingestion 示例展示了向外部 Azure 端点上传日志,但未说明最小 RBAC 权限、失败后的重试/幂等策略或上传前验证。
  • 该评估仅读取源文件,未执行示例、安装依赖或验证 Azure 服务连接。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

这是一个面向 TypeScript 和 JavaScript Node.js 应用的 Azure Monitor OpenTelemetry 技能。它指导开发者使用自动插桩采集分布式追踪、指标和日志,并将遥测发送到 Application Insights。技能还涵盖 ESM 加载器、采样、离线存储、自定义资源、自定义 span 与手动导出器配置。若应用需要 Azure Monitor 可观测性,这个技能适合直接采用;若只需要通用 OpenTelemetry 或其他后端,它的内容则明显偏向 Azure。

指导安装 @azure/monitor-opentelemetry、@azure/monitor-opentelemetry-exporter 和 @azure/monitor-ingestion;配置 APPLICATIONINSIGHTS_CONNECTION_STRING 与可选的 AZURE_TOKEN_CREDENTIALS;在导入其他应用模块前调用 useAzureMonitor();通过 Node.js ESM loader 启用自动插桩;配置采样、Live Metrics、标准指标、性能计数器、离线存储和具体 instrumentation;创建自定义 span、counter、histogram 和 observable gauge;使用 Azure Monitor trace、metric、log exporter 手动导出;通过 LogsIngestionClient 上传自定义日志;配置自定义 SpanProcessor;在进程退出时调用 shutdownAzureMonitor()。

  1. Node.js 服务团队希望用少量初始化代码自动采集 HTTP、Azure SDK、数据库和日志库的 Application Insights 遥测。
  2. TypeScript 应用需要同时记录分布式追踪、指标和日志,并使用连接字符串发送到 Azure Monitor。
  3. ESM 项目运行在 Node.js 18.19+,需要通过 @azure/monitor-opentelemetry/loader 启用自动插桩。
  4. 高流量应用需要设置采样比例、离线存储和优雅关闭,以减少遥测开销并尽量避免数据丢失。
  5. 开发者需要为业务操作添加自定义 span、指标、属性或事件,或完全控制 OpenTelemetry exporter。
  6. 应用需要使用 Logs Ingestion API 将自定义日志写入 Azure Monitor。

这个 Skill 有哪些优点和局限?

优点
  • 覆盖自动插桩与手动 exporter 两种 OpenTelemetry 配置方式。
  • 同时涉及分布式追踪、指标、日志、采样、离线存储和优雅关闭。
  • 提供 TypeScript 示例,包含自定义 span、指标、资源和 SpanProcessor。
  • 明确强调必须在导入其他模块前调用 useAzureMonitor()。
局限
  • 内容主要针对 Azure Monitor 和 Application Insights,不是与后端无关的通用 OpenTelemetry 指南。
  • 运行示例依赖 Node.js、npm 以及 Azure Monitor 相关包和配置。
  • 源材料没有说明该具体技能的独立测试覆盖情况。
  • 示例要求用户自行准备 Application Insights 连接字符串、端点、规则 ID 等 Azure 配置。

如何安装这个 Skill?

安装整个技能集合:npx skills add microsoft/skills。根据向导选择所需技能;README 说明技能会安装到所选 agent 的目录,例如 GitHub Copilot 使用 .github/skills/,多 agent 配置可使用符号链接。源材料未提供仅安装 azure-monitor-opentelemetry-ts 的独立命令。运行时安装对应 npm 包:npm install @azure/monitor-opentelemetry;自定义 OpenTelemetry 导出时安装 npm install @azure/monitor-opentelemetry-exporter;自定义日志摄取时安装 npm install @azure/monitor-ingestion。

如何使用这个 Skill?

在 Node.js 应用中,将以下请求作为触发场景:为这个 TypeScript Node.js 服务接入 Azure Monitor OpenTelemetry,自动采集追踪、指标和日志,并使用 APPLICATIONINSIGHTS_CONNECTION_STRING 配置 Application Insights。实现时先调用 useAzureMonitor(),再导入其他应用模块;ESM 项目可使用 node --import @azure/monitor-opentelemetry/loader ./dist/index.js。生产环境若使用 DefaultAzureCredential,设置 AZURE_TOKEN_CREDENTIALS=prod。

这个 Skill 与同类方案有什么区别?

该技能将推荐的 @azure/monitor-opentelemetry 自动插桩方案,与低级别 @azure/monitor-opentelemetry-exporter 手动配置并列说明;前者适合快速接入,后者适合需要自行管理 OpenTelemetry provider 和 processor 的场景。

常见问题

这个技能是否适合非 Node.js 应用?
不适合。技能描述和示例均针对 JavaScript/TypeScript Node.js 应用。
使用自动插桩时最容易出错的地方是什么?
必须在导入其他应用模块之前调用 useAzureMonitor();ESM 项目还应按示例使用 loader。
是否必须使用连接字符串?
自动导出器和示例配置通过 APPLICATIONINSIGHTS_CONNECTION_STRING 设置连接字符串;源材料没有说明其他配置方式可以替代这一要求。
高流量应用如何控制遥测量?
可以设置 samplingRatio,例如 0.75 或 1.0,并结合离线存储;关闭应用前调用 shutdownAzureMonitor() 以刷新遥测。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Monitor Java 遥测导出器

将 Java 应用的 OpenTelemetry 遥测数据发送到 Azure Monitor。

开发与工程 ✓ Microsoft · 官方

Application Insights Web 监控技能

为浏览器和 React Native 应用接入 Application Insights,实现用户行为、请求、异常与 GenAI 链路监控。

开发与工程 ✓ Microsoft · 官方

Azure Monitor OpenTelemetry 导出器

为 Python 自定义 OpenTelemetry 管道提供发送遥测数据到 Application Insights 的低层导出能力。

开发与工程 ✓ Microsoft · 官方

Azure Monitor OpenTelemetry Python

用一行配置为 Python 应用接入 Application Insights 自动监控。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage TypeScript 技能

帮助 TypeScript/JavaScript 应用可靠地发送、接收和管理 Azure 队列消息。

开发与工程 ✓ Microsoft · 官方

Azure Application Insights 插桩指南

为 Azure 上的 ASP.NET Core 和 Node.js Web 应用提供 Application Insights 遥测集成指导。

开发与工程 ✓ Microsoft · 官方

Azure Web PubSub 实时通信技能

为 TypeScript 应用构建 WebSocket 实时消息、群组通信和通知功能。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 自定义日志采集

帮助 Python 编码代理通过 Logs Ingestion API 发送自定义日志。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Java 技能

用 Java 查询 Azure Monitor 日志与资源指标。

开发与工程 ✓ Microsoft · 官方

Azure PostgreSQL TypeScript 连接技能

帮助 Node.js/TypeScript 应用安全连接并高效使用 Azure PostgreSQL。

开发与工程 ✓ Microsoft · 官方

Azure Monitor Java 日志摄取

帮助 Java 应用通过 DCR 将自定义日志发送到 Azure Monitor。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 云端测试技能

在 Azure 云端浏览器上扩展 TypeScript Playwright 测试并发布结果。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB TypeScript 技能

为 TypeScript 和 JavaScript 编码代理提供 Cosmos DB 数据操作模式。

自动化与运维 ✓ Microsoft · 官方

Azure 生产诊断

系统排查 Azure 生产故障,定位根因并提出安全的修复建议。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs TypeScript 技能

帮助 TypeScript 开发者构建高吞吐、可分区且支持检查点的 Azure Event Hubs 流处理应用。

开发与工程 ✓ Microsoft · 官方

React Flow 节点构建助手

帮助你为 React Flow 工作流画布创建类型安全、可调整大小并接入 Zustand 的 React 节点组件。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage TypeScript 技能

为 TypeScript/JavaScript 应用提供 Azure Blob Storage 的上传、下载与管理实现范式。

开发与工程 ✓ Microsoft · 官方

Azure AI 内容安全 TypeScript 技能

帮助 TypeScript 应用检测有害内容并管理自定义拦截词。

相关 Skills