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

Azure Logic Apps向Log Analytics注入日志失败问题求助

问题根源与解决方案

你的核心问题是混淆了两种Log Analytics数据引入机制:你创建的是基于数据收集规则(DCR)和数据收集端点(DCE)的现代自定义表,但使用的是旧版的「Log Analytics Data Collector API」操作,这两者不兼容,导致返回200但数据无法写入目标表。

正确实现步骤

1. 明确机制差异

  • 旧版Data Collector API:直接写入传统自定义表(无需DCR/DCE),使用Workspace ID和密钥认证。
  • 现代DCR/DCE引入:通过绑定的DCR处理数据转换和路由,必须调用DCR专属的引入端点,使用Azure AD令牌或SAS认证,不能用旧版的Workspace密钥。

2. 替换Logic Apps中的操作

删除原有的「Log Analytics Data Collector API」动作,改用HTTP动作,配置如下:

  • 请求URL:从你的DCR「概览」页面复制「数据引入端点」(格式示例:https://eastus.ods.opinsights.azure.com/api/logs?api-version=2021-11-01-preview)
  • 请求方法:POST
  • 请求头:
    • Content-Type: application/json
    • x-ms-dcr-id: 你的DCR资源ID(格式:/subscriptions/{订阅ID}/resourceGroups/{资源组名}/providers/Microsoft.Insights/dataCollectionRules/{DCR名称})
    • Authorization: 使用Azure AD服务主体生成的Bearer令牌(推荐),或DCR的共享访问签名(SAS)
  • 请求体:将你的数据包裹在数组中(支持批量写入):
    [
      {
        "Time": "2023-11-06T07:34:00Z",
        "Value": "passed"
      }
    ]
    

3. 配置权限

确保Logic Apps的托管标识(或你使用的服务主体)拥有以下权限之一:

  • 针对DCR或资源组的「监视数据引入者」角色
  • 细粒度权限:Microsoft.Insights/dataCollectionRules/preview/Write

4. 排查引入错误

如果数据仍未出现,在Log Analytics中查询引入日志定位问题:

IngestionLogs
| where TableName == "MyTable_CL"
| order by TimeGenerated desc

该表会记录引入失败的具体原因(如格式不匹配、权限不足、DCR规则错误等)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:11:18