如何: 使用非 SQL Server 监控数据库
以下步骤显示如何使用 Windows Server AppFabric 中的非 SQL Server 监控数据库。 如果使用 SQL Server 数据库,则通过 AppFabric 配置过程创建这些视图和暂存表。 对于非 SQL Server 数据库,您将必须使用允许您完成此操作的非 SQL Server 数据库程序的任何功能创建实体。
配置非 SQL 监控数据库
实现监控暂存表和和公共视图。 选择来自数据库供应商的非 SQL Server 数据库特定机制,以创建暂存表和视图。 在监控数据库视图和表中指定预期类型的暂存表和视图。 实际类型可能是特定数据库,但是类型必须是 ADO 提供程序可以转换为 .NET Framework 类型的类型。 仅当数据库类型的查询引致预期的 .NET Framework 类型时,AppFabric 仪表板监控工具才能使用。 例如,SQL Server 中的
nvarchar
映射为String
.NET Framework 类型,并且非 SQL Server 数据库中的varchar
和char
类型也映射为String
.NET Framework 类型。使用暂存表中的数据填充公共视图。 事件收集服务 编写与从 WCF 或 WF 服务发出的每个事件相对应的暂存表列的事件数据。 然后,非 SQL Server 数据库实现使用适当的方式(如数据库作业或触发)将数据从暂存表移至返回公共视图的表。定义每种事件类型的数据如何填充公共视图的映射记录在监控数据库事件映射。 对于从 WCF 和 WF 服务发出的事件,事件收集服务 收集事件并将事件写入监控数据库暂存表 ASStagingTable。 ASStagingTable 表是一个临时的事件存储表。 要在 AppFabric 仪表板中恢复事件数据,必须使用与事件类型相对应的公共视图显示 ASStagingTable 的数据。 非 SQL Server 数据库实现使用适当的数据库实现机制(如数据库触发或作业)将数据从 ASStagingTable 表移至返回公共视图的表。定义每种事件类型的数据如何填充公共视图的映射记录在监控数据库事件映射。
此工作方式以及您需要执行的操作的示例如下所示。 当调用 WCF 服务操作时,.NET 运行时发出 214 - OperationCompleted (https://go.microsoft.com/fwlink/?LinkId=187225) (WCF operation completed) 事件。 该事件发生时,事件收集服务 将用所收集事件的值对暂存表中适用于 WCF operation completed 事件的列进行填充。 然后,映射暂存表中的数据,以填充 ASEventSources、ASWcfEvents 和 ASEvents 视图中的列。 AppFabric 仪表板读取该数据并将其显示在“跟踪的事件”页中。 对于 OperationCompleted 事件,请查看监控数据库事件映射中映射文档的 EventID 214。 它指出了显示该事件的暂存表中数据的方式。 除了写入暂存表的普通列之外(请参见映射文档中的所有事件的常见映射部分),还写入其他两列 – MethodName 和 Duration。 这些列就是您采用实现特定方式映射到支持 ASEventSources、ASWcfEvents 和 ASEvents 视图的相应临时表中的列。
备注
监控数据库事件映射主题包含映射事件的子集。 有关完整的映射集,可以从 Microsoft 下载中心下载。 这包含针对每个事件 id 的一个映射文档。 事件的映射文档指定 事件收集服务 写入该事件的行时填充的 ASStagingTable 中的列。 还指出显示该事件数据的视图以及将 ASStagingTable 中数据映射到视图中列的方式。
备注
在监控数据库的 SQL Server 实现中,公共视图构建在包含实际事件数据的表上。 SQL Server 提供程序将数据从暂存表中移至以其为基础构建公共视图的表上。 由 SQL Server 提供程序完成的该作业是需要您在非 SQL Server 数据库中手动完成的作业。
确保新的监控数据库的连接字符串在根 Web.config 文件中已注册。 这将允许事件收集服务使用此连接字符串将事件写入监控数据库。
确保事件收集服务的标识具有对暂存表的读写权限。
确保使用 AppFabric 仪表板在 IIS 中查看数据的用户具有从视图中的读取权限。
通过运行事件收集服务进行测试:
确保暂存表已填充。
确保仪表板指标正常运行。
确保可以显示跟踪的事件。
确保在端对端监控级别上显示相关事件。
您可以采取以下可选步骤,在有关将事件写入非 SQL Server 数据库的配置和增强性能方面,获得进一步帮助:
为特定数据库实现批量复制提供程序,并在根 Web.config 文件中对其进行注册。 执行此操作可允许事件收集服务调用提供程序将事件批量写入暂存表中。 如果批量复制提供程序未注册,则事件收集器将使用数据库特定的 ADO 提供程序来使用批量插入。 有关详细信息,请参阅事件集合批量复制界面。
为 AppFabric 配置工具调用的非 SQL Server 数据库创建自定义提供程序。 此提供程序不同于批量复制提供程序。 该提供程序设置用于插入事件收集服务使用的新数据库的连接字符串的注册表。 并且,此用户界面功能不是必需的,但提供了配置非 SQL Server 数据库的连接字符串的简单方式。 有关使用自定义提供程序的详细信息,请参阅如何: 注册自定义提供程序。 有关 AppFabric 配置工具(可以选择在 AppFabric 安装进程结束时启动)的详细信息,请参阅“安装结果”页和配置 Windows Server AppFabric。
2011-12-05