Utility 是利用,使用的意思,utilization是指使用效率,利用率的意思。
SQL Sever 内置 Utility Feature,便于集中监控Server关键资源(CPU和Disk)的使用情况。使用utility 工具,用户可以同时监控多个SQL Server Instance 和 DAC对CPU 和 硬盘资源的使用情况,这些数据会存储在sysutility_mdw 数据库中,被保留一定时间,企业可以基于这些数据做进一步的分析,从而能够做更好的资源规划。
Benefits of the SQL Server Utility
The SQL Server Utility models an organization’s SQL Server-related entities in a unified view. Utility Explorer and SQL Server Utility viewpoints in SQL Server Management Studio (SSMS) provide administrators a holistic view of SQL Server resource health through an instance of SQL Server that serves as a utility control point (UCP). The combination of summary and detailed data presented in the UCP for both underutilization and overutilization policies, and for a variety of key parameters, enables resource consolidation opportunities and resource overutilization to be identified with ease. Health policies are configurable, and can be adjusted to change either upper or lower resource utilization thresholds. You can change global monitoring policies, or configure individual monitoring policies for each entity managed in the SQL Server Utility.
Each instance of SQL Server and data-tier application managed by the SQL Server Utility can be monitored based on global policy definitions or based on individual policy definitions.
一,使用Utility,主要分为三步:
二,Create UCP
Utility Control Point 是一个使用效率控制点,提供一个资源使用效率的Consolidated View。
1,打开Create UCP Wizard
在View menu下,打开Utility Explorer,进入Utility Explorer,如果之前没有创建过UCP,SSMS会打开一个Getting Started Tab,显示Utility Configuration Steps,点击Create a Utility Control Point(UCP),进入 Create UCP Wizard
Alternatively,也可以通过Utility Explorer顶部的功能Menu来创建UCP,点击Create Utility Control Point 按钮,进入 Create UCP Wizard
2,Specify Instance
在一个指定的SQL Server Instance上创建UCP,Utility 会在这个Instance上创建UCP的数据库,jobs 和 Policies。
3, Specify Account
指定一个Windows Count 作为Agent Proxy 运行的账号
4,Instance Validation
5,summary
简单汇总 Instance 和 Account的配置信息,以供Check
6,UCP Creation
进行UCP的创建工作,Action列出创建UCP的内部Action。
三,UCP GUI
UCP 创建成功之后,Main GUI分为Left Pane 和 Right Pane。
Left Pane显示 Utility Explorer 的树形结构,Root Node 是Utility(UCP的Name);
Right Pane 是Utility Explorer Content,当点击UCP的不同节点时,Utility Explorer Content会显示不同的Content。
1,Dashboard Report
当点击Root Node时,Utility Explorer Content显示的Utility Dashboard Report,Dashboard Report 统计的是Managed Instances 和 DAC 的资源(CPU 和 Storage)Utility,如下图
Utility Report的指标是Health Level:Well Utilized,Overutilized 和 Underutilized。
默认情况下,UCP每十五分钟收集一次Data,收集的Data是Managed Instance 的Resource(Intance CPU,Computer CPU,Storage Volume,Database File)利用情况,根据资源的利用情况,将Resource Utility分为 Well Utilized,Overutilized 和 Underutilized 三个等级。
Utility Storage Utilization 是指 UCP 监控的所有Managed Instance对Storage加总之后的使用情况。
Tthe storage utilization pie chart displays the ratio of used space to free space on volumes residing on computers that contain all managed instances of SQL Server。
例如:Dashboard Report的 Utility Storage Utilization 分析
Utility Summary显示Managed Instances 共有三个,Managed Instance Health中显示2个Instance是Overutilized,其中有1个Instance处于No Data Available状态,就是说,UCP无法获取这个Instance的数据,Dashboard Report实际上统计的是2个Instance的CPU和Storage的使用情况。
Utility Storage Utilization 显示 Used Space 是1485.5GB,Free Space是675.5GB,意思是,2个Instance的Storage volumn的加和是2161G,2个Instance共使用1485.5GB,空闲空间是675.5GB。
Utility Storage utilization history 是指2个Instance的Storage volume的使用情况,按天统计,Used Space是1.5T,跟Utility Storage Utilization 显示 Used Space 是1485.5GB 相符。
四,Enroll Instance
通过Enroll Instance,增加Managed Instance,这样一个UCP就能同时监控多个Instance的CPU和Storage Volume的使用情况。
1,右击Managed Instances,弹出快捷菜单,点击Enroll Instance...,打开Enroll Instance Wizard
2,指定运行Utility Collection Set的 Instance和Account
Enroll instance会在instance上启用Utility Collection Set,这个Utility Collect Set 位于Management->Data Collection->System Data Collection Sets 下,叫做Utility information,Utility information 会 Periodically 收集和发送data(Instance 对资源的使用数据)到UCP中,UCP通过这种方式收集各个managed instance对资源使用的数据,这就是UCP监控的内部机制。
Utility information Collects data about instances of SQL Server that are managed in the SQL Server Utility.
默认情况下,频率是15minutes,不可更改,就是说每15分钟,utility information 会上传一次Instance 对资源的utility给UCP,这个频率在Utility Administration 的Data Warehouse中设置。
3,查看Managed Instances
Top Pane 显示managed instance的utility,绿色勾,表示Well utilitized;红色向上arrow,表示OverUtilized;绿色向下arrow,表示UnderUtilized。
Bottom Pane 显示Managed Instance的 utility history,Property Details Tab是managed instance的property,包括;Policy Tab是UCP对Managed Instance使用的Policy,能够在Utility Administration中修改Global Policy。
4,配置Individual Policy
Policy 分为Global Policy 和Individual Policy,而Global Policy 是在Utility Administration的Policy Tab中配置的,适用于所有的Managed Instances;如果需要对Individual Instance使用特殊的Policy,可以在Managed Instances的Policy Details中配置。
共有四个utilization Policy,打开Managed Instance CPU Utilization Policies,选择Use the Global polic,应用global policy;选择Override the global policy,配置Overutilized 和 Underutilited的threshold,点击Apply,就能为这个Managed Instance 应用individual policy。
五,Utility Administration
Utility Report的指标是Health Level:Well Utilized,Overutilized 和 Underutilized,而衡量这三个Level的cardinality 是在Policy中设置的。
Policy 分为Global Policy 和Individual Policy,而Global Policy 是在Utility Administration的Policy中配置的;如果需要对Individual Instance使用特殊的Policy,可以在Managed Instances的Policy Details中配置。
1, Manage Policy
Policy 是Global,适用于所有的Managed Instances,系统提供一个Default Policy,可以View 和 Modify,如下图,打开Global Policies For Managed Instances。
默认的cardinality 是:如果CPU的利用超过70%,那么CPU处于Overutilized状态;如果CPU的利用低于0%,那么CPU处于Underutilized状态;如果CPU的利用在70%和0%之间,那么CPU处于Well utilized状态。Storage volume和 Database File的资源利用率的检查Formula相同。
直接修改Cardinality,并点击 Apply 按钮应用该Policy。
2,Volatile Resource Policy Evaluation Tab
这个Tab是设置 评估资源utility是否Overutilized 或 Underutilized的Policy,实际上是设置时间窗口和 容错度(Fault tolerance)。
数据收集的频率是在DataWarehouse Tab中设置的,默认的设置是:collection set Upload frequency Every 15 minutes,即每15分钟,Managed instance 的Collection Set 会上传一次资源的utility 数据给UCP。
默认设置:time window 是 1hour, Fault tolerance 是20%,Upload Frequency 是15Minutes。
意思是,在1hour内,UCP会收集到4次数据,如果有1次数据超出Overutilized threshold,那么percent in violation 就是1/4=25%,由于 25%>20%,因此,UCP 评估的结果是Overutilized。默认的设置是不允许任何一次数据超出Overutilized threshold,而不被评估为Overutilized,意思是只要有一次Overutilized,那么就会被mark 为 Overutilized。
如果对资源的Overutilized不是很 sensitive,允许1hour内出现1次Overutilized,如果其他3次没有Overutilized,那么就不Mark为Overutilized。实现这个scenario,可以设置较大的Fault tolerance。
例如,time window 是 1hour, Fault tolerance 是30%,Upload Frequency 是15Minutes。
意思是,在1hour内,UCP会收集到4次数据,如果有1次数据超出Overutilized threshold,那么percent in violation 就是1/4=25%,由于 25%<30%,因此,UCP 评估的结果是没有Overutilized。如果25% 大于Underutilized 的 Fault tolerance,那么UCP会标记Instance处于Well Utilized状态。
3,Data Warehouse Tab
存储Utility数据的DB是 sysutility_mdw;
数据retention period 的时间可以配置,数据库 sysutility_mdw 占用de存储空间不会很大,默认值保存一年,是合理的。
Collection Set Upload Frequency 是 Every 15 minutes,不可更改,UCP每15分钟从所有的Managed Instance收集一次数据。
参考文档:
Utility Administration (SQL Server Utility)
SQL Server Utility
SQL Server Utility Features and Tasks