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

PowerShell查询Azure Application Insights无数据返回问题求助

排查Azure Application Insights查询脚本返回空结果的问题

1. 修正请求体参数的大小写

Azure Application Insights查询API对请求体参数名大小写敏感,要求使用小写的query,而你的脚本中用了大写的"Query",这会导致API无法识别查询语句,直接返回空结果。

修改脚本参数名:

$query = @{
    "timespan"="P7D"
    "query" = "exceptions"  # 将Query改为小写query
} | ConvertTo-Json

2. 校验时间范围的时区差异

API使用UTC时间解析timespan参数,而Azure门户默认使用你的本地时区。如果异常数据落在本地时区的7天范围内,但超出了UTC的7天范围,脚本就会查不到数据。

可以尝试扩大时间范围,或明确指定UTC时间区间:

"timespan"="2024-05-01T00:00:00Z/2024-05-08T00:00:00Z"

3. 确认API密钥有效性

  • 重新生成一个带“读取遥测”权限的API密钥,避免密钥过期或权限配置错误。
  • 检查API密钥是否绑定到目标Application Insights实例,确保没有选错资源。

4. 验证App ID的正确性

在脚本中添加输出语句,确认获取到的App ID与门户显示的一致:

$component = Get-AzApplicationInsights -ResourceGroupName $appInsResourceGroupName -Name $appInsName
Write-Host "App ID: $($component.AppId)"

若App ID不符,检查$appInsResourceGroupName和$appInsName变量是否完全匹配资源实际名称(注意大小写和特殊字符)。

5. 检查资源的网络限制

如果Application Insights实例配置了IP防火墙或虚拟网络访问限制,脚本运行机器的IP可能不在允许列表中,导致API请求被拦截(可能返回空结果或403错误)。

在门户进入Application Insights的「网络」设置,确认是否允许API密钥访问,或添加脚本运行机器的IP到允许列表。

6. 查看API请求的详细响应

修改脚本输出完整响应信息,帮助定位问题:

try {
    $response = Invoke-WebRequest -Method POST -Uri https://api.applicationinsights.io/v1/apps/$($component.AppId)/query -ContentType application/json -Body $query -Headers @{"X-Api-Key"=$apiKey}
    Write-Host "状态码: $($response.StatusCode)"
    Write-Host "响应内容: $($response.Content)"
} catch {
    Write-Host "请求错误: $_"
    Write-Host "错误响应: $($_.Exception.Response)"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:20:17