开发与工程 ✓ Microsoft · 官方 pythonopentelemetryapplication-insightsazure-monitortelemetry-exportentra-authenticationoffline-storage

Azure Monitor OpenTelemetry 导出器

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

FollowSkills 评估 · FSRS-2.0
不推荐
49/ 100 五分制 2.5 / 5
信任安全15 / 25 · 3.0/5

文档明确建议使用 DefaultAzureCredential、限制生产凭据链、避免直接使用 instrumentation key,并说明遥测会发送到 Application Insights;但未说明遥测内容可能包含敏感数据、数据保留/脱敏、最小 RBAC 权限、用户确认、外部网络影响或恢复边界,因此扣分。未发现恶意行为、凭据窃取、隐蔽外传或破坏性默认设置。

可靠稳定7 / 20 · 1.8/5

安装、认证、三类导出器、离线存储和关闭流程说明形成了合理的快乐路径,且给出部分失败重试配置;但没有该技能专属测试、版本兼容矩阵、异常输入处理或可诊断错误反馈。文档要求退出时 flush/shutdown,却多数示例未实际展示,因而扣分。静态校准限制分数不超过10。

适用触发9 / 15 · 3.0/5

名称、触发词、Python 用户群体和低级导出器定位清晰,并区分 distro 与自定义管线;但未明确不适用场景、输入/输出契约、语义触发边界或中文使用说明,也未讨论中国大陆网络、Azure 区域与代理环境适配,因此扣分。

规范维护9 / 15 · 3.0/5

Front matter 提供 MIT 许可证、作者和 1.0.0 版本,目录分出主文档与参考场景,且仓库 README、许可证、CI 和安全报告路径提供了一定治理信号;但缺少 changelog、依赖版本、维护负责人/更新流程、常见故障排查和完整限制说明,引用路径与内容存在重复,因而扣分。

有效结果6 / 15 · 2.0/5

示例覆盖 trace、metric、log、AAD、采样、离线存储和主权云,能直接帮助用户搭建核心导出流程;但缺少完整依赖安装、敏感遥测治理、统一 shutdown 示例和可验证的代表性运行结果,用户仍需审查和补全,故未给高于静态上限7的分数。

证据核验3 / 10 · 1.5/5

文档包含具体 API、环境变量和配置示例,仓库提供通用 CI、评估工作流和测试基础设施;但给定材料没有该技能专属测试、执行结果、版本锁定或第三方交叉验证,结论主要依赖作者文档,因此扣分。静态校准限制分数不超过5。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 遥测可能包含应用日志、异常、属性和请求数据;部署前应确认脱敏、采样、保留期限、RBAC 和跨境/区域数据传输要求。
  • 示例未完整展示 provider.shutdown()/force_flush(),且安装命令未明确列出 azure-identity 与 OpenTelemetry 依赖及兼容版本;应在目标环境中验证。
  • 触发词较窄,未说明与 azure-monitor-opentelemetry distro、同步/异步用法及中国大陆网络或主权云限制的详细边界。
查看完整评分方法 →

它能做什么 & 适用场景

该技能面向需要在 Python 中构建自定义 OpenTelemetry 管道的开发者。它指导使用 Azure Monitor OpenTelemetry Exporter 将 traces、metrics 和 logs 发送到 Application Insights。技能涵盖 Microsoft Entra 身份验证、采样、离线重试存储、主权云以及显式刷新和关闭遥测提供程序。若只需要快速配置和自动插桩,源材料建议优先使用 azure-monitor-opentelemetry 分发包。

指导安装 azure-monitor-opentelemetry-exporter Python 包,读取 APPLICATIONINSIGHTS_CONNECTION_STRING 以定位 Application Insights 资源,并可使用 DefaultAzureCredential 或指定的 Azure 凭据进行摄取身份验证。它配置 AzureMonitorTraceExporter、AzureMonitorMetricExporter 和 AzureMonitorLogExporter,分别发送 traces/spans、metrics 和 logs。它还展示如何配置 BatchSpanProcessor、PeriodicExportingMetricReader、BatchLogRecordProcessor、ApplicationInsightsSampler,以及离线存储、重试和主权云连接。

  1. 需要精细控制 OpenTelemetry 管道的 Python 应用开发者,可配置 traces、metrics 和 logs 的独立导出器。
  2. 希望使用 Microsoft Entra 身份验证而非 instrumentation key 将遥测数据发送到 Application Insights 的团队。
  3. 生产环境中需要批量导出、采样和网络失败后离线重试的服务维护者。
  4. 部署到 Azure Government 等主权云环境、需要指定 authority 和 ingestion endpoint 的开发者。
  5. 已经使用 OpenTelemetry SDK、但不需要完整自动插桩分发包的 Python 项目。

优缺点一览

优点
  • 覆盖 traces、metrics 和 logs 三类遥测数据。
  • 支持 DefaultAzureCredential、指定 Azure 凭据、采样、离线存储和主权云。
  • 提供可直接参考的 Python 配置示例和生产实践建议。
  • MIT 许可,且仓库处于积极开发维护状态。
局限
  • 这是低层自定义导出器技能,不是快速自动插桩方案。
  • 需要自行管理 OpenTelemetry providers 的刷新和关闭生命周期。
  • 源材料没有提供该单个技能的独立测试覆盖或兼容版本矩阵。
  • 使用离线存储时需要配置本地存储路径,并涉及本地文件系统。

如何安装

先安装集合:运行 npx skills add microsoft/skills,并在向导中选择此技能;技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用的 .github/skills/。在 Python 项目中再运行:pip install azure-monitor-opentelemetry-exporter。源材料未说明其他 Agent 的具体安装路径。

如何使用

可用触发语句:"azure-monitor-opentelemetry-exporter"、"AzureMonitorTraceExporter"、"AzureMonitorMetricExporter" 或 "AzureMonitorLogExporter"。设置 APPLICATIONINSIGHTS_CONNECTION_STRING;使用 DefaultAzureCredential 时,生产环境还应设置 AZURE_TOKEN_CREDENTIALS=prod 或指定凭据。根据需要配置 trace、metric 或 log exporter,并在进程退出时调用 provider.shutdown() 或 force_flush()。

对比同类

与 azure-monitor-opentelemetry 分发包相比,此技能适合自定义 OpenTelemetry 管道和精细控制;分发包适合快速设置和自动插桩。

常见问题

这个技能是否适合只想快速接入 Application Insights 的项目?
不一定。源材料建议快速设置和自动插桩使用 azure-monitor-opentelemetry;此技能主要面向自定义管道和精细控制。
必须使用 instrumentation key 吗?
不必须。技能建议使用 APPLICATIONINSIGHTS_CONNECTION_STRING 定位资源,并使用 DefaultAzureCredential 或其他 Azure 凭据进行 Microsoft Entra 身份验证。
网络失败时遥测数据会怎样?
默认启用离线存储以支持重试,也可以设置 storage_directory;若设置 disable_offline_storage=True,则失败时不进行重试存储。
使用它是否需要支付额外费用?
源材料只说明仓库采用 MIT 许可,没有说明 Application Insights 或 Azure 服务的定价。

同仓库的其他 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