You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Application Insights未显示SpringBoot应用指标求助

排查Spring Boot应用Azure Application Insights指标未显示问题

已完成的配置操作

  • 添加Maven依赖:
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-core</artifactId>
    <version>3.5.3</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-runtime-attach</artifactId>
    <version>3.5.3</version>
</dependency>
  • 应用启动时调用ApplicationInsights.attach();
  • 配置applicationinsights.json文件:
{
  "connectionString": "<actual-connection-string>",
  "role": {
    "name": "SampleApp-1",
    "instance": "SampleApp-1-Instance01"
  },
  "sampling": {
    "percentage": 100
  },
  "jmxMetrics": [],
  "customDimensions": {},
  "instrumentation": {
    "logging": {
      "level": "INFO"
    },
    "micrometer": {
      "enabled": true
    }
  },
  "proxy": {},
  "preview" : {
    "profiler" : {
      "enabled" : true
    }
  },
  "selfDiagnostics": {
    "destination": "file+console",
    "level": "DEBUG",
    "file": {
      "path": "applicationinsights.log",
      "maxSizeMb": 5,
      "maxHistory": 1
    }
  }
}

问题现象

  • Live metrics和Application Map仪表盘中无应用数据
  • Spring Boot Actuator配置的指标未被采集显示
  • 服务日志显示Telemetry已尝试发送到 ingestion service(关键日志片段如下):
2024-06-25 15:20:46.361+01:00 DEBUG c.a.m.o.e.i.p.TelemetryItemExporter - sending telemetry to ingestion service:
{"ver":1,"name":"Metric","time":"2024-06-25T14:20:42.871Z","iKey":"1873fa04-f24d-4b11-805e-127b57d426bf","tags":{"ai.internal.sdkVersion":"ra_java:3.5.3","ai.cloud.roleInstance":"SampleApp-1-Instance01","ai.cloud.role":"SampleApp-1"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"\\Process(??APP_WIN32_PROC??)\\% Processor Time","value":0.15297564344634373}]}}}
{"ver":1,"name":"Metric","time":"2024-06-25T14:20:42.871Z","iKey":"1873fa04-f24d-4b11-805e-127b57d426bf","tags":{"ai.internal.sdkVersion":"ra_java:3.5.3","ai.cloud.roleInstance":"SampleApp-1-Instance01","ai.cloud.role":"SampleApp-1"},"data":{"baseType":"MetricData","baseData":{"ver":2,"metrics":[{"name":"\\Process(??APP_WIN32_PROC??)\\% Processor Time Normalized","value":0.15297564344634373}]}}}

排查步骤

1. 验证Connection String有效性

  • 确认applicationinsights.json中的connectionString与Azure Portal中Application Insights实例的连接字符串完全一致,无多余空格或特殊字符。
  • 可在Azure Portal的"API Access"页面重新生成连接字符串替换现有配置。

2. 检查网络连通性

  • 应用服务器需能访问Azure Application Insights的 ingestion 端点(如https://dc.applicationinsights.azure.com/),排查防火墙或代理是否拦截出站请求。
  • 可在服务器执行以下命令测试连通性:
curl -v https://dc.applicationinsights.azure.com/v2/track

3. 确认Runtime Attach方式的兼容性

  • Runtime Attach方式(applicationinsights-runtime-attach依赖)要求JDK版本在1.8-17之间,且Spring Boot版本与SDK兼容,检查你的环境是否符合要求。
  • 建议替换为Spring Boot专属的自动配置依赖,简化集成:
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-spring-boot-starter</artifactId>
    <version>3.5.3</version>
</dependency>

替换后移除ApplicationInsights.attach();代码,Spring Boot会自动完成初始化。

4. 完善Actuator指标采集配置

  • 确保已添加Spring Boot Actuator依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  • 在application.properties中开启Actuator端点:
management.endpoints.web.exposure.include=*
management.endpoint.metrics.enabled=true
  • 确认applicationinsights.json中instrumentation.micrometer.enabled已设为true,确保Micrometer桥接生效。

5. 排查Telemetry发送失败原因

  • 将applicationinsights.json中selfDiagnostics.level改为TRACE,查看是否有HTTP错误(如401、403、500)或权限相关日志。
  • 确认Application Insights实例的连接字符串对应的密钥具备发送Telemetry的权限(默认权限足够,若配置了RBAC需额外验证)。

6. 检查Azure Portal数据筛选条件

  • 在Live metrics和Metrics页面,确认筛选的Cloud Role Name为SampleApp-1,时间范围覆盖应用运行时段,避免因筛选规则导致数据不显示。
  • Metrics数据存在几分钟延迟,等待一段时间后再刷新页面查看。

内容的提问来源于stack exchange,提问作者Karan Khanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:04:51