当前位置: 首页 > news >正文

【App Service】排查App Service中发送Application Insights日志数据问题的神级脚本: Test-AppInsightsTelemetryFlow.ps1

问题描述

在 Azure Application Insights 故障排查过程中,经常会遇到这样一类典型问题:

  •  SDK 已经部署
  •  Connection String 已配置
  •  应用运行正常
  • 但 App Insights Portal 中完全没有任何日志数据(指标,请求记录,应用中输出的日志)

我们通常会问一个问题:“我的代码到底有没有成功把日志数据发到 Application Insights?”

遗憾的是,而我们几乎无法确定,且没有有效的工具来帮助定位问题,到底这个问题发生在那里呢?

  • 日志数据是在 SDK 层丢失?
  • 还是被网络拦截?
  • 还是 ingestion endpoint (https://chinanorth3-0.in.applicationinsights.azure.cn/v2/track) 不通?
  • .... .... 

 

问题解答

非常好的消息是,微软Application Insights团队提供了一个神级脚本 (Test-AppInsightsTelemetryFlow.ps1) , 可以在你的应用环境中通过执行PowerShell脚本来监测日志收集过程中的全部环节。

它的官方介绍:https://github.com/microsoft/appinsights-telemetry-flow

适用于 Azure Application Insights 的自助诊断脚本。

直接在运行您的应用程序的机器上,验证连接性、TLS、AMPLS/Private Link、数据引入、采样、工作区健康状况以及代理安装。

支持 PowerShell(Windows)和 Bash(Linux)。

遥测流程概览

从宏观层面来看,遥测数据从您的应用程序(或此诊断脚本)出发,依次流经以下阶段:

image

每个方框代表一个层,该层可能会独立发生故障、性能下降或静默丢失数据。脚本会从上到下测试每一层。

要详细了解每一层的功能、故障原因以及脚本如何检测故障,请参阅官方文档中的架构介绍部分: https://github.com/microsoft/appinsights-telemetry-flow/blob/main/docs/architecture.md , 本文主要是通过在中国区Azure的App Service上演示如何使用这个神级脚本:Test-AppInsightsTelemetryFlow.ps1

 

实际演示

第一步:登录App Service的Kudu站点( https://<your app service name>.scm.chinacloudsites.cn ),进入Debug Console Powershell

使用脚本尝试下载脚本Test-AppInsightsTelemetryFlow.ps1 

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/microsoft/appinsights-telemetry-flow/main/powershell/Test-AppInsightsTelemetryFlow.ps1" -OutFile "Test-AppInsightsTelemetryFlow.ps1"

因为中国区Azure App Service的所在的环境访问github会出现连不上的情况,所以可以在一个稳定访问github的环境中下载这个脚本文件后,直接拖拽到App Service上或通过新建文件把脚本内容复制上去也可。

PS: 也可以从这里下载脚本文件:https://files.cnblogs.com/files/lulight/Test-AppInsightsTelemetryFlow.zip?t=1776861726&download=true

image

 

第二步:直接运行 .\Test-AppInsightsTelemetryFlow.ps1 并检查运行结果

执行  .\Test-AppInsightsTelemetryFlow.ps1  或者  .\Test-AppInsightsTelemetryFlow.ps1 -AutoApprove

然后进入Application Insights中查看 availabilityResults 中是否有数据

image

 

演示动画

 test ai telementry flow

 

 

参考资料

Application Insights Telemetry Flow Troubleshooters :https://github.com/microsoft/appinsights-telemetry-flow

 

http://www.jsqmd.com/news/683832/

相关文章:

  • 少儿中国舞老师的教学经验重要吗?
  • 从Blender到Vulkan:用tiny_obj_loader在C++中高效解析OBJ模型(附完整代码)
  • 裁剪到市!全球17种土地类型数据集(全球/中国/分省/分市/Tif)
  • 电路板振动如何“看”得见?揭秘DIC技术在模态分析中的实战应用
  • RWKV7-1.5B-world实战手册:huggingface-hub 0.27.1与transformers 4.48.3版本锁死验证
  • L1-019 谁先倒
  • 别再只调包了!手把手带你用Python复现DeepSort核心匹配逻辑(附完整代码)
  • 机器学习规模化实践:从规则引擎到生产部署
  • 告别龟速下载!手把手教你用清华镜像离线安装PyTorch 2.2.0 + CUDA 11.8(3DGS环境必备)
  • Phi-3-mini-4k-instruct-gguf效果惊艳:在HumanEval Python代码生成任务中通过率超72%
  • UIAbility生命周期全解析
  • 2026年Flutter热更新主流方案盘点与选型指南
  • 别再混淆了!一文讲透POCV文件、LVF库与AOCV在项目中的真实使用场景
  • 紫光同创PGL50H开发板PCIE通信实战:从IP核安装到设备识别的保姆级避坑指南
  • 别再只当Jira平替了!用OpenProject社区版搭建个人项目管理中心(附Docker Compose配置)
  • 告别H.265专利费!手把手教你用FFmpeg 5.0+libaom体验AV1编码(附性能对比)
  • 拉霸动画,老虎机滚动抽奖,cocos creator
  • 如何在无向图中找出从任意节点可达的所有节点(连通分量识别)
  • 20260422 紫题训练
  • 告别屏幕抢占!用Unity和C#脚本实现多屏展示的‘和平共存’方案
  • 负责任的定制软件开发公司解决方案商
  • 别再手动拼接SQL了!MyBatis-Plus的apply方法,5分钟搞定动态日期查询
  • Qt实战:基于QTableView的冻结表头技术实现与性能优化
  • AI 编程的终极形态:不是更聪明的模型,而是更聪明的协作
  • 双检时代不焦虑:百考通AI论文助手,科学应对查重与AIGC双重挑战
  • 从Hystrix迁移到Sentinel:Spring Cloud微服务限流降级实战避坑指南
  • Openclaw 高效数据采集实战指南
  • FrontPage练习题(5)
  • OpenClaw 安装教程 Windows 系统 AI 智能体快速配置
  • 从X Window到现代远程桌面:一文搞懂Linux DISPLAY原理与xhost的演进