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

如何从Azure Logic Apps标准工作流仅发送指定连接器日志至Application Insights/Log Analytics?

Logic Apps标准日志筛选需求与配置现状

一、已完成的日志配置

1. Application Insights 集成

已完成Logic Apps标准与Application Insights的关联配置。

2. 诊断设置配置

已配置诊断设置,将日志发送至关联的Log Analytics工作区,实现日志集中收集。


二、Host.json 核心配置

{
    "version": "2.0",
    "logging": {
        "logLevel": {
            "default": "Warning",
            "Workflow.Host": "Warning",
            "Workflow.Operations.Runs": "Information",
            "Workflow.Operations.Actions": "Information",
            "Workflow.Operations.Triggers": "Information"
        },
        "applicationInsights": {
            "samplingSettings": {
                "isEnabled": true,
                "excludedTypes": "Request;Exception"
            }
        }
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
        "version": "[1, 2.00]"
    },
    "extensions": {
        "workflow": {
            "Settings": {
                "Runtime.ApplicationInsightTelemetryVersion": "v2"
            }
        }
    }
}

三、当前工作流场景与日志问题

当前工作流包含50个连接器,每次执行会生成100+条日志,涵盖运行开始/结束、触发器开始/结束、每个操作的开始/结束事件,导致Log Analytics和Application Insights中日志量过大。现有日志分布在:

  • LogicAppWorkflowRuntime表:记录工作流运行与操作的核心事件
  • AppRequests表:记录请求类操作的日志

现有Host.json仅能按日志类别(如Workflow.Operations.Actions)统一调整日志级别,无法针对单个操作或连接器做精细化筛选。


四、需求目标

仅收集指定连接器的日志:例如只保留工作流中带有跟踪属性的Compose连接器的信息级日志,排除其他所有连接器的信息级日志。


可行解决方案

1. Log Analytics 数据收集规则(DCR)筛选(推荐)

通过配置数据收集规则(DCR),在日志进入Log Analytics前进行预处理:

  • 针对LogicAppWorkflowRuntime和AppRequests表,添加筛选条件:匹配OperationName为目标连接器(如Compose)且包含指定跟踪属性的记录
  • 配置DCR仅保留符合条件的日志,直接过滤掉不需要的日志条目,减少存储与成本

2. 工作流自定义跟踪替代默认日志

  • 修改Host.json中Workflow.Operations.Actions的日志级别为Warning,关闭所有连接器的默认信息级日志
  • 在目标Compose操作后添加**「跟踪自定义事件」**操作,手动写入需要的日志内容(包括跟踪属性)到Application Insights/Log Analytics
  • 这种方式完全可控,仅记录你需要的关键信息,避免冗余日志

3. 自定义Telemetry Initializer 筛选(针对Application Insights)

  • 在Host.json的Application Insights配置基础上,添加自定义Telemetry Initializer:
    • 编写代码判断日志所属的操作是否为目标连接器(通过TelemetryContext中的属性识别)
    • 若不是目标连接器的日志,设置Telemetry.Context.TelemetryConfiguration.DisableTelemetry = true,直接丢弃该日志

4. 连接器单独配置(部分连接器支持)

部分Azure连接器支持单独配置日志级别,检查目标连接器的设置面板,尝试将目标连接器设为Information级别,其他连接器统一设为Warning或更高级别。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 19:15:56