你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
监控工作流状态、查看运行历史记录,并在 Azure 逻辑应用中设置警报
适用范围:Azure 逻辑应用(消耗型 + 标准型)
创建并运行逻辑应用工作流后,可以检查该工作流的运行状态、触发器历史记录、工作流运行历史记录和性能。
本指南将演示如何执行以下任务:
- 查看触发器历史记录。
- 查看工作流运行历史记录。
- 设置警报以获取关于故障或其他可能问题的通知。 例如,可以创建一个警报,用于检测“一小时内运行失败超过五次的情况”。
若要监视和查看标准工作流的工作流运行状态,请参阅在单租户 Azure 逻辑应用中创建示例标准逻辑应用工作流中的以下部分:
若要进行实时事件监控和更丰富的调试,可以使用 Azure Monitor 日志为逻辑应用工作流设置诊断日志记录。 此 Azure 服务可帮助你监视云和本地环境,使你能够更轻松地维持其可用性和性能。 然后,可以查找和查看事件,例如触发事件、运行事件和操作事件。 将此信息存储在 Azure Monitor 日志中,可以创建日志查询来帮助查找和分析此信息。 还可以将此诊断数据与其他 Azure 服务一起使用,例如 Azure 存储和 Azure 事件中心。 有关详细信息,请参阅使用 Azure Monitor 监视逻辑应用。
查看触发器历史记录
每个工作流运行都以触发器开头,触发器会按计划触发或等待传入的请求或事件。 触发历史记录列出工作流做出的所有触发尝试,以及有关每次触发尝试的输入和输出的信息。
在 Azure 门户的设计器中,打开你的逻辑应用资源和工作流。
在逻辑应用菜单中,选择“概述”。 在“概述”窗格上,选择“触发器历史记录”。
在“触发历史记录”下,将显示所有触发尝试。 每次触发器成功触发时,Azure 逻辑应用都会创建单个工作流实例并运行该实例。 默认情况下,每个实例并行运行,因此在启动运行前无需等待任何工作流。 如果同时为多个事件或项触发了你的工作流,则会为每个项都显示一个带有相同日期和时间的触发条目。
下表列出了可能的触发器状态值:
触发器状态 说明 失败 出现了错误。 若要查看失败触发器生成的任何错误消息,请选择该触发器尝试并选择“输出”。 例如,你可能发现输入无效。 已跳过 触发器检查了终结点,但找不到满足指定条件的数据。 成功 触发器已检查终结点并找到可用数据。 通常,此状态还会伴随出现“已触发”状态。 如果没有,触发器定义可能未满足某一条件或 SplitOn
命令。
此状态可应用于手动触发器、基于重复周期的触发器或轮询触发器。 如果操作生成未处理的错误,尽管可以成功运行触发器,但运行本身可能仍会失败。提示
可以重新检查触发器,无需等待下一个周期。 在“概述”窗格工具栏或设计器工具栏上,选择“运行触发器”>“运行”。
若要查看有关特定触发尝试的信息,请选择该触发事件。
如果列表显示许多触发尝试,但你找不到所需的条目,请尝试筛选列表。 如果找不到预期的数据,请尝试在工具栏中选择“刷新”。
现在可以查看有关所选触发事件的信息,例如:
查看工作流运行历史记录
每次触发器成功触发时,Azure 逻辑应用都会创建一个工作流实例并运行该实例。 默认情况下,每个实例并行运行,因此在启动运行前无需等待任何工作流。 可查看每次运行过程中发生的情况,包括工作流中的每个步骤的状态、输入和输出。
在 Azure 门户的设计器中,打开你的逻辑应用资源和工作流。
在逻辑应用菜单中,选择“概述”。 在“概述”窗格中选择“运行历史记录”。
在“运行历史记录”下,将显示所有过去、当前和任何正在等待的运行。 如果同时为多个事件或项触发了该触发器,则会为每个项都显示一个带有相同日期和时间的条目。
下表列出了可能的运行状态:
运行状态 说明 Aborted 由于外部问题(例如,系统中断或 Azure 订阅过期),运行已停止或未完成。 已取消 运行已触发并已启动,但收到了取消请求。 已失败 运行中的至少一个操作失败。 工作流中未设置后续操作来处理失败。 正在运行 运行已触发并且正在进行。 但是,如果运行由于操作限制或当前定价计划而被限制,也可能会显示此状态。
提示:如果你设置了诊断日志记录,则可以获取发生的任何限制事件的相关信息。成功 运行已成功。 如果有任何操作失败,工作流中的后续操作已处理了该失败。 已超时 运行超时,因为当前持续时间超出了运行持续时间限制,该限制由“运行历史记录保留期(天)” 设置控制。 运行持续时间是使用运行开始时间和在该开始时间有效的运行持续时间限制来计算的。
注意:如果运行的持续时间还超出了当前的运行历史记录保留期限制(该限制也由“运行历史记录保留期(天)”设置控制),则每日清理作业会将该运行从运行历史记录中清除。 无论运行是超时还是完成,始终都将使用运行的开始时间和当前保留期限制来计算保留期。 因此,如果你减小进行中的某个运行的持续时间限制,则该运行将超时。但是,运行将保留或从运行历史记录中清除,具体取决于运行持续时间是否超出了保留期限制。正在等待 运行尚未启动或已暂停,例如,由于前一个工作流实例仍在运行。 若要查看特定运行的步骤和其他信息,请在“运行历史记录”下选择该运行。 如果列表显示多次运行,且你找不到所需条目,请尝试筛选列表。
提示
如果未显示运行状态,请尝试通过选择“刷新”来刷新概述窗格。 如果由于不符合条件或找不到数据而跳过了触发器,则不会发生运行。
“逻辑应用运行”窗格将显示所选运行中的每个步骤、每个步骤的运行状态,以及运行每个步骤花费的时间,例如:
若要以列表格式查看此信息,请在“逻辑应用运行”工具栏上选择“运行详细信息”。
“运行详细信息”列出了每个步骤及其状态和其他信息。
例如,可以获取运行的“关联 ID”属性,在使用适用于逻辑应用的 REST API 时,可能需要此信息。
若要获取有关特定步骤的详细信息,请选择以下任一选项:
在“逻辑应用运行”窗格中选择该步骤,以使形状展开。 现在可以查看输入、输出以及该步骤中发生的任何错误等信息。
例如,假设某个操作已失败,并且你希望查看哪些输入可能导致该步骤失败。 通过展开形状,可以查看该步骤的输入、输出和错误:
在“逻辑应用运行详细信息”窗格中选择所需的步骤。
注意
所有运行时详细信息和事件都会在 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 创建警报规则。