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

如何记录ADF管道运行状态至Log Analytics及排查日志缺失问题

一、将ADF管道运行状态记录到Log Analytics的实现步骤

1. 启用ADF内置诊断同步(推荐方案)

  • 进入目标ADF实例的诊断设置页面,点击「添加诊断设置」
  • 完成以下配置:
    • 设置诊断名称,便于识别
    • 在「日志」板块勾选PipelineRuns(这是记录管道运行状态的核心日志类别)
    • 在「目标详细信息」中选择「发送到Log Analytics工作区」,关联已创建的Log Analytics工作区
    • 保存配置

2. 自定义主动推送(适合个性化记录需求)

如果需要自定义日志内容或主动触发记录逻辑,可在ADF管道中添加Web活动,调用Log Analytics数据收集API推送状态:

  • 提前获取Log Analytics工作区的工作区ID和主键(在工作区的「代理管理」菜单下查看)
  • 配置Web活动参数:
    • 请求方法:POST
    • 请求URL:https://<工作区ID>.ods.opinsights.azure.com/api/logs?api-version=2016-04-01
    • 请求头:添加Content-Type: application/json和Authorization: SharedKey <工作区ID>:<按Azure规范生成的主键签名>
    • 请求体:构造包含运行状态的JSON,示例:
      {
          "time": "@utcNow()",
          "resourceId": "@pipeline().ResourceId",
          "pipelineName": "@pipeline().PipelineName",
          "runId": "@pipeline().RunId",
          "status": "@pipeline().Status",
          "triggerType": "@pipeline().TriggerType"
      }
      
二、Log Analytics中查询不到ADFPipelineRun日志的排查点
  • 诊断配置校验:确认ADF诊断设置中已勾选PipelineRuns类别,且关联的Log Analytics工作区正确
  • 同步延迟等待:Azure诊断日志从ADF同步到Log Analytics通常需要5-15分钟,需等待足够时间再查询
  • 查询语法正确性:确保使用正确的Kusto查询语句,标准示例:
    ADFPipelineRun
    | where TimeGenerated > ago(1d)
    | project PipelineName, RunId, Status, TimeGenerated
    
  • 权限检查:当前登录账号需拥有Log Analytics工作区的读取权限(如Log Analytics Reader角色),否则无法查看日志
  • ADF运行记录验证:在ADF的「监控」->「管道运行」中确认目标管道确实有触发运行的记录
  • 诊断设置生效状态:检查诊断设置的状态是否为「已启用」,新创建的设置可能需要几分钟完成生效
  • 租户/区域一致性:确认ADF与Log Analytics工作区处于同一Azure租户,跨区域同步可能存在额外延迟或限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:15:23