查看 Runbook 作业的状态

 

适用对象:Windows Azure Pack for Windows Server

当在 Service Management Automation 中启动 Runbook 时,将创建一个作业。作业是 Runbook 的单个执行实例。单个 Runbook 可能拥有多个作业,每个作业都有其自己的一组 Runbook 参数值。有多种方法可用于检查一个或多个 Runbook 的特定作业和所有作业的状态。

作业状态

下表描述一个作业可能具有的不同状态。

状态

描述

已完成

作业已成功完成。

已失败

作业结束时出现异常。

已排队

作业正在等待 Automation 工作进程上的资源成为可用状态,以便作业可启动。

正在启动

作业已分配至工作进程,系统正在启动作业。

正在恢复

系统正在恢复已挂起的作业。

正在运行

作业正在运行。

已停止

用户在作业完成前停止了该作业。

正在停止

系统正在停止该作业。

挂起的

作业被用户、系统或 Runbook 中的命令挂起。可以重新启动挂起的作业,并且会继续从其最后一个检查点恢复或从 Runbook 的开头恢复(如果作业没有任何检查点)。

只有在出现异常并具有恢复的可能性的情况下,系统才会挂起 Runbook。默认情况下,将 ErrorActionPreference 设置为 Continue 表示作业将在出现异常时继续运行。如果将此首选项变量设置为 Stop,则在出现异常时将挂起该作业。

正在挂起

系统正在尝试在用户请求时挂起该作业。Runbook 必须到达作业的下一个检查点才能挂起作业。如果已经过了作业的最后一个检查点,那么作业将在挂起之前就完成。

使用管理门户查看作业状态

自动化仪表板

自动化仪表板显示 Service Management Automation 环境中所有 Runbook 的摘要。摘要图显示在给定的天数或小时数内所有输入每个状态的 Runbook 的总作业数。可以在图的右上角选择时间范围。图的时间轴将根据选择的时间范围类型改变。可以选择是否显示特定状态的行,方法是在屏幕顶部单击该行。

可以使用以下步骤来显示自动化仪表板。

  1. 在管理门户中,选择“自动化”。

  2. 选择“仪表板”选项卡。

Runbook 仪表板

Runbook 仪表板显示单个 Runbook 的摘要。摘要图显示在给定的天数或小时数内输入每个状态的 Runbook 的总作业数。可以在图的右上角选择时间范围。图的时间轴将根据选择的时间范围类型改变。可以选择是否显示特定状态的行,方法是在屏幕顶部单击该行。

可以使用以下步骤来显示 Runbook 仪表板。

  1. 在管理门户中,选择“自动化”。

  2. 单击 Runbook 的名称。

  3. 选择“仪表板”选项卡。

作业摘要、历史记录和源

可以查看为某个特定 Runbook 创建的所有作业的列表及作业的最新状态。可按作业状态和对作业作出的最新日期更改范围筛选此列表。单击作业名称来查看其详细信息和输出。作业的详细视图包括为该作业提供的若干 Runbook 参数的值。

作业历史记录包括输出、警告和错误消息,并附有记录创建时间的时间戳。有关写入作业历史记录的记录的详细信息,请参阅 Runbook 输出和消息

作业的源是运行作业时工作流的源代码。如果在运行作业之后更新了 Runbook,则该源可能与 Runbook 当前版本的不同。

可以使用以下步骤查看 Runbook 的作业。

  1. 在管理门户中,选择“自动化”。

  2. 单击 Runbook 的名称。

  3. 选择**“作业”**选项卡。

  4. 单击作业的**“创建的作业”**列以查看其详细信息和输出。

  5. 选择**“历史记录”选项卡以查看作业的历史记录。选择一条历史记录,然后单击屏幕底部的“查看详细信息”**以查看该记录的详细视图。

  6. 从**“历史记录”选项卡上,单击屏幕底部的“查看源”**以查看该作业的源。

使用 Windows PowerShell 检索作业状态

可以使用 Get SmaJob 来检索为某个 Runbook 而创建的作业和某个特定作业的详细信息。如果使用 Start-SmaRunbook 借助 Windows PowerShell 来启动 Runbook,则将返回结果作业。使用 Get-SmaJobOutput 获取作业的输出。

下面的示例命令检索示例 Runbook 的最后一个作业并显示其状态、为 Runbook 参数提供的值以及该作业的输出。

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"

$job = (Get-SmaJob –WebServiceEndpoint $webServer –Port $port –RunbookName $runbookName | sort LastModifiedDate –desc)[0]
$job.Status
$job.JobParameters
Get-SmaJobOutput –WebServiceEndpoint $webServer –Port $port -Id $job.Id –Stream Output

请参阅

Service Management Automation
Runbook 操作(旧)[SMA]
启动 Runbook(旧)[SMA]