从 Azure 逻辑应用中的工作流连接到 Log Analytics 或 Application Insights

适用范围:Azure 逻辑应用(消耗型 + 标准型)

注意

Azure Monitor 日志连接器取代了 Azure Log Analytics 连接器Azure Application Insights 连接器。 此连接器的功能与其他连接器相同,是针对 Log Analytics 工作区或 Application Insights 资源运行查询的首选方法。 例如,连接到 Application Insights 资源时,无需创建或提供应用程序 ID 和 API 密钥。 身份验证与 Microsoft Entra ID 相集成。

若要在 Azure 逻辑应用中生成用于从 Log Analytics 工作区或 Azure Monitor 中的 Application Insights 资源检索数据的工作流,可以使用 Azure Monitor 日志连接器。

例如,你可以创建一个逻辑应用工作流,用于从 Office 365 Outlook 帐户通过电子邮件发送 Azure Monitor 日志数据、在 Azure DevOps 中创建 bug,或发布 Slack 消息。 此连接器仅提供操作,因此若要启动工作流,你可以使用“重复”触发器来指定简单计划,或使用其他服务中的任何触发器。

本指南介绍了如何生成通过电子邮件发送 Azure Monitor 日志查询结果的逻辑应用工作流。

连接器技术参考

有关此连接器的操作的技术信息,请参阅连接器的参考文档

以下两个操作都可以针对 Log Analytics 工作区或 Application Insights 资源运行日志查询。 不同之处在于返回数据的方式。

操作 说明
运行查询并列出结果 以自身对象的形式返回每行。 若要在工作流的剩余阶段单独处理每行,请使用此操作。 该操作通常后接 For each 操作
运行查询并直观呈现结果 返回描述查询结果集的 JPG 文件。 通过此操作,可以在工作流的其余部分使用结果集,例如在电子邮件中发送结果。 如果查询返回结果,则该操作仅返回 JPG 文件。

限制

  • 连接器存在以下限制,根据使用的查询和结果大小,工作流可能会达到这些限制:

    限制 说明
    最大查询响应大小 ~16.7 MB 或 16 MiB 连接器基础结构指出,大小限制设定值低于查询 API 限制。
    最大记录数 500,000 个记录
    最大连接器超时 110 秒
    最大查询超时 100 秒

    为避免达到这些限制,请尝试聚合数据以减小结果大小,或调整工作流重复周期以在更小的时间范围内更频繁地运行。 但是,由于缓存,不建议以小于 120 秒的间隔频繁运行查询。

  • “日志”页上的可视化效果和连接器使用不同的绘图库。 因此,该连接器目前不包含某些功能。

先决条件

添加 Azure Monitor 日志操作

  1. Azure 门户中,打开设计器中的标准逻辑应用和工作流。

  2. 在要添加 Azure Monitor 日志操作的工作流中,按照以下常规步骤添加 Azure Monitor 日志操作

    此示例继续使用名为“运行查询并可视化结果”的操作。

  3. 在连接框中提供以下信息:

    properties 说明
    连接名称 连接名称
    身份验证类型 要用于连接的身份验证类型。 有关详细信息,请参阅针对出站调用添加身份验证
    租户 ID Microsoft Entra 租户。 注意:与当前连接关联的帐户稍后用于发送电子邮件。
  4. 完成后,根据所选身份验证类型选择“登录”或“新建”。

  5. 在“运行查询并可视化结果”操作框中提供以下信息:

    属性 需要 说明
    订阅 <Azure 订阅> Log Analytics 工作区或 Application Insights 应用程序的 Azure 订阅。
    资源组 <Azure-resource-group> Log Analytics 工作区或 Application Insights 应用程序的 Azure 资源组。
    资源类型 “Log Analytics 工作区”或“Application Insights”从 要从工作流连接的资源类型。 此示例选择“Log Analytics 工作区”并继续。
    资源名称 <Azure-resource-name> Log Analytics 工作区或 Application Insights 资源的名称。
  6. 在“查询”框中,输入以下 Kusto 查询以从以下源检索指定的日志数据:

    注意

    当你创建自己的查询时,请确保它们可在 Log Analytics 中正常运行,然后再将它们添加到 Azure Monitor 日志操作。

    • Log Analytics 工作区

      以下示例查询选择过去一天发生的错误,报告错误总数,并按升序将错误排序。

      Event
      | where EventLevelName == "Error" 
      | where TimeGenerated > ago(1day)
      | summarize TotalErrors=count() by Computer
      | sort by Computer asc
      
    • Application Insights 资源

      以下示例查询选择过去一天失败的请求,并根据 operation_Id 标识符将这些请求与在操作过程中发生的异常相关联。 然后,该查询使用 autocluster() 算法细分结果。

      requests
      | where timestamp > ago(1d)
      | where success == "False"
      | project name, operation_Id
      | join ( exceptions
          | project problemId, outerMessage, operation_Id
      ) on operation_Id
      | evaluate autocluster()
      
  7. 对于“时间范围”,选择“在查询中设置”。

    下表描述了时间范围的选项:

    时间范围 说明
    Exact 动态提供开始时间和结束时间。
    相对 设置相对值,例如过去一小时、过去 12 小时等。
    在查询中设置 当查询中包含TimeGenerated筛选器时适用。
  8. 对于“图表类型”,请选择“Html 表”。

  9. 保存工作流。 在设计器工具栏上选择“保存”。

添加电子邮件操作

  1. 在要添加 Office 365 Outlook 操作的工作流中, 按照以下常规步骤添加名为发送电子邮件(V2)Office 365 Outlook操作

  2. 在“收件人”框中,输入收件人的电子邮件地址。 对于本示例,请使用你自己的电子邮件地址。

  3. 在“主题”框中输入电子邮件的主题,例如“每日最常见的错误或失败”。

  4. 在“正文”框中点击,然后选择“动态内容”选项(闪电图标),以便可以从工作流的前面步骤中选择输出。

  5. 在动态内容列表的“运行查询并可视化结果”下,选择“正文”(表示之前在 Log Analytics 操作中输入的查询的结果)。

  6. 从“高级参数”列表中选择“附件”。

    发送电子邮件操作现在包括附件部分,其中包含附件名称附件内容属性。

  7. 对于添加的属性,请执行以下步骤:

    1. 在“附件名称”框中,打开动态内容列表。 在“运行查询并可视化结果”下,选择“附件名称”。

    2. 在“附件内容”框中,打开动态内容列表。 在“运行查询并可视化结果”下,选择“附件内容”。

  8. 保存工作流。 在设计器工具栏上选择“保存”。

测试工作流

  1. 在工作流菜单上,选择“概述”。

  2. 在“概述”工具栏上,选择“运行”>“运行”。

  3. 工作流完成后,请检查你的电子邮件。

    注意

    工作流会生成一封电子邮件,其中包含一个显示了查询结果集的 JPG 文件。 如果查询未返回任何结果,则工作流不会创建 JPG 文件。

    对于 Log Analytics 工作区示例,收到的电子邮件的正文如以下示例所示:

    屏幕截图显示示例电子邮件中 Log Analytics 工作区的数据报告。

    对于 Application Insights 资源,收到的电子邮件的正文如以下示例所示:

    屏幕截图显示示例电子邮件中 Application Insights 资源的数据报告。

后续步骤