使用应用程序诊断处理事件
使用警报是使用 System Center - Operations Manager 的标准部分。 .NET 应用程序监视的警报显示你将从其他警报中识别的信息,例如常规信息和产品知识。 但是,.NET 应用程序警报也在警报描述中提供了链接。 该链接会打开在 Application Diagnostics 中发出警报的事件。 在此,你可以查看更多详细信息,这些信息将有助于你排查和找出问题和解决方案。
注意
要对应用程序性能监视中的警报进行深度排查,通常需要访问应用程序源代码,并且可能需要开发人员提供信息。 你可以安装 Team Foundation Server 工作项同步管理包并将警报转发给开发团队使用的 Team Foundation Server。 Team Foundation Server 工作项同步管理包跟踪并同步对 Team Foundation Server 工作项所做的更改,以及对关联的 Operations Manager 警报所做的更改。
调查 .NET 应用程序警报
减少确定、分配和解决问题所需的时间是 Operations Manager 中应用程序监视的核心目标。 收到警报时,需要知道导致它的原因 - 托管应用程序或代码的系统,能够显示数据来备份该结论,并清楚地看到谁应该解决问题。 若要了解系统是否是系统问题,需要在事件发生时知道系统的状态。 要了解根本问题的发生位置,你需要知道所发生的一系列调用。 若要进一步调查,需要比较同时发生的类似事件和相关事件。 事件详细信息、性能计数器和分配的链一起将帮助你筛选出来应该首先查看此问题的人员。 如果是系统错误,可以调整主机系统的可用资源或配置,并在主机级别解决问题。 如果应用程序失败,问题需要连同发生失败的代码行一起转到应用程序团队。 以下是关于在 Application Diagnostics 中使用视图、筛选器和设置的一些策略,用于帮助你了解根本原因、查找解决方法以及更好地知道解决问题需要涉及的人员。
从警报打开应用程序诊断
由于你正在响应与配置的特定应用程序组相关的警报,因此,确定活动警报的范围并按应用程序组查看它们会很有帮助。 在操作控制台的导航窗格中,选择“监视”,展开“应用程序 Monitoring.NET 监视”,选择配置为监视其警报的文件夹,然后选择“活动警报”。
双击想要打开的警报。
在“警报属性”页上,选择“警报说明”窗格中的链接。 这会在 Web 浏览器中打开 Application Diagnostics,这是 Operations Manager 中的一项新的监视功能。 在这里,在 “事件属性 ”选项卡上,可以看到有关警报的信息,例如性能指标、调用堆栈和收集说明。 通过使用选项卡,可以查看类似事件、相关事件、事件链以及性能计数器。 这是有关针对应用程序引发的性能或异常事件的详细信息,此信息将帮助你诊断问题是来自应用程序本身、对 Web 服务的调用还是对数据库的调用。 有关“事件属性”选项卡的详细信息,请参阅“性能事件详细信息”。 在加载事件信息后,选择“是”关闭主窗口。
注意
此指向 Application Diagnostics 的链接也在“警报上下文” 选项卡上。
使用以下过程调查警报。 IT 专业人员很有可能想要使用“事件属性”、“性能计数器”和“分布式链”选项卡上的信息,以查找发生的事件,了解问题是否由系统问题所引起,以及调查根本原因的所在位置。 开发人员很有可能需要使用“分布式链”、“类似事件”和“相关事件”选项卡上的信息,以围绕着代码问题了解特定上下文。
在应用程序诊断中使用异常事件属性进行故障排除
在要调查的异常警报的“应用程序诊断”窗口中,选择“ 事件属性 ”选项卡以查看有关警报的关键详细信息。 这是查看警报问题是否明显的第一个要检查的位置。 在“事件属性”页上看到的一些关键信息类别如下所示:
源 若要显示应用程序加载和响应时间,请选择 左上角的“源 ”链接。 此信息显示系统在异常事件失败上下文中进行的加载。 若要查看性能计数器并进一步评估系统状态,请在“源”页上选择“ 趋势报告 ”选项卡。若要查看此应用程序正在处理的计算机,并查看计算机上是否存在负载均衡问题,请选择“ 计算机 ”选项卡。若要查看相关调用的细分,或事件基于链发生的位置,请选择 “拓扑 ”选项卡。
“异常链” 系统将为异常事件显示异常链。 展开“异常链”以查看发生的实例异常。
“异常数据” 系统将为异常事件显示异常数据,异常数据通过异常来显示为类设置的参数和变量。
“堆栈” 这是调用堆栈或事件的发生顺序。 利用“执行树视图”,你可以展开节点以调查调用。 选择 “资源组视图” 单选按钮以显示有关花费时间的概述。 此视图回答问题在哪个层上,或者问题发生在哪里。
“模块列表”此列表 显示异常事件,并显示异常时加载的模块。
“集合注释” 集合注释显示关于事件的任何注释。
提示
对于性能事件、类似事件、相关事件、分布式链和性能计数器,请使用用于异常事件的故障排除步骤。
在应用程序诊断中使用性能事件属性进行故障排除
在要调查的性能警报的“应用程序诊断”窗口中,选择“ 事件属性 ”选项卡以查看有关警报的关键详细信息。 这是查看警报问题是否明显的第一个要检查的位置。 在“性能属性”页上看到的一些关键信息类别如下所示:
源 若要显示应用程序加载和响应时间,请选择 左上角的“源 ”链接。 此信息显示系统在异常事件失败上下文中进行的加载。 若要查看性能计数器并进一步评估系统状态,请在“源”页上选择“ 趋势报告 ”选项卡。若要查看此应用程序正在处理的计算机,并查看计算机上是否存在负载均衡问题,请选择“ 计算机 ”选项卡。若要查看相关调用的细分,或事件基于链发生的位置,请选择 “拓扑 ”选项卡。
“最慢的节点” 这是“执行树视图”中最慢的节点的列表,并且是应用程序中性能问题的最可能的原因。
“堆栈” 这是调用堆栈或事件的发生顺序。 利用“执行树视图”,你可以展开节点以调查调用。 选择 “资源组视图” 单选按钮以显示有关花费时间的概述。 此视图回答问题在哪个层上 - 问题发生在哪里?
“集合注释” 集合注释显示关于事件的任何注释。
使用性能计数器排查系统状态问题
若要查看关键性能计数器的表或关系图,请选择“ 性能计数器 ”选项卡。
注意
在监视的系统上收集和缓存十五分钟的性能数据。 引发性能或异常时,性能数据将连同事件一起发送回 Operations Manager。
选中要包含在信息中的性能计数器的性能计数器复选框,然后选择“ 应用”。
使用此显示中的信息来评估正在调查的事件周围的系统性能状态。 例如,如果在发生事件时性能一律低下,则警报可能是由于系统性能问题所引起的。
使用分布式链查找根本问题
选择 “分布式链 ”选项卡以查看调用顺序,即事件所属的事件链。 这有助于了解正在调查的事件受到来自应用程序或相关应用程序的其他事件的影响。
在分布式链视图中,选择链中的某个调用或链接。 如果相同对象具有多个事件,则将打开链向导。 此向导允许你选择可能的事件以关联到事件链中。 若要开始向导,请选择“ 下一步”。
注意
从所选调用中获取时间戳,因为你将在下一页上将此时间戳与事件配对。
在 “选择可能的链事件 ”页上,选择要检查的事件。 理想情况下,它将是时间戳与在分布式链视图中选择的调用最接近的事件。
接下来看到的内容取决于正在调查的问题类型。 例如,如果选择找不到服务器的事务,则可以转到该事件的事件属性页。 这样,你可以将服务器错误与你最初调查的事件进行配对。 由于这是一个服务器错误,因此你知道问题不在客户端,而是服务器端。 你可能会看到所选事件图,并能够在页面加载时间方面分解性能事件。
从事件属性中,选择服务器端调用,然后选择 “性能计数器 ”选项卡以获取更多详细信息。
通过查看类似事件进行故障排除
选择“相似事件”选项卡以查看是否多次引发类似的警报,这可能意味着应用程序出现问题。
可通过以下一些方式筛选类似事件。 选择 “相似方式” 下拉菜单以选择要如何对类似事件进行分组:按问题、操作、异常类或失败的函数。 在“从” 和“至” 文本框中,你可以设置要查看类似事件的日期范围。 使用“ 相似事件 ”选项卡查看类似的警报是否已引发更多次,这可能意味着应用程序出现问题。
“按问题筛选” 向你显示相同类型的类似事件。 例如,可以看到对象引用未设置为对象实例的所有类似事件。 选择“ 关系图视图 ”按钮,可以看到当前问题的事件总数和来自其他问题的事件总数的比率。 利用此信息,你可以快速查看此特定事件所具有的问题的重要性。 如果当前许多类似事件具有相同的问题,则可能是优先级较高的问题要解决,因为它会对减少收到的警报数量产生很大影响。
按操作筛选 按以下项对类似事件进行分组:安全性、性能、连接和应用程序故障。 选择“ 关系图视图 ”按钮,可以通过这些方面类别查看相似事件的数量,并更轻松地查看问题可能与哪些事件相关。
“按异常类进行筛选” 会根据在配置过程中命名事件的方式对类似事件进行分组。 大概,这些名称将帮助你识别它们的异常类型,例如 System.NullReferenceException 类。
“按失败的函数进行筛选” 会按引起异常的相同函数对类似事件进行分组。 这可能意味着入口点存在问题。
请记住,这些事件都是与定义相关的类似事件,这些筛选器可让你更好地了解它们是如何相关的。 因此,使用“相似事件”筛选器时,你可能会发现,大多数事件的总问题与你查看的事件相同,这是性能问题,它们属于你配置的异常类,而其中一半的类似事件具有相同失败的功能。 操作:函数转至需要更新函数代码的开发人员。
通过查看相关事件进行故障排除
选择“相关事件”选项卡可查看按时间相关的事件。 这些异常与可能让你深入了解问题的其他事件相关。
若要查看列表中的事件详细信息,请选择“说明”列中的链接。
在相关事件中,你可能会注意到,在特定时间内所有事件的响应时间较慢。 这可能表示系统出现问题,而不是代码,因此可能会将其重定向到解决方案的 IT 专业人员。
后续步骤
- 若要了解如何查看警报并开始调查所引发的问题,请查看 查看和调查 .NET 应用程序的警报。