你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
监视和收集 Azure 逻辑应用中工作流的诊断数据
适用范围:Azure 逻辑应用(消耗型 + 标准型)
若要获取更丰富的数据来调试和诊断 Azure 逻辑应用中的工作流,可以记录工作流运行时数据和事件(例如触发事件、运行事件和操作事件),然后可将这些数据和事件发送到 Log Analytics 工作区、Azure 存储帐户、Azure 事件中心、另一个合作伙伴目标或所有这些目标(如果已设置),并使用 Azure Monitor 日志。
注意
Azure Monitor 资源日志不是 100% 无损的。 资源日志基于存储和转发体系结构,旨在以经济实惠的方式每天大规模移动 PB 级数据。 此功能包括跨平台的内置冗余和重试,但不提供事务性保证。 事务性监视可能会降低受监视服务的可靠性和性能。 此外,如果无法确认日志传送,则暂时性日志记录错误必然会停止上游服务。 一旦 Azure Monitor 团队确认数据源永久丢失,该团队就会将解决问题和预防视为最优先的事项。 但是,由于跨 Azure 分布的临时、非重复服务问题,可能仍会发生少量数据丢失,而且并非所有问题都能被捕获。
本操作指南根据你的逻辑应用资源是“消耗”还是“标准”类型介绍如何完成以下任务。
在创建消耗逻辑应用时,请启用 Log Analytics 并指定 Log Analytics 工作区。
-或-
对于现有的消耗逻辑应用,请在 Log Analytics 工作区中安装逻辑应用管理解决方案。 此解决方案为逻辑应用运行提供聚合信息,它包括状态、执行时间、重新提交状态和相关 ID 等具体的详细信息。
先决条件
Azure 帐户和订阅。 如果没有订阅,可以注册免费的 Azure 帐户。
对于消耗逻辑应用资源,你需要 Azure 订阅所有者或参与者权限,以便可以从 Azure 市场安装逻辑应用管理解决方案。 有关详细信息,请参阅以下文档:
要将诊断数据发送到的目标资源:
逻辑应用资源和工作流
启用 Log Analytics
对于消耗逻辑应用,首先需要启用 Log Analytics。
在创建逻辑应用时启用 Log Analytics
在 Azure 门户上的“创建逻辑应用”窗格中执行以下步骤:
在“计划”下确保选择“消耗”,以便仅显示消耗工作流的选项。
对于“启用 Log Analytics”,请选择“是”。
从 Log Analytics 工作区列表中,选择要从工作流运行发送数据的工作区。
完成创建逻辑应用资源。
完成后,逻辑应用将与 Log Analytics 工作区关联。 此步骤还会自动在你的工作区中安装逻辑应用管理解决方案。
运行工作流后,查看工作流运行状态。
安装逻辑应用管理解决方案
如果在创建逻辑应用资源时启用了 Log Analytics,请跳过本部分。 Log Analytics 工作区中已经安装了逻辑应用管理解决方案。 否则,请继续对现有消耗逻辑应用执行以下步骤:
在 Azure 门户搜索框中输入“Log Analytics 工作区”,然后从结果中选择“Log Analytics 工作区”。
在“Log Analytics 工作区”下,选择工作区。
在“概述”窗格上,在“开始使用 Log Analytics”>“配置监视解决方案”下,选择“查看解决方案”。
在“概述”下选择“添加”,这会将新解决方案添加到工作区。
“市场”页打开后,在搜索框中输入“逻辑应用管理”,然后选择“逻辑应用管理”。
在“逻辑应用管理”磁贴上的“创建”列表中,选择“逻辑应用管理”。
在“创建逻辑应用管理(预览)解决方案”窗格中,选择要安装解决方案的 Log Analytics 工作区。 选择“查看 + 创建”,查看你的信息,然后选择“创建”。
Azure 将解决方案部署到包含 Log Analytics 工作区的 Azure 资源组后,解决方案会显示在工作区摘要窗格上的“概述”下。
添加诊断设置
在 Azure 门户中,打开你的消耗逻辑应用资源。
在逻辑应用资源菜单中的“监视”下,选择“诊断设置”。 在“诊断设置”页上,选择“添加诊断设置”。
对于“诊断设置名称”,请提供所需的设置名称。
在“日志”>“类别”下,选择“工作流运行时诊断事件”。 在“指标”下,选择“AllMetrics”。
在“目标详细信息”下,根据要将日志发送到的位置选择一个或多个目标。
目标 方向 发送到 Log Analytics 工作区 为你的 Log Analytics 工作区和该工作区选择 Azure 订阅。 存档到存储帐户 为你的 Azure 存储帐户和该存储帐户选择 Azure 订阅。 有关详细信息,请参阅将诊断数据发送到 Azure 存储和 Azure 事件中心。 流式传输到事件中心 为事件中心命名空间、事件中心和事件中心策略名称选择 Azure 订阅。 有关详细信息,请参阅将诊断数据发送到 Azure 存储和 Azure 事件中心和 Azure Monitor 合作伙伴集成。 发送到合作伙伴解决方案 选择你的 Azure 订阅和目标。 有关详细信息,请参阅 Azure 原生 ISV 服务概述。 以下示例选择一个 Log Analytics 工作区作为目标:
若要完成添加诊断设置,请选择“保存”。
查看工作流运行状态
工作流运行后,可以在 Log Analytics 工作区中查看有关这些运行的数据。
在 Azure 门户中,打开你的 Log Analytics 工作区。
在工作区菜单中的“经典”下,选择“工作区摘要”。 在“概述”页上,选择“逻辑应用管理”。
注意
如果“逻辑应用管理”磁贴在运行后未立即显示结果,请尝试选择“刷新”或等待一小段时间,然后再重试。
摘要页显示按名称或执行状态分组的工作流。 该页还显示有关工作流运行的操作或触发器失败的详细信息。
若要查看特定工作流或状态的所有运行,请选择该工作流或状态所在的行。
此示例显示特定工作流的所有运行:
对于添加了跟踪属性的操作,可以使用列筛选器搜索跟踪属性。 若要查看属性,请在“跟踪属性”列中选择“查看”。
若要筛选结果,可以执行客户端和服务器端筛选。
客户端筛选器:对于每个列,请选择所需的筛选器,例如:
服务器端筛选器:若要选择特定的时间窗口或限制显示的运行次数,请使用页面顶部的作用域控件。 默认情况下,一次仅显示 1,000 条记录。
若要查看特定运行的所有操作及其详细信息,请选择逻辑应用工作流运行所在的行。
以下示例显示特定逻辑应用工作流运行的所有操作和触发器:
将诊断数据发送到 Azure 存储和 Azure 事件中心
可将收集的数据连同 Azure Monitor 日志一起发送到其他目标,例如:
然后,可以使用 Azure 流分析和 Power BI 等其他服务提供的遥测数据和分析进行实时监视,例如:
注意
仅当你使用存储帐户时才应用保留期。
在遥测中包含自定义属性
在工作流中,触发器和操作让你可以添加以下自定义属性,使其值与发出的遥测数据一起显示在你的 Log Analytics 工作区中。
自定义跟踪 ID
大多数触发器都有一个“自定义跟踪 ID”属性,你可以在此属性中使用表达式指定跟踪 ID。 可以使用此表达式从收到的消息有效负载中获取数据或生成唯一值,例如:
如果你未指定此自定义跟踪 ID,则 Azure 会自动生成此 ID 并关联整个工作流运行中的事件,包括从父工作流调用的任何嵌套工作流。 可通过在触发器请求中传递带有自定义 ID 值的 x-ms-client-tracking-id
标头,在触发器中手动指定此 ID。 可以使用请求触发器、HTTP 触发器或基于 webhook 的触发器。
跟踪属性
操作具有一个“跟踪属性”部分,你可以在其中通过输入表达式或硬编码值来指定自定义属性名称和值,以跟踪特定的输入或输出,例如:
跟踪属性只能跟踪单个操作的输入和输出,但你可以使用事件的 correlation
属性来关联整个工作流运行中的操作。
跟踪属性只能引用其自身触发器或操作的参数、输入和输出。
具有安全输入或/和安全输出的触发器或操作不允许使用跟踪属性。 此外,也不允许它们引用具有安全输入或/和安全输出的另一个触发器或操作。
以下示例显示了自定义属性在 Log Analytics 工作区中的显示位置:
在 Log Analytics 工作区菜单中的“经典”下,选择“工作区摘要”。 在“概述”页上,选择“逻辑应用管理”。
选择要查看的工作流所在的行。
在“运行”页上的“逻辑应用运行”表中,找到“跟踪 ID”列和“跟踪属性”列。
若要搜索跟踪的属性,请使用列筛选器。 若要查看属性,请选择“查看”。