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

Azure CLI与Application Insights门户日志查询结果不一致的原因排查

Azure CLI查询Application Insights无结果的原因及解决方法

核心差异原因

1. --start-time参数的范围冲突

Azure CLI的az monitor app-insights query命令中,--start-time参数会强制限定查询的时间窗口。你设置的--start-time 2023-07-01,但KQL内部定义的startTime是转换后的2023-07-27 UTC时间,该时间不在2023-07-01对应的查询范围内,直接导致返回空结果。而门户的Logs查询没有这个额外参数限制,所以能正常命中目标时间段的数据。

2. KQL语句逻辑不完整

你在CLI中使用的KQL仅过滤了success == false,但缺少门户查询中关键的时间范围过滤条件:| where timestamp >= startTime and timestamp <= startTime + 1h。即使去掉--start-time,也会查询全量的失败请求,和门户的统计逻辑完全不一致。

3. 字符串引号的Shell转义问题

CLI命令中KQL的datetime("2023-07-27 16:47:03")使用了双引号,在bash等Shell环境下可能被解析为变量或转义,导致datetime值解析错误,无法正确生成目标时间戳。

修正后的CLI命令示例

移除冲突的--start-time参数,补全KQL逻辑,并修正引号转义:

az monitor app-insights query --resource-group XXXXXX --app [应用实例名称] --analytics-query 'let startTime = datetime_local_to_utc(datetime('\''2023-07-27 16:47:03'\'','\''Canada/Eastern'\'');
requests
| where timestamp >= startTime and timestamp <= startTime + 1h
| where success == false
| summarize FailedRequestsCount = count()
| extend StartTimeUTC = format_datetime(startTime, '\''yy-MM-dd h:mm tt'\'')'

(注:Shell中单引号内部的单引号需要用\'转义)

或者保留--start-time,但确保其覆盖目标时间段:

az monitor app-insights query --resource-group XXXXXX --app [应用实例名称] --start-time 2023-07-27 --end-time 2023-07-28 --analytics-query 'let startTime = datetime_local_to_utc(datetime('\''2023-07-27 16:47:03'\'','\''Canada/Eastern'\'');
requests
| where timestamp >= startTime and timestamp <= startTime + 1h
| where success == false
| summarize FailedRequestsCount = count()
| extend StartTimeUTC = format_datetime(startTime, '\''yy-MM-dd h:mm tt'\'')'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:36:08