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

Azure App Insights基于日志指标正常但标准指标缺失的排查求助

Azure App Insights标准指标中断排查及日志/标准指标采集差异

一、基于日志的指标与标准指标的采集差异

  • 数据来源与触发逻辑
    • 基于日志的指标:由App Insights NLog Target捕获应用日志后,Azure后台对日志数据进行聚合计算生成指标,本质是日志数据的二次加工,完全依赖日志的正常上报。
    • 标准指标(如请求时长、失败率、依赖调用指标等):由App Insights SDK自动采集,通过埋点捕获应用运行时的原生事件(如HTTP请求、数据库调用),无需依赖日志输出,是SDK直接上报的原生聚合数据。
  • 依赖组件不同
    • 基于日志的指标:仅需配置NLog Target正确指向App Insights,确保日志能正常发送即可,不依赖App Insights SDK的核心监控模块。
    • 标准指标:依赖对应语言的App Insights SDK核心包(如.NET的Microsoft.ApplicationInsights.AspNetCore),需要SDK完成初始化且相关采集开关未被禁用。
  • 传输路径差异
    • 基于日志的指标:日志数据先发送到App Insights的日志 ingestion 端点,后台再转换为指标存储。
    • 标准指标:SDK直接将聚合后的指标数据发送到App Insights的指标 ingestion 端点,传输链路更直接,与日志传输相互独立。

二、标准指标中断的排查步骤

  1. 检查App Insights SDK初始化状态
    • 确认应用中SDK的初始化代码未被意外注释或修改,比如是否存在TelemetryConfiguration被重置、InstrumentationKey配置失效的情况。
    • 排查SDK版本,若版本过旧可能存在兼容性问题,可尝试临时升级到最新稳定版测试。
  2. 验证SDK采集配置
    • 查看应用配置文件(如appsettings.json)或代码中的SDK配置,确认标准指标相关采集开关未被禁用,示例配置:
      "ApplicationInsights": {
        "InstrumentationKey": "your-instrumentation-key",
        "EnableRequestTracking": true,
        "EnableDependencyTracking": true,
        "EnablePerformanceCounterCollectionModule": true
      }
      
  3. 排查应用本地日志
    • 查看应用自身运行日志,是否存在App Insights SDK相关报错,比如网络连接失败、权限不足、序列化错误等,这类问题会直接导致SDK无法上报标准指标。
  4. 核查Azure端配置与配额
    • 登录Azure门户进入目标App Insights资源,检查是否有指标采集规则被修改或禁用;同时查看指标 ingestion 配额使用情况,若配额耗尽会导致标准指标无法上报(日志与指标配额相互独立)。
  5. 测试SDK基础上报能力
    • 在应用中添加测试代码,手动发送自定义指标验证SDK功能:
      var telemetryClient = new TelemetryClient();
      telemetryClient.TrackMetric("TestCustomMetric", 50);
      telemetryClient.Flush();
      
    • 若自定义指标能正常出现在App Insights中,说明SDK核心功能正常,问题可能出在自动采集的触发逻辑上;若无法上报,说明SDK初始化或传输链路存在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:32:46