迁移至AKS后,Application Insights错误未显示在Failures标签求助
Azure Functions迁移至AKS后Application Insights Failures标签无异常数据的排查方案
核心排查方向
1. 明确:Log Analytics关联并非问题根源
AI关联Log Analytics只是扩展了数据存储和查询能力,不会导致Failures标签无法显示数据。问题大概率出在异常上报的完整性或数据关联规则上。
2. 验证异常是否真正上报至AI
直接通过Log Analytics查询exceptions表,确认异常数据是否存在:
exceptions | where timestamp > ago(1h) | project operation_Id, message, type, details
- 如果查询到数据:说明异常已上报,问题出在Failures标签的展示逻辑(比如时间范围、过滤条件),尝试调整标签页的时间范围,或切换到「所有失败」视图。
- 如果查询不到数据:说明异常未被AI捕获,需往下排查。
3. 检查函数的异常捕获与上报逻辑
- 对于未处理的异常:Azure Functions v2+默认AI集成会自动捕获,但如果函数内部用
try-catch吞掉了异常且未手动上报,AI不会记录。此时需要在catch块中添加TelemetryClient.TrackException(exception)代码。 - 确认函数代码中是否禁用了默认的AI异常追踪:比如是否设置了
DisableTelemetry属性,或自定义了TelemetryProcessor过滤掉了异常。
4. 确认AKS环境中的AI配置正确性
- 检查容器环境变量:确认
APPINSIGHTS_INSTRUMENTATIONKEY已正确注入,且值与AI实例的Instrumentation Key一致。 - 如果使用AKS Sidecar代理(Application Insights Agent for Kubernetes):确认Sidecar的配置是否开启了异常捕获,且与函数应用使用同一个Instrumentation Key。
5. 核对host.json的采样与追踪配置
你的host.json中已排除了Exception的采样,这部分配置是合理的,但需补充检查:
- 是否有环境变量(如
APPINSIGHTS_SAMPLING_PERCENTAGE)覆盖了采样设置,导致异常被采样丢弃。 - 确认
applicationInsights节点层级正确,没有被其他配置节点覆盖。
内容的提问来源于stack exchange,提问作者byteArrayJake
相关产品推荐
相关产品推荐

