适用范围:Azure 逻辑应用(消耗型 + 标准型)
运行逻辑应用工作流后,可以检查该工作流的运行状态、触发器历史记录、工作流运行历史记录和性能。
本指南将演示如何执行以下任务:
- 查看触发器历史记录。
- 查看工作流运行历史记录。
- 设置警报以获取关于故障或其他可能问题的通知。 例如,可以创建一个警报,用于检测“一小时内运行失败超过五次的情况”。
若要进行实时事件监控和更丰富的调试,可以使用 Azure Monitor 日志为逻辑应用工作流设置诊断日志记录。 此 Azure 服务可帮助你监视云和本地环境,使你能够更轻松地维持其可用性和性能。 然后,可以查找和查看事件,例如触发事件、运行事件和操作事件。 将此信息存储在 Azure Monitor 日志中,可以创建日志查询来帮助查找和分析此信息。 还可以将此诊断数据与其他 Azure 服务一起使用,例如 Azure 存储和 Azure 事件中心。 有关详细信息,请参阅使用 Azure Monitor 监视逻辑应用。
查看触发器历史记录
每个工作流运行都以触发器开头,触发器会按计划触发或等待传入的请求或事件。 触发历史记录列出工作流做出的所有触发尝试,以及有关每次触发尝试的输入和输出的信息。
- 在 Azure 门户的设计器中,打开消耗型逻辑应用资源和工作流。 
- 在逻辑应用菜单中,选择“概述”。 在“概述”页面上,选择“触发历史记录”。   - 在“触发历史记录”下,将显示所有触发尝试。 每次触发器成功触发时,Azure 逻辑应用都会创建单个工作流实例并运行该实例。 默认情况下,每个实例并行运行,因此在启动运行前无需等待任何工作流。 如果同时为多个事件或项触发了你的工作流,则会为每个项都显示一个带有相同日期和时间的触发条目。   - 下表列出了可能的触发器状态值: - 触发器状态 - 说明 - 失败 - 出现了错误。 若要查看失败触发器生成的任何错误消息,请选择该触发器尝试并选择“输出”。 例如,你可能发现输入无效。 - 已跳过 - 触发器检查了终结点,但找不到满足指定条件的数据。 - 成功 - 触发器已检查终结点并找到可用数据。 通常,此状态还会伴随出现“已触发”状态。 否则,触发器定义可能具有未满足的条件或 - splitOn属性设置为值。
 此状态可应用于手动触发器、基于重复周期的触发器或轮询触发器。 如果操作生成未处理的错误,尽管可以成功运行触发器,但运行本身可能仍会失败。- 提示 - 可以重新检查触发器,无需等待下一个周期。 在“概览”页工具栏或设计器工具栏上,选择“运行”、“运行”。 
- 若要查看有关特定触发尝试的信息,请选择该触发事件。   - 如果列表显示许多触发尝试,但你找不到所需的条目,请尝试筛选列表。 如果找不到预期的数据,请尝试在工具栏中选择“刷新”。 - 现在可以查看有关所选触发事件的信息,例如:   
查看工作流运行历史记录
每次成功触发触发器时,Azure 逻辑应用都会创建一个工作流实例并运行该实例。 默认情况下,每个实例并行运行,因此在启动运行前无需等待任何工作流。 可查看每次运行过程中发生的情况,包括工作流中的每个步骤的状态、输入和输出。
- 在 Azure 门户的设计器中,打开消耗型逻辑应用资源和工作流。 
- 在逻辑应用菜单中,选择“概述”。 在“概述”窗格中选择“运行历史记录”。 - 在“运行历史记录”下,将显示所有过去、当前和任何正在等待的运行。 如果同时为多个事件或项触发了该触发器,则会为每个项都显示一个带有相同日期和时间的条目。 - 提示 - 如果未显示运行状态,请尝试通过选择“刷新”来刷新概览页。 如果由于不符合条件或找不到数据而跳过了触发器,则不会发生运行。   - 下表列出了可能的运行状态: - 运行状态 - 说明 - 已中止 - 由于外部问题(例如,系统中断或 Azure 订阅过期),运行已停止或未完成。 - 已取消 - 运行已触发并已启动,但收到了取消请求。 - 失败 - 运行中的至少一个操作失败。 工作流中未设置后续操作来处理失败。 - 正在运行 - 运行已触发并且正在进行。 但是,由于操作限制或当前定价计划的原因而受到限制的运行也可能会显示此状态。 
 提示:如果你设置了诊断日志记录,则可以获取发生的任何限制事件的相关信息。- 成功 - 运行已成功。 如果有任何操作失败,工作流中的后续操作已处理了该失败。 - 已超时 - 运行超时,因为当前持续时间超出了运行持续时间限制,该限制由名为“运行历史记录保留期(天)”的设置控制。 运行持续时间是使用运行开始时间和在该开始时间有效的运行持续时间限制来计算的。 
 注意:如果运行的持续时间还超出了当前的运行历史记录保留期限制(该限制也由名为“运行历史记录保留期(天)”的设置控制),则每日清理作业会将该运行从运行历史记录中清除。 无论运行是超时还是完成,始终都将使用运行的开始时间和当前保留期限制来计算保留期。 因此,如果你减小进行中的某个运行的持续时间限制,则该运行将超时。但是,运行将保留或从运行历史记录中清除,具体取决于运行持续时间是否超出了保留期限制。- 正在等待 - 运行尚未启动或已暂停,例如,由于前一个工作流实例仍在运行。 
- 若要查看特定运行的步骤和其他信息,请在“运行历史记录”下选择该运行。 如果列表显示多次运行,且你找不到所需条目,请尝试筛选列表。   - “运行历史记录”页随即打开,并显示所选运行中每个步骤的状态,例如:   - 下表显示了每个工作流操作可能具有并在门户中显示的可能状态: - 操作状态 - 图标 - 说明 - 已中止   - 由于外部问题(例如,系统中断或 Azure 订阅过期),操作已停止或未完成。 - 已取消   - 操作正在运行,但收到取消请求。 - 失败   - 操作已失败。 - 正在运行   - 操作当前正在运行。 - 已跳过   - 此操作已跳过,因为不满足其 runAfter 条件(例如,先前的操作失败)。 每个操作都有一个 - runAfter对象,你可以在其中设置必须满足的条件,然后才能执行当前操作。- 成功   - 操作已成功。 - 重试成功   - 操作已成功,但是在一次或多次重试后才成功。 若要查看重试历史记录,请在运行历史记录页上选择该操作,以便可以查看输入和输出。 - 已超时   - 操作由于超出了操作设置指定的超时限制而停止。 - 正在等待   - 适用于正在等待来自调用方的入站请求的 Webhook 操作。 
- 若要查看列表窗体中的信息,请在运行历史记录工具栏上,选择“运行详细信息”。 - “逻辑应用运行详细信息”窗格列出了每个步骤、其状态和其他信息。   
- 若要获取有关特定步骤的详细信息,请选择以下任一选项: - 在运行历史记录页上,选择一个步骤以打开一个窗格,其中显示了该步骤中发生的输入、输出和任何错误。 - 例如,假设你有一个包含失败步骤的工作流。 你想要查看可能导致该步骤失败的输入。 - 在此方案中,失败是由于与用于发送电子邮件的电子邮件帐户的连接无效或缺失。   
- 在“运行历史记录”页工具栏上,选择“运行详细信息”。 在打开的“逻辑应用运行详细信息”窗格中,选择所需的步骤,例如:   
 - 注意 - 所有运行时详细信息和事件都会在 Azure 逻辑应用中加密,并且仅在用户请求查看该数据时解密。 可以在工作流运行历史记录中隐藏输入和输出,或使用 Azure 基于角色的访问控制 (Azure RBAC) 来控制用户对此信息的访问。 
使用相同的输入重新运行工作流
可以通过以下方式,使用之前使用的工作流的输入重新运行之前完成的工作流:
- 重新运行整个工作流。 
- 从特定操作开始重新运行工作流。 重新提交的操作和所有后续操作照常运行。 
完成此任务会创建新的工作流运行并将其添加到工作流的运行历史记录中。
限制和注意事项
- 默认情况下,仅支持消耗工作流和标准有状态工作流(可记录和存储运行历史记录)。 若要将这些功能用于无状态标准工作流,请启用有状态模式。 有关详细信息,请参阅为无状态工作流启用运行历史记录,以及为无状态连接器启用有状态模式。 
- 重新提交的运行执行与原始运行相同的工作流版本,即使更新了工作流定义也是如此。 
- 只能重新运行顺序工作流中的操作。 目前不支持具有并行路径的工作流。 
- 工作流必须具有已完成状态,例如“成功”、“失败”或“已取消”。 
- 工作流必须具有 40 个或更少的操作,才能从特定操作重新运行。 
- 如果工作流具有创建或删除操作等操作,则重新提交运行可能会创建重复数据或尝试删除不再存在的数据,从而导致错误。 
- Visual Studio Code 或 Azure CLI 目前无法使用这些功能。 
重新运行整个工作流
- 在 Azure 门户的设计器中,打开消耗型逻辑应用资源和工作流。 
- 在逻辑应用菜单中,选择“概述”。 在“概述”窗格中选择“运行历史记录”。 - 在“运行历史记录”下,将显示所有过去、当前和任何正在等待的运行。 如果同时为多个事件或项触发了该触发器,则会为每个项都显示一个带有相同日期和时间的条目。 
- 在“运行历史记录”页上,选择要重新运行的运行,然后选择“重新提交”。 - “运行历史记录”选项卡将重新提交的运行添加到运行列表。 - 提示 - 如果未显示重新提交的运行,请在“运行历史记录”页工具栏中选择“刷新”。 如果由于不符合条件或找不到数据而跳过了触发器,则不会发生运行。 
- 若要在重新提交的运行完成后查看输入和输出,请在“运行历史记录”选项卡上选择该运行。 
从特定操作重新运行
除了非查询工作流、复杂的并发方案以及以下限制之外,大多数操作都可以使用重新运行操作功能:
| 操作 | 重新提交可用性和限制 | 
|---|---|
| 条件操作以及True和False路径中的操作 | - 对于条件操作有 - 对于 True 和 False 路径中的操作没有 | 
| For each 操作以及循环内和循环后的所有操作 | 对于所有操作均没有 | 
| 切换操作以及默认路径和案例路径中的所有操作 | - 对于切换操作有 - 对于默认路径和案例路径中的操作没有 | 
| Until 操作以及循环内和循环后的所有操作 | 对于所有操作均没有 | 
- 在 Azure 门户中,打开你的消耗逻辑应用资源。 
- 在逻辑应用资源菜单中,选择“概述”。 在“概述”窗格上,选择“运行历史记录”,其中显示了工作流的运行历史记录。 
- 在“运行历史记录”选项卡上,选择具有要从中重新运行工作流的操作的运行。 - “运行历史记录”页随即打开,并显示所选运行中每个步骤的状态。 
- 若要从特定操作重新运行工作流,请选择以下任一选项: - 找到从其开始重新运行工作流的操作,打开快捷菜单,然后选择“从此操作提交”。 
- 选择从其开始重新运行工作流的操作。 在打开的窗格中,在操作名称下,选择“从此操作提交”。 
 - 运行历史记录页将刷新并显示重新提交的运行。 重新提交操作之前的所有操作均显示浅色状态图标,表示重用的输入和输出。 重新提交的操作和后续操作显示彩色的状态图标。 有关详细信息,请参阅查看工作流运行历史记录。 - 提示 - 如果重新提交的运行未完全完成,请在运行详细信息页工具栏上选择“刷新”。 
设置监视警报
若要根据工作流中的特定指标或超出阈值获取警报,请使用 Azure Monitor 中的警报设置逻辑应用资源。 有关详细信息,请参阅 Azure 中的指标。
若要在不使用 Azure Monitor 的情况下设置警报,请按照以下步骤操作,这些步骤同时适用于消耗和标准逻辑应用资源:
- 在逻辑应用资源菜单上的“监视”下,选择“警报”。 在工具栏上,选择“创建”“警报规则”。 
- 在“创建警报规则”页面上,从“信号名称”列表中选择想要获取警报的信号。 - 注意 - 警报信号在消耗和标准逻辑应用之间有所不同。 例如,消耗逻辑应用具有许多与触发器相关的信号,例如“触发器已完成”和“触发器失败”,而标准工作流具有“工作流触发器已完成计数”和“工作流触发器失败率”信号。 - 例如,要在消耗工作流中触发器失败时发送警报,请执行以下步骤: - 从“信号名称”列表中,选择“触发器失败”信号。 
- 在 “警报逻辑”下设置条件,例如: - properties - 示例值 - 阈值 - 静态 - 聚合类型 - 计数 - “运算符” - 大于或等于 - 单位 - 计数 - 阈值 - 1 - “预览”部分现在将显示你设置的条件,例如: - 每当已失败触发器的计数大于或等于 1 
- 在“何时评估”下,设置检查状况的时间表: - properties - 示例值 - 检查间隔 - 1 分钟 - 回溯期间 - 5 分钟 - 例如,完成的条件类似于以下示例,并且“创建提醒规则”页面现在显示运行该提醒的费用:   
 
- 准备就绪后,选择“查看 + 创建”。 
有关一般信息,请参阅从特定资源 - Azure Monitor 创建警报规则。
 
              
               
              
               
              
               
              
               
              
               
              
               
              
               
              
               
              
              