问题
完全监视SQL Server及其相关环境非常麻烦。该 SolarWinds的服务器和应用程序监视器(也称为SAM)提供了一个一站式的方法来轻松,无缝地实现顶级的监测和报告系统,为您的SQL Server。SAM应用程序不仅限于SQL Server,但对于本技巧,重点将放在SQL Server产品可用的许多优点和功能上。
解
当使用SQL Server时,几个关键组件可以单独或组合使用,从而影响数据库甚至特定查询的性能和可用结果。这种情况有助于 SolarWinds Server和Application Monitor的许多全局功能 (SAM)开箱即用。SAM产品提供单个报告仪表板,以跟踪和监视所有SQL Server(以及许多其他应用程序)。只需快速设置,您就可以在很短的时间内(通常不到一个小时)跟踪和监视SQL数据库服务器。借助网络声纳向导进行设置。此工具允许自动发现要监视的应用程序(建议您首先限制要监视的应用程序的范围,既要确保跟踪正确的计算机,又要确保监视正确的应用程序)。
以类似的方式,您可以手动添加一个节点,从而可以快速轻松地添加目标服务器。
实施中的服务器和应用程序管理(SAM)
一旦设置了SQL Server节点进行监视,就可以立即开始监视。SAM实际上提供了两个用于观察SQL Server的模板:
- 用于SQL Server的AppInsight模板,可创建SQL Server系统的完整和完整视图,以及
- Microsoft SQL Monitor模板,这是一个基本模板,如下所示
可以将两个模板轻松添加到已发现的任何节点。
此外,还提供了第三个选项,用于创建您设计的自定义模板。这样的模板通常仅出于非常特定的目的,提供了仅监视自定义的特定指标的功能。
即使这样,对于大多数组织来说,SQL Server的AppInsight模板仍然是最佳选择。它为您预定义了所有可用指标的整体360度视图;它包括100多个开箱即用的指标,包括计数器,例如:锁定等待时间,平均等待锁定时间,活动会话,最昂贵的查询,最活跃的会话,最上面的表和索引,页面拆分以及页面写/读。此外,实际上可以针对组织特定目的自定义AppInsight for SQL模板。
将 AppInsight for SQL模板分配给节点后,指标将直接流入仪表板,您可以开始探索所有可用的见解。如下图所示,“应用程序摘要”屏幕为您提供了所有SQL Server节点的高级视图。您可以在左侧快速查看所有已添加到SAM的SQL Server;您可以从中快速看到所有SQL Server。请注意,这些图标如何将您引导到特定实例的问题,同时还提供了具有潜在“问题”要解决的服务器列表。红色和感叹号不好,绿色交通灯好。同样,右上角的图形可以快速显示整个SQL Server环境。
或者,可以将SAM应用程序摘要屏幕用作导航到特定服务器的Application Insight屏幕的起点。该视图还提供了一个快速的工具提示,其中概述了该特定服务器的运行状况以及为何对其进行标记。
从任一导航路径中,我们都可以快速向下钻取指标,并找出SAM指示可能存在问题的位置。例如,在下图中,平均磁盘读取和写入引起警报。但是,我们还可以看到“缓冲区”,“缓存”和“连接”具有绿色指示灯。
单击单个项目可深入到正在评估的特定数据点的完整详细信息。可用于该指标的详细信息数量实在令人惊讶。提供了统计值的定义,以及有关可能出现的问题的详细信息,甚至可以用来解决问题的补救策略。此外,交互式趋势图说明了数据指标的历史视图,并提供了一种更改该图表周期的方法。
查看此屏幕时,您会注意到在左侧,列出了SQL Server的所有性能指标;此导航栏使您可以快速选择和查看与仪表板查看器相关且感兴趣的另一个指标。当然,正式的警报功能通常会很有帮助,接下来将进行回顾。
警报
当然,在检查环境时,如果某些情况发生,您希望收到警报,并且SAM在功能上包括强大的警报。如下所示,警报被汇总到活动警报下的单个仪表板对象中。
以与服务器详细信息上注明的警告通知类似的方式,单击特定警报会钻取该项目的数据。当然,如果您确定不需要特定的警报,则可以使用“关闭此警报”链接来禁用该警报。当您使用由AppInsight模板为SQL定义的警报时,这非常有用,但是您想要禁用一个与您的工作负载无关的特定警报。
或者,可以使用“编辑警报”定义的功能,该功能允许对用于定义警报的特定详细信息进行调整。可调整的项目包括微调触发时间,责任方以及警报是启用还是禁用。
警报还包括一个“确认”警报的简洁功能。使用此功能,警报将被静音,并且该警报的未来通知将被暂停。此外,确认记录在审核表中,并且可以输入与确认有关的注释。对于那些希望直接通过电子邮件进行确认的人,此SolarWinds Thwack社区文章提供了有关完成该过程的建议: 单击此处开始。
SAM的评估和监视已超出了简单的警报和通知范围。向下钻取有多个方向。
整体看来
当然,单个警报是有益的,但是能够看到问题潜在原因的完整360度全景图则更为有益。通常,监视和故障排除过程的第一步是探索您环境中的特定SQL Server。如下图所示,我们能够快速查看正在审查的SQL Server的大量不同指标。我们可以毫不费力地将这些指标与警报(日期和时间)联系起来,以大致了解服务器上的当前问题。数据库服务器指标屏幕包括以下项目:
- SQL版本和版本
- 所有活动警报
- 数据库列表和大小
- 当前问题发布到错误日志
- 正在运行的与SQL相关的服务
- 项的趋势视图,例如缓冲区,缓存,内存,锁,磁盘和连接
对于DBA而言,仪表板视觉效果(列出前10个最昂贵的查询)可能会非常有益。
单击查询之一可查询有关查询的完整详细信息,包括查询的文本。
通过单击数据库并钻取有关数据库的统计信息,可以获得对数据库的洞察力。在此屏幕上,可以轻松获得诸如数据库和事务日志I / O,数据库大小,日志大小和表大小之类的指标。
此外,趋势值可以以存储和日志统计为中心进行检查,索引碎片的排名也可以。
以类似的方式,我们可以向上浏览处理器链,并深入了解有关服务器本身的细节。在此级别上,我们可以看到物理机或虚拟机的完整图片。可用统计数据的数量非常可观且详尽。仪表板提供了一系列针对服务器所有组件的指标,例如:
- 网络延迟和数据包丢失
- 内存利用率
- CPU利用率
- 响应时间
同样,有关虚拟机详细信息和组件列表的有用和可用项目。
单击“虚拟机”名称,完全有可能进一步深入到虚拟化组件中。
报告书
到目前为止,我们回顾了检查与SQL Server直接相关的统计信息。SAM允许您根据SAM中最常见的功能生成报告,以补充其在线状态和仪表板。这些报告几乎涵盖了SAM的各个方面。
每个报告在执行后都可以简单地打印或导出为Excel或PDF。
对于想要自定义报告的个人,“编辑报告”链接将打开报告编辑器。
单击“编辑表”按钮后,可以轻松地修改报告以添加新字段,删除现有字段或调整项目(例如分组和排序)。
PerfStack分析与数据关联
使用 SolarWinds Server和Application Monitor,整个应用程序中的数据对于趋势分析和故障排除非常有帮助。 PerfStack Analysis进一步扩展了此功能, 从而可以使用分层的性能指标在特定时间段内进行数据关联。在下图中,除了CPU指标外,SQL Server中的用户连接和活动连接还与SQL Server平均读取和写入相关。度量的分层提供了对整体应用程序性能和用户体验的深入了解。
请记住,SAM在您的应用程序中提供了很多见识。借助 PerfStack Analysis,它可以在一个界面中查看整个应用程序中的相关性能指标,从而将其带入一个新的水平。
应用程序依赖关系映射
SolarWinds Server和Application Monitor具有无代理或基于代理的监视的灵活部署选项。使用基于代理的选项的新好处之一是使用 应用程序依赖关系映射功能。SAM将监视操作系统和应用程序的连接,向您显示“网络”视图,以了解您的应用程序正在与谁聊天。您可以看到诸如延迟,数据包丢失,端口,IOP等信息。
SAM可以通过自动创建映射向您显示应用程序的物理,虚拟和软件依赖关系的直观表示,从而使这些应用程序连接更进一步。这些地图可以进一步完善,并保存给各个部门和团队。
附加功能
SAM还提供了监视来自Amazon Web Services的基于云的服务的功能,并包括监视IIS和Exchange(均具有Application Insight模板)和IBM DB2,MySQL,Windows,Linux和Apache等应用程序。有关受支持的供应商的完整列表,请参阅: 受支持的供应商。
如您所见,SAM产品为您的SQL Server环境以及其他方面提供了广泛而全面的监视。SAM功能易于实施,通常使您可以在几分钟内安装和“开始工作”,而无需技术支持。您可以在“ 推荐要求”中查看完整的系统 要求。当然,通过提供以下功能,深度监控可以使DBA,开发人员和系统管理员受益:
- 自动发现服务器和应用程序
- 故障排除和停机时间更短
- 通过基于Web的界面易于使用
- 灵活地手动添加和修改受监视的服务器和应用程序
- 实时警报和通知
此外,您还可以将监视和研究范围从应用程序扩展到物理服务器,虚拟化层甚至云。