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

Azure Monitor OpenTelemetry TypeScript

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

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

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

可靠稳定6 / 20 · 1.5/5

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

适用触发8 / 15 · 2.7/5

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

规范维护8 / 15 · 2.7/5

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

有效结果6 / 15 · 2.0/5

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

证据核验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 服务连接。
查看完整评分方法 →

它能做什么 & 适用场景

这是一个面向 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。

优缺点一览

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

如何安装

安装整个技能集合: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。

如何使用

在 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。

对比同类

该技能将推荐的 @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 Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

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

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

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

相关 Skills