配置监控
本部分介绍可用于为 Windows Server AppFabric 中的 WCF 和 WF 服务配制监控的工具、cmdlet 和设置。
配制设置
在监控 WCF 和 WF 服务之前,必须先配制和启用监控。配制时只需要初始化数据库,然后启用默认的“运行状况监控”配制,或者可以根据具体要求自定义监控。有多个预定义的配制可支持常见的监控方案。
AppFabric 可配制的 WCF 和 WF 服务监控设置包括:
配置元素 | 描述 |
---|---|
连接字符串 |
确定用于保存所监控事件的服务器和数据库。您需要首先创建并初始化监控数据库,然后才能启用对 WCF 和 WF 服务的监控。 警告 连接字符串的默认 ADO.NET 超时为 15 秒。如果仪表板查询超过该时间,则查询将超时并且将不会返回数据。AppFabric 配置向导提供的连接字符串不包括超时设置。因此,如果仪表板查询超过默认的 ADO.NET 超时,您将必须手动向配置文件中添加一个超时值。有关详细信息,请参阅 SqlCommand.CommandTimeout 属性。 |
监控级别 |
为给定的监控方案配制事件收集服务和跟踪配置文件以收集预定义的事件集。必须启用监控且监控级别至少须为“运行状况监控”,仪表板上才会显示 WCF 调用历史记录和 WF 实例历史记录指标。 备注 若要在仪表板上显示 WF 实例(暂留服务实例)指标,还必须启用工作流暂留。有关详细信息,请参阅配置工作流暂留。 |
跟踪配置文件 |
确定要发出然后保存到监控数据库的工作流事件。默认级别是“运行状况监控”配制文件,此级别也是填充仪表板中的可见指标所需的最低级别。跟踪配制文件只能在服务作用域级别进行编辑或调整。 |
诊断跟踪与消息记录 |
为要保存到文件的 WCF 和 WF 服务启用诊断和消息记录跟踪。诊断跟踪和消息记录支持帮助隔离 WCF 和 WF 服务中的问题。它并不用于日常的运行状况监控。 |
事件收集服务设置 |
为事件收集服务的实例确定某些基本行为和设置。这些是高级设置,大多数用户无需修改默认值。 |
可以在多个级别为 WCF 和 WF 服务配制监控,并且可以从上面的级别继承配制。在指定服务器上运行的 WCF 和 WF 服务的默认监控配制由该服务器的根 Web.config 文件中保存的设置确定。可以通过在站点、应用程序或服务级别配制监控以覆盖服务器设置。所有监控配制都保存在 Web.config 文件的 IIS 7.0 配置层次结构中。有关如何在 AppFabric 中使用 Web.config 文件的详细讨论,请参阅Windows Server AppFabric 中的配置过程和常规配置。
配制工具
AppFabric 提供了各种配制工具以提供安装和配制支持。AppFabric 中的 IIS Manager 扩展 提供了一个对话框,可用于启用监控、配制监控级别、选择跟踪配制文件以及配制 System.Diagnostics 消息记录和跟踪功能。所有这些工具都可以调用 AppFabric cmdlet 更改配制文件。这让您可以自由选择自动化处理监控配制或完全从 Windows PowerShell 控制台(命令行)管理监控配制。除 IIS Manager 以外,还有其他工具可以帮助安装和配制 AppFabric。有关详细信息,请参阅 Windows Server AppFabric 安装向导 UI 参考和 Windows Server AppFabric 配置向导 UI 参考。
若要配制大多数监控设置,您需要使用 AS_Administrators 组成员帐户登录。此帐户需要具有在要管理监控配制的级别(作用域)修改 Web.config 文件的权限。您可以限制对 Web.config 文件的访问,以便使用户只能修改给定级别或特定应用程序的监控配制。
配置监控的清单
下面是在 AppFabric 仪表板中未显示监控数据时要采取的一些步骤:
确保 事件收集服务 正在运行,并且有权限读取正在被监控的应用程序的 Web.config 文件。这是 Windows 服务控制台中的 AppFabric 事件集合服务。
如果您对监控数据库使用 SQL Server Express 之外的 SQL Server 版本,请尝试重新启动 SQL Server 代理服务。确保重新启动之后该服务处于正在运行状态。
在服务器、站点、应用程序和服务级别的 WCF 和 WF 的配置对话框中,单击“监控”选项卡。确保配置了以下项目:
选中“应用程序监控(基于数据库)”部分的“将事件写入数据库”复选框。在服务级别,您将无法选中此复选框,但如果启用“数据库事件收集”,则会显示此复选框。
“监控级别”设置为“关闭”之外的某个设置。
有一个指向某个有效监控数据库的有效连接字符串。
如果之前的操作没有任何帮助,请使用事件查看器 (eventvwr.exe) 执行其他诊断。在事件查看器中,检查“事件查看器检查应用程序和服务日志”->“Microsoft”->“Windows”->“应用程序服务器系统服务\管理”以及“应用程序和服务日志”->“Microsoft”->“Windows”->“应用程序服务器系统服务\调试”日志。确保在解决问题时启用这些日志。
如果这些快速检查项目并未导致在 AppFabric 仪表板中显示监控数据,则您将需要详细查看监控数据库。如果对监控数据库使用 SQL Server,则下面是进一步帮助您了解为何不显示数据的一些建议:
检查数据库中的 ASStagingTable 表和 ASWcfEvents 视图。如果您看到 ASStagingTable 表中的某些行,但 ASWcfEvents 视图中未显示这些行,则可能出现以下问题。系统正常工作时,WCF 事件会从 ASStagingTable 表移动到 ASWcfEvents 视图中。对于 SQL Express,使用 SQL Broker 时将发生这种情况。请确保启用该 Broker。对于其他 SQL Server 产品,SQL 代理负责移动事件,以确保运行 SQL 代理。
检查 ASStagingTable 表是否包含一些尚未处理的事件。如果是这样,请手动运行 ASImportEvents 存储过程以在 AppFabric 仪表板中填充事件。在 SQL Express 中,Service Broker 作业用于定期运行此存储过程。下一步我们将确定它是否遇到任何错误。
打开 Microsoft SQL Server Management Studio。找到监控数据库,右键单击“属性”,选择“选项”并验证是否启用了 Service Broker。如果已启用,则“Broker 已启用”被设置为 true。如果未启用,则启用它。
在监控数据库中,如果 ASImportEvents 作业的最后一次运行成功,则检查 ASJobsTable 表。这样做可以了解为什么事件仍在 ASStagingTable 表中。如果最后一次运行未成功,则大多数情况下是由初始化数据库时的权限问题所导致。通常这种情况是由于在登录某个域时创建监控数据库和架构,然后与该域断开连接时尝试运行该作业以移动暂存表中的数据。Service Broker 作业以初始化数据库时登录的用户身份运行。如果您的方案需要连接该域/断开与该域的连接,我们建议您以本地管理用户的身份初始化数据库。
本节内容
另请参阅
概念
2011-12-05