azure-monitor-opentelemetry-exporter-java
将 OpenTelemetry 遥测数据导出到 Azure Monitor
将 Java 应用程序与 Azure Monitor 集成以实现分布式追踪和遥测。使用 OpenTelemetry 标准将追踪、指标和日志导出到 Application Insights。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“azure-monitor-opentelemetry-exporter-java”。 生成使用环境变量初始化 OpenTelemetry 和 Azure Monitor 的代码
预期结果:
Java 代码片段展示 AutoConfiguredOpenTelemetrySdk 构建器配置,包含 AzureMonitorExporter.customize() 和从 APPLICATIONINSIGHTS_CONNECTION_STRING 环境变量获取连接字符串。
正在使用“azure-monitor-opentelemetry-exporter-java”。 如何在 OpenTelemetry span 中记录异常?
预期结果:
代码示例演示在 try-catch 块中使用 span.recordException(),通过 span.setStatus(StatusCode.ERROR) 设置错误状态,以及在 finally 块中正确管理 span 生命周期。
安全审计
安全All static analysis findings are false positives. The skill consists entirely of Markdown documentation (SKILL.md) with Java code examples for Azure Monitor OpenTelemetry integration. The 26 'external_commands' detections are Markdown backtick delimiters for code blocks, not shell execution. The 10 'network' findings are documentation URLs (GitHub, Microsoft Learn, Maven Central), not actual network calls. No executable code or security risks present.
质量评分
你能构建什么
DevOps 工程师监控 Java 应用程序
为在 Azure 上运行的微服务设置端到端分布式追踪。配置 OpenTelemetry 自动将追踪和指标导出到 Application Insights 以进行生产监控。
Java 开发人员实现可观测性
使用 OpenTelemetry API 向 Java 应用程序添加自定义检测。创建有意义的 span、记录异常并捕获业务指标以进行调试和性能分析。
云架构师设计遥测策略
评估 Azure 监控的 OpenTelemetry 集成模式。比较企业级 Java 应用程序组合的自动配置与手动设置方法。
试试这些提示
帮我设置 OpenTelemetry 以将遥测数据导出到 Azure Monitor。我有一个 Java Spring Boot 应用程序和一个 Application Insights 连接字符串。
展示如何使用 OpenTelemetry 在我的 Java 应用程序中创建带有属性的自定义 span。我需要追踪订单处理流程,包含订单 ID 和客户层级属性。
我的应用程序使用的是已弃用的 azure-monitor-opentelemetry-exporter。请指导我迁移到 azure-monitor-opentelemetry-autoconfigure,并提供代码示例。
我需要实现一个自定义 SpanProcessor,为所有 span 添加组织特定的属性并过滤掉健康检查端点。请展示完整的实现。
最佳实践
- 使用 autoconfigure 包而不是已弃用的直接导出器以简化设置
- 始终在 finally 块中结束 span 或使用 try-with-resources 进行正确的 Scope 管理
- 使用 recordException() 在 span 上记录异常并设置适当的错误状态码
避免
- 在新项目中使用已弃用的 azure-monitor-opentelemetry-exporter 包
- 在源代码中硬编码连接字符串而不是使用环境变量
- 创建 span 时没有适当的异常处理或在错误情况下未能结束 span