监控应用程序
本节介绍如何使用 AppFabric 仪表板监控 .NET Framework 应用程序(包括 WCF 和/或 WF 服务)的运行状况和生存期。AppFabric 仪表板是 Windows Server AppFabric 中监控 .NET Framework v4 服务以及对其进行故障排除的关键点。AppFabric 仪表板中显示的数据为您提供服务的实时和历史指标。实时指标提供有关您的持久工作流的当前信息,并允许其状态受到控制。仪表板的历史指标使您可以查看您的服务在特定时间段内的运行状况。
AppFabric 仪表板显示以下信息,帮助您更全面地了解 AppFabric 所管理的 .NET Framework 服务的状态:
AppFabric 仪表板跟踪持久工作流的实例,并显示有关正在运行(活动或空闲)或已挂起的实例数量的状态数据。AppFabric 仪表板还提供明细功能以观察各个暂留的 WF 实例,并使您能够对暂留的工作流发出自己的命令以控制其执行。
通过存储 WF 服务在正常执行期间发出的事件,AppFabric 按照各种详细程度对该服务进行跟踪。AppFabric 仪表板使您可以查看在运行状况监控或更高级别上启用监控的 WF 服务的历史运行状况。
.NET Framework 中的所有 WCF 和 WF 服务都使用 WCF 与客户端和其他服务进行通信。AppFabric 仪表板监控并显示成功和异常(由于接收到的 WCF 调用而导致)的累积总数。还显示有关与服务异常相关联的失败或错误调用的信息。
AppFabric 仪表板为部署到本地 AppFabric 服务器以及服务器场中配置为使用相同暂留和监控存储的任何远程 AppFabric 服务器的服务提供指标。AppFabric 使您能够按照本地服务器或所有服务器筛选指标。也可以使用 AppFabric 仪表板调整为所选服务器显示的数据的时间范围(小时、天、周或监控存储的整个时间历史记录)。
AppFabric 仪表板部分
AppFabric 仪表板分为三个主要部分:“暂留的 WF 实例”、“WCF 调用历史记录”和“WF 实例历史记录”。每个部分均提供特定功能,并且这些部分可以进行逻辑组合以显示服务生存期或发生的问题的更详细情况。各部分均会显示实时或历史数据。您可以单击某部分右上方相应的向上和向下箭头对其进行折叠或展开。
唯一摘要指标显示在每个部分的不同区域中。例如,在“WCF 调用历史记录”部分中,有三个摘要调用指标:“已完成”、“错误”和“节流点击量”。单击汇总值会将您转到与该部分相关的明细页面。在“WCF 调用历史记录”部分中,单击三个摘要指标中的任一指标均会将您转到“跟踪的事件”页。尽管所有三个指标都会将您转到同一页面,但最可能显示的数据将不同,因为每个指标反映了针对监控存储中存储的事件数据的特定查询。以下列表介绍每个部分及其汇总值和指标页面之间的关系。
暂留的 WF 实例。此部分通过查看 AppFabric 仪表板显示时暂留存储的状态,来显示“活动”、“空闲”或“已挂起”的持久工作流服务实例的“实时”摘要。对于为使用监控而附加配置的持久工作流,其历史指标也反映在 AppFabric 仪表板的其他两个部分中。单击任意汇总链接可将您转到相应的“保留的 WF 实例”页页。展开“保留的 WF 实例”部分可显示具有最多“活动或空闲”或“已挂起”实例的排名前五位的“活动或空闲”或“已挂起”的 .NET Framework 4 工作流服务。有关如何监控暂留的工作流的详细信息,请参阅持久工作流的实时监控。
备注
AppFabric 不支持暂留 WCF 服务实例。只有工作流 (WF) 服务实例才能使用 AppFabric 暂留功能。
WCF 调用历史记录。此部分显示已启用监控的 .NET Framework WCF 和 WF 服务的 WCF 调用历史记录的汇总。它提供在“时间段”下拉列表中选择的时间范围内所有 WCF“已完成的调用”、“错误”和“节流点击量”的汇总。单击任意汇总链接可将您转到相应的“跟踪的事件”页,其中包含特定于原始类别的查询结果数据。展开“WCF 调用历史记录”部分可显示具有最多“WCF 完成的调用”和“WCF 服务异常”的排名前五位的服务。还提供“服务异常引起的错误”(主要由失败或错误的调用导致)和“用户定义的错误”的细分。有关详细信息,请参阅使用 WCF 调用指标进行历史监控。
WF 实例历史记录。此部分显示在“时间段”下拉列表中选择的时间范围内已启用监控的 .NET Framework 4 工作流服务实例的“激活”、“失败”和“完成”的历史摘要。单击任意汇总链接可将您转到相应的“跟踪的 WF 实例”页页,其中包含特定于原始类别的查询结果数据。展开“WF 实例历史记录”部分可显示“实例激活”和“失败实例”数量最多的排名前五位的 WF 服务。还按结果(已恢复与未恢复)细分失败实例的数量。有关详细信息,请参阅使用工作流指标进行历史监控。
AppFabric 仪表板指标
对于 IIS 层次结构中的所选级别或“作用域”中 Windows Process Activation Service (WAS) 托管的 .NET Framework 4 WCF 和 WF 服务,显示 AppFabric 仪表板指标。作用域的不同级别包括服务器、站点和应用程序。通过在 IIS Manager 的“连接”窗格(左窗格)中选择 IIS 层次结构中的服务器、站点或应用程序可确定作用域。每个作用域中各部分内显示的指标集合均相同。这表示您会在每个作用域看到相同的指标名称,但是这些值会根据作用域中包含内容的不同而异。通过更改 IIS 层次结构中的所选级别,您可以显示服务器或站点上所有服务实例的指标,或者可以显示仅与所选应用程序相关的指标。特定视图中显示的监控数据的数量与“配置 WCF 和 WF”对话框中**“监控”**选项卡上为该特定作用域配置的值相对应。
备注
如果参与应用程序的监控级别设置为“运行状况监控”或更高,则 AppFabric 仪表板所显示的数据数量不会发生变化。但是,更改作用域以包含已启用监控的不同数量的服务将导致指标发生变化。
有关配置作用域和指标的详细信息,请参阅为服务器、站点或应用程序配置 WCF 和 WF:“监控”选项卡和用于服务器、站点、应用程序和虚拟目录的“配置”对话框。
监控和暂留默认值
将 .NET Framework 4 服务安装到 AppFabric 时,服务本身将自动配置以下两个监控默认值。您可以使用服务器、站点、应用程序或服务配置对话框中的**“监控”**选项卡更改其设置。有关详细信息,请参阅为服务器、站点或应用程序配置 WCF 和 WF:“监控”选项卡和配置服务:“监控”选项卡。
监控级别。默认情况下,对所有服务启用监控。默认监控级别配置为“运行状况监控”,这是五个监控设置(“疑难解答”、“端对端监控”、“运行状况监控”、“只是错误”和“关闭”)的中间级别。“运行状况监控”是应用程序的日常运行状况监控指标的最佳性能选择。也是仪表板上要使用的所有指标的最低要求。这些指标包括跟踪服务之间的消息流、WCF 和 WF 事件以及其他事件。“运行状况监控”还包括简要的“只是错误”级别的错误,以帮助简化疑难解答。如果发生问题,您可以通过启用更详细的监控级别来增加监控数据量,解决问题,然后将监控级别还原为默认的“运行状况监控”设置。有关监控级别以及如何选择最适合您的监控要求的级别的详细信息,请参阅配置监控。
监控数据由事件收集服务收集,并且通过使用 DefaultMonitoringConnectionString 连接字符串写入默认监控存储。此数据与“跟踪的事件”页页上显示的内容相对应。在**“监控”**选项卡上,默认已启用“启用数据库事件集合”,并且“跟踪的事件”页将显示任何已配置的监控存储中可用的所有数据。如果禁用事件集合,则将看不到以后发生的任何新事件。但是,如果存储中仍存在过去跟踪的事件,则仍会在“跟踪的事件”页中看到这些事件。为了防止查看这些旧事件,您必须从配置中手动删除现有连接字符串。有关详细信息,请参阅配置事件集合服务。
在您配置某个监控级别时,将为该级别启用相应的默认跟踪配置文件。跟踪配置文件是针对事件类型以及从工作流实例获取的所需信息的筛选器声明性定义。如果默认配置文件不符合您的监控要求,您还可以编写自定义跟踪配置文件。有关跟踪配置文件以及如何配置这些配置文件的详细信息,请参阅配置跟踪。
**诊断消息记录和跟踪。与“数据库事件集合”和“监控级别”不同,“诊断消息记录和跟踪”默认处于禁用状态。此功能将数据发送到可配置文件(可通过服务跟踪查看器实用工具查看),而不是将数据发送到监控存储。“诊断消息记录和跟踪”**设置不会对仪表板中显示的内容产生影响。而是 AppFabric 仪表板之外的附加机制,通过使用 .NET Framework 跟踪和日志记录机制帮助进行疑难解答。有关配置本功能的详细信息,请参阅“配置诊断跟踪和消息记录”对话框对话框。
除了默认的监控功能外,AppFabric 还提供默认的暂留功能。将 .NET Framework 4 WF 服务安装到 AppFabric 时,将默认自动配置暂留。与监控设置类似,您可以使用服务器、站点、应用程序或服务配置对话框中的**“暂留”**选项卡来更改工作流的暂留配置。工作流暂留数据通过使用 DefaultPersistenceConnectionString 连接字符串写入默认暂留存储。有关详细信息,请参阅为服务器、站点、应用程序或虚拟目录配置 WCF 和 WF:“工作流暂留”选项卡和配置服务:“工作流暂留”选项卡。
监控和暂留存储以及仪表板指标
AppFabric 仪表板指标是从监控和暂留存储获取的。当前作用域中可以存在多个监控或暂留存储,具体取决于暂留和监控的配置。如果服务配置为使用不同的存储,则仪表板将显示与当前作用域中的服务相关联的所有存储的综合指标。“暂留的 WF 实例”指标是一个或多个暂留存储中工作流状态数据的汇总。“跟踪的 WF 实例”和“WCF 调用历史记录”指标是一个或多个监控存储中数据的汇总。
要点 |
---|
在负载下,监控数据库中的临时表可以生成将由 SQL 代理作业处理的记录的预备。这导致 AppFabric 仪表板上显示的信息在 10 分钟左右过期。此外,如果将时间范围限制为比较有限的最近时间段(而不是默认的 24 个小时),您将不会看到自从还预备这些内容以来的任何新事务。 |
暂留的 WF 实例。这些指标显示仪表板被调用时一个或多个暂留存储中暂留的工作流实例的当前状态。对于在此部分中显示信息的工作流,必须设计为使用暂留。长期运行的工作流,或需要在工作流生存期内保留的敏感数据或计算出的关键数据执行操作的工作流,更可能使用 .NET Framework 4 暂留。通常,不使用暂留的工作流运行速度很快,并且如果进程意外退出,对其状态的保留并不是十分重要。
此外,必须为 AppFabric 中的 WF 服务配置暂留才能使用 AppFabric 暂留功能。AppFabric 能够通过其暂留存储和管理工具,使用暂留功能保存要持久写入的工作流。有关如何为服务启用 AppFabric 暂留的信息,请参阅配置工作流暂留。
WCF 调用历史记录。这些指标是所选 AppFabric 仪表板作用域内服务的一个或多个监控存储中的 WCF 已完成的调用、错误的数量以及节流点击量的历史摘要。要跟踪此数据,必须为该服务启用 AppFabric 事件集合。有关如何为服务启用事件集合的信息,请参阅配置事件集合服务。
WF 实例历史记录。这些指标是一个或多个监控存储中跟踪的 WF 实例的历史摘要。对 .NET Framework 4 工作流服务实例的“激活”、“失败”和“完成”进行了汇总。若要跟踪此数据,必须启用高于或等于“运行状况监控”的 AppFabric 监控级别。有关如何为服务启用监控级别的信息,请参阅配置监控。
下表汇总了何时根据 WF 服务的配置为其显示 AppFabric 仪表板指标。
.NET Framework 服务类型 | 已配置暂留 | 已配置有效的监控级别 | “暂留的 WF 实例”部分的指标(“暂留的 WF 实例”页) | “WCF 调用历史记录”部分的指标(“跟踪的事件”页) | “WF 实例历史记录”部分的指标(“跟踪的 WF 实例”页) |
---|---|---|---|---|---|
WF 服务 |
否 |
否 |
否 |
否 |
否 |
WF 服务 |
是 |
否 |
是 |
否 |
否 |
WF 服务 |
是 |
是 |
是 |
是 |
是 |
WF 服务 |
否 |
是 |
否 |
是 |
是 |
下表汇总了何时根据纯 WCF 服务(无工作流)的配置为其显示 AppFabric 仪表板指标。因为 AppFabric 不提供对 WCF 服务暂留的任何支持,所以只有“WCF 调用历史记录”部分为其显示数据。
.NET Framework 服务类型 | 已配置暂留 | 已配置有效的监控级别 | “暂留的 WF 实例”部分的指标(“暂留的 WF 实例”页) | “WCF 调用历史记录”部分的指标(“跟踪的事件”页) | “WF 实例历史记录”部分的指标(“跟踪的 WF 实例”页) |
---|---|---|---|---|---|
纯 WCF 服务 |
N/A |
否 |
否 |
否 |
否 |
纯 WCF 服务 |
N/A |
是 |
否 |
是 |
否 |
WCF 用户定义的事件
.NET Framework 4 能够以编程方式将 Windows Communication Foundation (WCF) 用户事件插入 .NET Framework 提供的 ETW(Windows 事件跟踪)事件流。默认情况下,将为配置为至少使用“运行状况监控”监控级别的应用程序发出和捕获所有用户事件。在简要的“只是错误”级别,将仅发出和捕获 WCF 错误用户事件。AppFabric 将收集这些 WCF 用户事件,并将其存储在其监控数据存储中。用户定义的事件信息可分两页显示。
“AppFabric 仪表板”页反映错误摘要指标计数器中给定时间段内在“错误”严重性级别发出的用户事件的计数。
**“跟踪的事件”页将显示与错误相关(如果“事件”字段中选择了“所有 WCF 事件”选项)或无关(如果“查询控制”中未指定“事件”字段)的所有用户定义的事件。查询生成器将“所有 WCF 错误”选项下的 WCF 用户定义的错误子选项用于“事件”条件。如果“跟踪的事件”**页中选择了用户定义的错误事件,则错误将显示在“详细信息”窗格中的“错误”选项卡中。
有关如何以编程方式向 ETW 流添加用户事件的示例,请参阅 WCF 分析跟踪 (https://go.microsoft.com/fwlink/?LinkId=184956)。
AppFabric 仪表板支持多个存储
AppFabric 仪表板支持跨多个暂留和监控数据存储显示数据。AppFabric 仪表板假定给定服务的暂留数据驻留在单个暂留存储中,给定应用程序的监控数据应驻留在单个监控数据存储中。如果使用多个监控或暂留存储,在应用程序或服务切换存储时,应从原始存储中删除旧数据。在环境中的其他应用程序或服务仍使用原始存储的情况下,未能执行此操作可能导致意外或不一致的结果。
以下示例可以帮助您了解该问题。假设包括 WCF 和/或 WF 服务的应用程序 1 和 2 配置为使用监控数据存储 X。应用程序 1 稍后重新配置为使用监控数据存储 Y 而不是 X,其旧应用程序 1 的数据保留在监控数据存储 X 中。在应用程序作用域查看 AppFabric 仪表板时,应用程序 1 的指标将正确显示其当前存储 Y 中的数据,因为只有一个监控存储可与应用程序相关联。但是,在服务器或站点级别查看 AppFabric 仪表板时,计数器包含应用程序 1 的当前存储 Y 中的正确数据,及其旧存储 X 中的旧数据。
在此例中,正确的过程如下:在将您的应用程序配置为使用新监控存储 Y 时,清除旧监控存储 X 中应用程序 1 的数据。从而确保 AppFabric 仪表板可提供应用程序 1 的正确信息。您可以使用相应的数据库工具和方法在数据库级别执行此清除操作。
区分大小写的查询
当 SQL Server 监控数据库配置为使用二进制排序规则时,任何使用 AppFabric 仪表板查询生成器的查询的参数都区分大小写。在这种情况下,当 AppFabric 仪表板查询生成器中提供查询子句时,必须为“计算机名称”、“站点”和“虚拟路径”指定准确的字符串大小写。为了避免区分大小写问题,可以手动更改 ASEventSourcesTable(其中包含如“计算机”、“站点”、“虚拟路径”、“应用程序虚拟路径”和“服务虚拟路径”等字段),以便排序规则不区分大小写。
本节内容
另请参阅
概念
2011-12-05