监视 Workflow Manager 1.0

 

为确保 Workflow Manager 1.0 的高可用性和可靠性,你必须监视你的服务器以确保它以良好的状态运行,并在发生故障时尽快检测故障,以便能够采取纠正措施。本文将介绍用于监视 Workflow Manager 1.0 环境的功能。

监视 Workflow Manager 1.0 服务器

监视服务器的典型方法包括:

  1. 性能计数器

  2. 事件跟踪

  3. PowerShell

  4. System Center Operations Manager 管理包

性能计数器

性能计数器非常适用于提供有关服务器性能状况的信息。性能计数器根据计数器集分组。

Workflow Manager 1.0 发行了自身的性能计数器集,以帮助你监视服务器。Workflow Manager 1.0 定义了两个计数器集:管理和调度程序。每个计数器定义在各自的计数器集下。当你在装有 Workflow Manager 1.0 的计算机上打开性能监视器时,可以在这些计数器集中找到性能计数器。然后,你便可以查看“工作流管理”和“工作流调度程序”计数器集。

下表汇总了这两个集中提供的性能计数器

索引

性能计数器

详细信息

1

每秒管理请求数

在给定的节点上每秒由前端处理的请求数。

2

每秒工作流事件数

在给定的节点上每秒成功调用 PublishNotification 的次数。

3

每秒管理请求失败数

在给定的节点上,每秒导致向调用方返回错误响应的前端调用次数。出错的原因可能是请求错误、授权错误或验证错误。

4

每秒授权错误数

在给定的节点上每秒发生的授权错误数。

5

发布工作流事件持续时间

发布工作流通知的平均延迟。

6

未完成的段数

正在给定的后端节点上执行的工作流实例数。

7

每秒失败段数

在给定的后端节点上,每秒报告的工作流实例执行错误数。

8

每秒处理的事件数

在给定的节点上,每秒成功处理的工作流通知数。

以下是从上面的性能计数器派生的运行状况模型示例。

故障现象

内容:原因、解决方法、摘要

节点似乎未处理任何消息。

RequestsProcessedPerSecond

10 分钟没有活动。

工作流实例似乎未完成

(EpisodesCompletedPerSecond / RequestsProcessedPerSecond) * 100

低于 N% - N 可以是用户定义值,例如 10。

工作流实例失败

RequestsFailedPerSecond

失败数。

还可以从 Windows 添加性能计数器,例如“CPU 和内存利用率”。

事件跟踪

Workflow Manager 1.0 组件使用 Windows 事件跟踪 (ETW) 进行跟踪。ETW 是用于跟踪的理想选择,因为从性能方面讲,它的系统开销最少。另外,ETW 日志比其他格式的日志更小。服务的所有组件使用名为 Microsoft-Workflow 的 ETW 提供程序。

Workflow Manager 1.0 使用以下默认提供的 ETW 通道。

  • Operational Channel:此通道用于对需要操作员干涉的严重问题进行跟踪报告。示例包括服务故障或达到了 SLA 阈值。

  • Debug Channel:所有诊断跟踪均使用此通道。

  • Analytic Channel:此通道用于高价值跟踪,例如,完成某个操作所需的时间。事件可以包含其他元数据,例如范围或操作名称。

Workflow Manager 1.0 生成的事件的完整列表可以在 Microsoft.Workflow.EventDefinitions.man 文件夹中的 [InstallDrive]:\Program Files\Workflow Manager\1.0\Workflow ETW 清单文件内找到。

下表列出了该文件中对监视服务器运行状况特别重要的某些相关事件。

问题

发出的事件 ID

WF 后端启动失败

289

未处理的异常

1、10、19

特定节点中经常发生未处理异常

30 分钟内发生 5 个 ID 为 1、10 或 19 的事件

经常发生服务已启动事件

30 分钟内发生 5 个 ID 为 288 或 582 的事件

PowerShell Cmdlet

PowerShell 是用于管理 Workflow Manager 1.0 服务器的良好途径。Workflow Manager 1.0 包含用于提供 Workflow 场状态及其运行状况的 cmdlet。Workflow Manager 1.0 为管理员提供了一个快捷方式,使他们能够通过“开始”菜单中的 Workflow Manager 1.0 程序组启动 Workflow PowerShell 提示符。也可以通过导入 Workflow Manager 1.0 PowerShell 模块,以编程方式调用这些 cmdlet。所有 Workflow Manager 1.0 cmdlet 均在 Workflow Manager 1.0 安装目录的 Microsoft.Workflow.Commands PowerShell 模块内进行定义。

有两个 cmdlet 对于服务器监视特别有用:Get-WFFarm 和 Get-WFFarmStatus。

Get-WFFarm

Get-WFFarm cmdlet 是检索有关 Workflow 场的所有详细信息的捷径。此 cmdlet 将返回有关场的以下信息。

说明

主机

列出场中的主机(或计算机)。

终结点

列出主机上的 http 和 https 终结点。

WFFarmDBConnectionString

Workflow 场数据库的连接字符串。Workflow 场数据库包含场的所有配置信息。

RunAsAccount

在其下运行 Workflow 后端服务的帐户。

AdminGroup

返回已将哪个 Windows 身份验证安全组配置为 Workflow 场的管理员组。

InstanceDBConnectionString

Instance 数据库的连接字符串。Instance 数据库包含持久性工作流的实例信息。强烈建议不要更新此数据库中的任何信息。此连接字符串只用于提供给其他脱机 cmdlet,例如用于灾难恢复的 cmdlet。

ResourceDBConnectionString

Resource 数据库的连接字符串。Resource 数据库包含工作流和活动定义。强烈建议不要更新此数据库中的任何信息。此连接字符串只用于提供给其他脱机 cmdlet,例如用于灾难恢复的 cmdlet。

HttpPort

如果服务是使用 http 配置的,则列出 Workflow 前端的 Httpport。

HttpsPort

列出 Workflow 前端的 Httpsport。

OutboundCertificate

返回出站证书的指纹。此外,返回此证书是否是在安装期间自动生成的。

SslCertificate

返回 SSL 证书的指纹。此外,返回此证书是否是在安装期间自动生成的。

Get-WFFarmStatus

System_CAPS_note注意

Get-AzureWFFarmStatus 未包含在 Workflow Manager 1.0 中,但将包含在 1.0 RTM 中。

Get-AzureWFFarmStatus cmdlet 提供场及其节点的基本状态。

Get-AzureWFFarmStatus 将从每个节点提供 Workflow Backend Windows 服务的运行状况,以及是否可以在该节点上访问 Workflow 前端。

管理包

System_CAPS_note注意

Workflow Manager 1.0 不会在安装过程中安装管理包,但在 1.0 RTM 发行时间的前后,你可以单独下载管理包。此管理包将支持 Microsoft System Center 2012 和 System Center 2007 R2。

性能计数器、事件跟踪和 PowerShell cmdlet 可让用户洞察场的运行状况。但是,真正的企业级可靠性不仅需要持续监视服务器,还需要有一套可在检测到故障时激活的警报机制。Microsoft System Center Operations Manager 管理包可以提供此警报功能。

System Center 管理包支持本文中所提到的大多数事件和性能计数器。该管理包旨在监视 Workflow Manager 1.0 场及其节点,而不是专门用于监视 Workflow Manager 1.0 项目(例如工作流实例)。

下图显示了 Workflow Manager 1.0 的典型运行状况模型。

Workflow health model