*更多关于SCOM的详细内容,请关注个人资料*算法
SCOM是经过管理包和代理共同完成被监视设备(被监视的设备也称之为SCOM代理)的性能和事件的收集,因此要让SCOM启动对服务器的监视,首先须要完成两个步骤:数据库
下载、解压并在SCOM管理控制台将SCOM管理包导入SCOM运行数据库。服务器
在要监视的服务器上安装SCOM代理。网络
安装在服务器上的SCOM代理和SCOM服务器之间构建起全部监视信息传递的通道,或者也能够理解成桥梁。该通道的做用以下:分布式
负责分发SCOM策略给被监视的设备,好比开启或关闭某个组件的监视,监视频率的更改等。ide
传递由SCOM发起的操做指令,好比Ping代理服务器、远程桌面链接代理、列出代理服务器进程和服务、远程执行代理的PowerShell命令、性能
负责传输从被监视的服务器上收集的事件和性能。spa
只有代理,SCOM还没法收集事件和性能数据了,由于,SCOM代理并不知道要在哪些服务器上收集、收集哪些性能和事件数据、用什么样的频率进行收集,以及收集后如何归总和展示性能视图等等。要完成这些,必需要导入SCOM管理包,使用管理包中预约义的策略进行性能和事件的收集、归总和展示。操作系统
微软免费提供不少管理包,包括微软本身和其余厂商的系统和应用。管理包中具有如下对象帮助咱们收集和展示系统和应用的性能:代理
一台服务器安装操做系统后,会有很是多的组件,若是再安装不一样的林林总总的应用,SCOM怎么知道要收集哪些组件的性能或者事件呢?因此管理包第一步也是关键的一步就是经过管理包定义要收集哪些组件的性能和事件(也即MIB库),好比导入Windows Server管理包能够发现CPU/内存/网卡/系统等,导入SQL Server管理包就能发现SQLServer的服务和组件……SCOM代理携带这些MIB信息就能识别出被监视服务器的组件。举个例子,Windows Server Operating System管理包将发现类型为WindowsServer 2008(R2)/2012(R2)/2016 的全部组件,包括内存、CPU、磁盘、网卡、系统等。默认状况下,对象发现有开启也有关闭的,如图1所示。
图1
若是默认关闭,就意味着即便导入了管理包没法发现这个对象里,好比CPU对象发现是默认关闭的,那么咱们即便导入了Windows Server Operating System管理包也没法监视CPU的活动和性能,后面的性能收集也就无从下手了,这时须要手动开启CPU的对象发现。这也就是为何CPU、硬盘的性能默认是没法收集的,由于SCOM根本没有发现服务器上的CPU和硬盘,还怎么监视呢?还有种请况就是SCOM默认发现周期很长,好比Exchange Server CAS对象须要导入Exchange Server 管理包后24小时以后才能被SCOM发现,因此用户安装SCOM管理包之后,也要等24小时才能看到Exchange Server CAS的状态。
管理包中的对象发现是只读的,意味着咱们不可在SCOM控制台新建本身的对象发现,由于管理包已经限定了对象发现范围,咱们只能修改对象发现,好比开启关闭发现,修改发现周期等。
SCOM自己不定义性能计数器,而是使用设备/系统/应用现有的计数器,好比Windows Server 内存计数器等等,这些计数器信息跟随导入的管理包存放在SCOM运行数据库中,只不过SCOM管理包里不会包含全部的性能计数器,所以SCOM数据库也不会存放全部的性能计数器,这也是为何有时候咱们找不到一些计数器,于是没法收集到某些性能。此时,咱们须要自行添加计数器并插入到SCOM运行数据库里。规则里包含了要收集哪一种对象(硬件、系统、数据库仍是应用)、这个对象的版本、收集哪一个性能和收集频率,好比一个名为Memory\% Committed Bytes In Use Windows Server 2012的规则将收集服务器的内存对象,版本为Windows Server 2012系统,收集频率为10分钟,计数器使用% Committed Bytes In Use。
默认状况下,管理包并不会开启全部的规则,这也是咱们在SCOM控制台里默认没法看到某些性能结果,即便这个组件已经开启了对象发现,如图2所示。
图2
若是要启用未被启用的规则,咱们须要经过替代规则的方式将其启用。为何叫替代呢?由于导入的SCOM管理包一般是封装过的,是只读的,里面的全部属性和设置都不能直接在现有管理包中修改,而是经过将属性和设置复制出来进行修改,而后存放到未封装的管理包(咱们本身能够在控制台建立的管理包),再插入到SCOM运行数据库。一般替代的规则比默认规则优先级高,好比逻辑磁盘可用空间规则的默认收集频率是10分钟,替代后的收集频率为5分钟,那么SCOM将5分钟收集一次逻辑磁盘可用空间。
管理包中的规则是可读写的,意味着咱们既可在SCOM控制台新建本身的规则,也能够修改(其实是替代)规则,好比开启关闭规则,修改发现周期等。
SCOM监视器能够用来评估被监控对象的不一样的情况和状态。好比,监视器能够用来评估性能计数器的值、事件生成、日志文件里面的数据生成、Windows服务器状态、SNMP陷阱跟踪。监视器和规则相同之处在于,它们都借用相同的计数器和事件日志进行事件和性能的监视。二者不一样的是,监视器能够定义性能告警或者严重告警阈值,设置告警出发条件而且定义告警信息,以及设置事件恢复操做,而规则更倾向于收集,而且用在后续的任务中(好比自定义性能视图、服务级别跟踪等)。监视器能够向上进行树状聚合,好比一个父监视器由4个子监视器报告的状态聚合,4个子监视器分别监视不一样的目标,这4个子监视器监视的对象是互相依赖的关系或者,因此4个子监视器报告的状态决定着父监视器的状态,如图3所示。
图3
子级单元监视器-父级聚合监视器这种结构中,父级聚合监视器的状态由SCOM管理包提供不一样的算法得到,而算法又由实际对象之间依赖关系的亲疏决定,一般算法有如下几类,如图4、图5和图6所示:
子级单元监视全都正常,父级监视器才报告正常;
子级单元监视只要有一个正常,父级监视器报告为正常;
要求有必定的比例的子监视器正常,父级监视器才报告为正常。
图4
图5
图6
为了给你们进一步的说明,咱们举个例子,5个子单元监视器监视分别监视一个群集中的5个节点的可用性,若是节点出现不可用的状况时监视器就触发告警,由于群集仲裁能够保证最多2个节点同时故障,因此父聚合算法能够遵循群集的仲裁机制,保证只要报告服务器不可用的子单元监视器不超过2个,父聚合监视器的状态就报告为正常。
多个父监视器状态还能够继续向上聚合,造成一个更为丰富的树状监视结构,这种模型更加利于综合性归总监控,如图7所示。
图7
和对象发现以及规则同样,默认状况下,管理包并不会开启全部的监视器,这也是咱们在SCOM控制台里默认没法看到某些性能结果,即便这个组件已经开启了对象发现,也开启了规则,可是仍是没法触发监视告警。
咱们能够自建本身的监视器,在监视器里指定如下属性:
收集哪些设备/系统/应用的性能或者事件
要使用哪一个计数器进行收集
收集哪一类日志
设置告警阈值和警告/错误触发条件
设置收集频率
若是要启用未被启用的监视器,咱们须要经过替代监视器的方式将其启用,方法和规则替代同样,再也不赘述。
在导入的管理包后,某些应用程序会自带服务等级对象(SLO),这些SLO咱们能够经过报表来展现他们在某段时间的可用性、停机、维护模式停机、未被监控的情况。一般咱们会设置某个应用程序、主机或分布式应用程序在一段时间以内可用性的目标值(也即咱们所说的SLA),好比设定邮件系统或者Web服务器在一个月的可用时间至少为99.99%,而后经过SCOM的监控来跟踪邮件系统或者Web服务器在这个月实际的可用时间并经过报表展示真实值,将这两个值进行对比得到的数值差就是域控制器服务级别的体现。
SCOM管理包对象中具有2种不一样的SLO,分别是:
监视器状态,收集服务器的可用性,如图8所示
收集规则,设置性能阈值,监视服务器性能在阈值以内的时间,如图9所示。
图8
图9
建立好服务级别跟踪对象后,SCOM视图并不会默认展示出来,而是须要经过报表或者自定义视图将服务级别跟踪调出来。
SCOM具有一些远程和控制代理的任务,这些任务针对不一样的对象进行不一样的操做,好比针对网络设备有网络设备的一些操做,针对系统有系统的操做。SCOM默认的任务将随着管理包的导入一块儿导入到SCOM数据库,好比Windows Server Operating System管理包里有针对磁盘有碎片整理、chkdsk、chkntfs以及获取卷信息的任务,针对系统有启动服务、启动计算机、ping、ipconfig、路由打印等任务。咱们能够在代理出现问题的时候,使用SCOM任务在SCOM服务器上进行远程调试。
SCOM视图是SCOM监视的展示元素,在SCOM控制台的监视窗口中,能够看到各类默认视图,都是在SCOM管理包中定义的。一般这些视图插入到SCOM运行数据库之后咱们没法修改默认视图的结构和配置,如图10所示。可是咱们能够新建视图结构和具体的视图。
图10
从官方获取的SCOM管理包一般都是封装过的,没法直接更改管理包里面的对象发现、规则和监视器,而是要用替代的方法进行修改。替代其实是复制属性以后,保存到未封装的管理包中,在插入到SCOM运行数据库里。咱们能够在SCOM管理包对象的替代里查看全部被替代过的项目,这里汇总了全部被替代的项目条目,如图11所示。只要在这里双击替代的项目,就能够查看替代过的具体信息而且能够进一步修改。
图11