Azure Monitor Java 遥测导出器
将 Java 应用的 OpenTelemetry 遥测数据发送到 Azure Monitor。
文档明确说明遥测会发送到 Azure Monitor/Application Insights,并使用连接字符串配置,未见恶意行为或过度权限要求;但未说明敏感属性过滤、数据保留、用户确认、网络出口控制或回滚方案,因此扣分。
安装、初始化、Span、指标和异常处理路径描述较完整,但目标包已弃用,示例仍混用旧 exporter 包与 autoconfigure,版本写法包含 beta.x/LATEST,且没有针对该技能关键路径的专门测试或失败诊断,因此静态评分受限。
面向 Java OpenTelemetry/Azure Monitor 场景,触发短语和迁移边界较清楚;但未充分说明不适用场景、运行时前置条件、依赖兼容性、中文支持或中国大陆网络可达性,因此扣分。
包含 front matter、MIT 许可、版本、作者、安装步骤、分层示例、迁移说明和参考资料;但缺少明确维护责任、变更日志、稳定版本策略、故障排查、数据治理限制,且使用 LATEST 等不稳定依赖表达,因此扣分。
可帮助用户理解遥测接入、创建 Span/指标及迁移方向,但目标包已弃用,部分示例可能与推荐包/API 不完全一致,且没有文件内可验证的实际输出或执行结果,预计仍需较多人工核验,因此扣分。
提供 Maven、GitHub、迁移指南、OpenTelemetry 和 Application Insights 等可审计参考类别,但本次仅有静态文件证据,没有针对关键示例的提交测试、CI 结果或多来源复现证据,因此只能给有限分数。
- 该技能针对已弃用包,迁移到 autoconfigure 应优先于照抄旧依赖。
- 不要将真实连接字符串或敏感业务属性硬编码;应确认遥测数据、出口网络、保留策略和合规要求。
- 示例中的 AzureMonitorExporter.customize、依赖版本及导入关系应在实际项目中按锁定版本和官方迁移指南核验。
- 中国大陆网络、Azure 区域端点和企业出口策略未在文件中验证,部署前需单独确认可达性与合规性。
它能做什么 & 适用场景
这是一项面向 Java 开发者的 Agent Skill,用于指导将 OpenTelemetry traces、metrics 和 logs 导出到 Azure Monitor 或 Application Insights。它涵盖 Maven 依赖、连接字符串、自动配置、创建和嵌套 spans、异常记录、span 属性、自定义 SpanProcessor 以及基础指标。该导出器包已被弃用,官方建议迁移到 azure-monitor-opentelemetry-autoconfigure。它适合维护旧集成或需要理解迁移路径的项目,不适合作为新项目的首选方案。
根据触发词提供 Java 配置示例:添加 Maven 依赖,使用 APPLICATIONINSIGHTS_CONNECTION_STRING 或显式连接字符串配置 OpenTelemetry,通过 AzureMonitorExporter.customize 接入 Azure Monitor;指导创建和结束 spans、设置属性、记录异常、建立父子 span 关系、注册自定义 SpanProcessor,并通过 OpenTelemetry 创建计数器和直方图。
- 维护使用 azure-monitor-opentelemetry-exporter 的 Java 应用,并需要确认现有遥测配置。
- 为 Java 服务添加 Application Insights 分布式追踪、指标和日志导出。
- 需要使用连接字符串初始化 OpenTelemetry 自动配置的 Java 开发者。
- 调试业务流程时,为 spans 增加订单、客户或请求等上下文属性。
- 需要记录异常、设置错误状态或通过 SpanProcessor 统一修改 spans 的工程团队。
- 将旧导出器集成迁移到 azure-monitor-opentelemetry-autoconfigure 的团队。
优缺点一览
- 覆盖 traces、metrics 和 logs 导出到 Azure Monitor/Application Insights。
- 提供连接字符串、自动配置、spans、属性、异常和指标的可复制 Java 示例。
- 包含自定义 SpanProcessor、嵌套 spans 和迁移步骤。
- 采用 MIT 许可,并由 Microsoft 发布。
- 目标导出器包已弃用,不能作为新项目的推荐长期方案。
- 部分示例使用 `1.0.0-beta.x` 或 `LATEST` 占位符,不能直接视为固定生产版本。
- 源材料没有提供该单项技能的平台测试结果或独立测试覆盖证据。
- 导出遥测需要 Azure Monitor/Application Insights 连接字符串和网络访问。
如何安装
安装整个仓库集合可运行 npx skills add microsoft/skills,再从向导中选择所需技能;README 说明技能会安装到所选 Agent 的目录,例如 .github/skills/。源材料没有提供该技能的独立安装命令。Java 项目中的旧依赖示例为 com.azure:azure-monitor-opentelemetry-exporter:1.0.0-beta.x,但新项目应使用 com.azure:azure-monitor-opentelemetry-autoconfigure。
如何使用
在支持 Agent Skills 的编码代理中使用触发词,例如 opentelemetry azure java、application insights java otel 或 azure monitor tracing java。按照技能示例设置 APPLICATIONINSIGHTS_CONNECTION_STRING,或在 Java 中传入显式连接字符串,然后使用 AutoConfiguredOpenTelemetrySdk 和 AzureMonitorExporter.customize 初始化。由于该包已弃用,应优先请求基于 autoconfigure 的实现或迁移方案。
对比同类
与已弃用的 azure-monitor-opentelemetry-exporter 相比,azure-monitor-opentelemetry-autoconfigure 是源材料明确推荐的替代方案,提供自动配置、常见库自动 instrumentation 和更好的 OpenTelemetry SDK 集成。