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

Azure Monitor数据收集器API PowerShell示例无数据显示问题求助

排查思路与解决方法

我之前帮别人处理过完全一致的问题,大概率是以下几个环节出了问题,你可以逐一排查:

  • JSON序列化深度限制
    PowerShell默认的ConvertTo-Json命令只支持2层深度的对象序列化,如果你的事件数据有更深的嵌套结构,会被直接截断,导致Log Analytics无法识别完整数据。解决方法是强制指定足够的深度参数:

    $body = $json | ConvertTo-Json -Depth 10
    

    官方示例没考虑复杂嵌套场景,这是很多人踩坑的高频点。

  • 时间戳格式不符合要求
    Log Analytics要求事件必须包含符合ISO 8601格式的TimeGenerated字段(UTC时间),如果缺少该字段或格式错误,数据可能被延迟处理甚至静默丢弃。你可以手动在JSON中添加这个字段:

    $json = @{
        TimeGenerated = (Get-Date).ToUniversalTime().ToString("o")
        # 你的其他自定义字段...
    }
    
  • 数据 ingestion 延迟
    虽然接口返回200 OK,但Log Analytics的数据 ingestion 不是实时的,通常需要15-30分钟才能在工作区中查询到数据。不要刚提交就立刻查询,建议等半小时后再刷新验证。

  • 自定义表结构识别延迟
    新创建的MyRecordType表,Log Analytics需要一点时间来自动识别并生成自定义属性。你可以多提交几条测试数据,或者在Log Analytics的「表」页面手动刷新表的结构。

  • PowerShell编码问题
    确保发送请求时使用UTF-8编码,避免因编码不一致导致数据解析失败:

    Invoke-RestMethod -Uri $uri -Method Post -Body $body -ContentType "application/json" -Headers $headers -Encoding UTF8
    

另外,你可以在PowerShell中添加调试输出,查看实际发送的JSON内容:

Write-Host $body

把这段JSON复制出来用C#代码提交测试,如果C#能成功,说明PowerShell生成的JSON存在格式问题,这样就能快速定位到具体问题点了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:42:30