开发与工程 ✓ Microsoft · 官方 azure-monitorapplication-insightsopentelemetrypythonauto-instrumentationazure-identity

Azure Monitor OpenTelemetry Python

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

FollowSkills 评估 · FSRS-2.0
不推荐
45/ 100 五分制 2.3 / 5
1 2 3 4 5 6
1信任安全12 / 25 · 2.4/5

文档建议使用 DefaultAzureCredential、生产环境限制凭据链,并将连接字符串放入环境变量,体现了一定的最小暴露和认证意识;但未说明遥测数据流、敏感字段脱敏、采集范围、用户确认、回滚或出口控制,因此扣分。

2可靠稳定7 / 20 · 1.8/5

安装命令、基础配置和多种框架示例使快乐路径可信;但主文档中的 instrumentations 参数与参考文档中的 instrumentation_options 不一致,生命周期清理仅作原则说明而没有完整可复现示例,异常输入和失败反馈也未覆盖。静态评估上限内给分。

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

触发词、Python 包和主要使用场景较明确,覆盖 Flask、Django、FastAPI 及自定义遥测;但未清楚声明不适用范围、版本兼容边界、敏感数据注意事项或中国大陆网络环境,且核心功能依赖 Azure Application Insights 服务可达性,因此扣分。

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

具有 front matter、MIT 许可证、版本号、安装说明、参数表、最佳实践和分层参考文件,结构较清晰;但缺少变更日志、明确维护责任与更新路径、故障排查、版本锁定和完整限制说明,且两个文档对 API 参数存在命名不一致。

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

可直接帮助用户完成基础 Application Insights 自动埋点,并提供常见框架、采样、角色名和认证示例;但多个示例未展示必需的连接字符串设置或退出时 flush/shutdown,关键参数冲突可能导致代码需要人工校正,替代方案和实际结果验证也未提供。

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

源文件提供了可审计的代码片段、参数表、仓库许可证和通用 CI/测试材料;但没有该技能专属的验收测试、执行结果或第三方交叉验证,且部分 API/能力声明在文件之间不一致,故仅给有限静态证据分。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 主文档的 instrumentations 与参考文档的 instrumentation_options 参数不一致,使用前应核对当前 azure-monitor-opentelemetry API。
  • 遥测可能包含请求、日志、异常和自定义属性;文档未提供敏感数据过滤、采样边界或数据驻留说明。
  • 生产部署应补充连接字符串注入、凭据权限范围以及进程退出时 force_flush/shutdown 的完整实现,并确认中国大陆网络可达性。
查看完整评分方法 →

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

该技能指导 Python 开发者使用 Azure Monitor OpenTelemetry Distro,为应用接入 Application Insights。它覆盖 Flask、Django、FastAPI 以及多种数据库和 HTTP 库的自动追踪,并支持自定义 traces、metrics 和 logs。技能还说明了 Microsoft Entra 身份验证、采样、云角色名、Live Metrics 和指定 instrumentation 的配置方式。生产环境需要通过环境变量提供连接字符串,并在进程退出时显式刷新和关闭 telemetry providers。

指导安装 azure-monitor-opentelemetry,并通过 configure_azure_monitor() 初始化 Application Insights。它读取 APPLICATIONINSIGHTS_CONNECTION_STRING,支持使用 DefaultAzureCredential 或指定 Azure 凭据进行 ingestion 身份验证。它提供 Flask、Django、FastAPI 集成示例,以及自定义 span、metric、log、采样比例、云角色名、Live Metrics 和 instrumentation 列表的配置示例。

  1. Python Web 应用开发者希望用最少代码为 Flask、Django 或 FastAPI 服务接入 Application Insights。
  2. 平台工程师需要为使用 Requests、httpx、数据库客户端或 Redis 的服务启用自动追踪。
  3. 生产环境团队希望使用 Microsoft Entra 身份验证,而不是仅依赖 instrumentation key。
  4. 高流量应用开发者需要设置采样比例,并为多服务系统配置 Application Map 的云角色名。

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

优点
  • 提供 Flask、Django、FastAPI 的直接示例。
  • 覆盖 traces、metrics 和 logs 的自定义遥测。
  • 支持 DefaultAzureCredential、采样、Live Metrics、云角色名和指定 instrumentation。
  • 明确给出生产环境身份验证与遥测刷新建议。
局限
  • 源材料没有提供版本兼容矩阵、测试结果或故障排查指南。
  • 没有说明 Azure 资源创建、Entra 权限配置或 Application Insights 费用。
  • 框架和库的自动 instrumentation 范围仅限列出的组件,不能据此推断支持其他库。

如何安装这个 Skill?

先在 Agent Skills 兼容客户端中安装集合:运行 npx skills add microsoft/skills,在向导中选择所需技能。README 说明技能会安装到所选 agent 的目录,例如 GitHub Copilot 使用 .github/skills/。在 Python 项目中安装运行时包:pip install azure-monitor-opentelemetry

如何使用这个 Skill?

可用触发语句:请为这个 Python 服务配置 azure-monitor-opentelemetry 和 Application Insights 自动 instrumentation。代码中导入 configure_azure_monitor,并尽早调用 configure_azure_monitor(credential=DefaultAzureCredential());设置 APPLICATIONINSIGHTS_CONNECTION_STRING。生产环境还应设置 AZURE_TOKEN_CREDENTIALS=prod 或指定凭据,并在进程退出时调用 provider 的 force_flush()shutdown()

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

相较于仅使用 instrumentation key 的认证方式,该技能推荐使用 DefaultAzureCredential 进行 Microsoft Entra 身份验证;连接字符串仍用于标识 Application Insights 资源。

常见问题

这个技能是否会自动创建 Application Insights 资源?
不会。源材料只说明如何配置 Python Distro、连接字符串和凭据,没有提供资源创建步骤。
生产环境必须配置哪些变量?
APPLICATIONINSIGHTS_CONNECTION_STRING 对所有认证方式都是必需的;使用 DefaultAzureCredential 时,生产环境还应设置 AZURE_TOKEN_CREDENTIALS=prod 或指定凭据。
应用退出时需要做什么?
Providers 不是 context managers;应在进程退出时显式调用 force_flush() 或 shutdown(),以确定性地导出缓冲遥测。
这个技能是否说明了费用或所需 Azure 权限?
没有。源材料未说明定价,也未列出具体的 Entra 权限要求。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Monitor OpenTelemetry 导出器

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

开发与工程 ✓ Microsoft · 官方

Azure Monitor Java 遥测导出器

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

开发与工程 ✓ Microsoft · 官方

Azure Monitor OpenTelemetry TypeScript

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

开发与工程 ✓ Microsoft · 官方

Application Insights Web 监控技能

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

开发与工程 ✓ Microsoft · 官方

Azure Data Lake Gen2 Python 技能

帮助 Python 开发者使用 Azure Data Lake Storage Gen2 管理分层文件系统、目录和大数据文件。

开发与工程 ✓ Microsoft · 官方

Azure Application Insights 插桩指南

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

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

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

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

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

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

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

开发与工程 ✓ Microsoft · 官方

Azure Monitor 自定义日志采集

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

开发与工程 ✓ Microsoft · 官方

Azure Bot Service Python 管理技能

用 Python 创建、管理和配置 Azure Bot Service 机器人及其通信渠道。

开发与工程 ✓ Microsoft · 官方

Azure Web PubSub Python 技能

帮助 Python 开发者构建基于 WebSocket 的 Azure 实时消息与发布订阅功能。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Python 技能

为 Python 应用提供高吞吐事件流的发送、接收与检查点模式。

开发与工程 ✓ Microsoft · 官方

Azure Monitor Java 日志摄取

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

开发与工程 ✓ Microsoft · 官方

Microsoft Foundry Python 项目技能

为编码代理提供使用 Azure AI Projects Python SDK 构建 Foundry AI 应用的可靠模式。

开发与工程 ✓ Microsoft · 官方

Azure Service Bus Python 技能

为 Python 开发者提供 Azure Service Bus 队列与发布/订阅消息模式的实用指导。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

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

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

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

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Rust 技能

帮助 Rust 开发者使用官方 Azure SDK 构建安全的队列消息处理流程。

开发与工程 ✓ Microsoft · 官方

Fabric 容量管理助手(.NET)

用 .NET 通过 Azure Resource Manager 管理 Microsoft Fabric 容量。

相关 Skills