本发明涉及自动化监控技术,尤其涉及一种基于SCOM的监控方法。
背景技术:
SCOM是Microsoft System Center Operations Manager的缩写,是微软系统中心操作管理器。SCOM提供了图形化界面,让管理员可以监控部署在当前网络中的服务器、应用系统和客户端,监控目标计算机和应用程序中存在的故障和产生的警告。目前,SCOM在监控非微软的系统以及应用程序时,只能通过脚本来获取第三方服务中的数据作为被监控对象的状态数据。
由于SCOM脚本队列的排队超时时间为10分钟,经过测试,利用脚本作为监控对象的数据源, 当被监控的对象的个数达到1000以上的时候,SCOM就无法获取被监控对象的状态, 从而达不到监控的目的。当卷上层的监控对象就达到1000以上,卷以及卷下层的监控对象最高可以达到为65000个左右。目前微软以及其他存储厂商并没有如此大规模利用脚本作为数据源的监控先例。因此如何利用脚本作为数据源,并防止脚本队列超时从而将被监控的对象全部显示出来已经成为了开发存储SCOM管理包首先要解决的问题。
技术实现要素:
本发明所要解决的技术问题是针对上述现有技术的不足提供一种基于SCOM的监控系统和方法,本基于SCOM的监控系统和方法能将被监控的所有的卷全部显示出来。
为实现上述技术目的,本发明采取的技术方案为:
一种基于SCOM的监控方法,包括以下步骤:
步骤1:将卷以RAID组为单位进行划分从而划分成多个RAID组;
步骤2:构造发现器模块,发现器模块依次发现以RAID组为单位的所有的卷,将发现的卷作为监控对象,将发现器模块依次发现监控对象的过程作为监控流程;
步骤3:构造定时器模块,定时调用SCOM中的数据模型模块;
步骤4:数据模型模块调用内置的脚本模块,数据模型模块通过脚本模块中的脚本获取所有的RAID组并将每个RAID组作为数据源;
步骤5:构造过滤器模块,过滤器模块将步骤4中每个RAID组以卷为单位进行划分并将划分后的卷发送到步骤2中的发现器模块内;
步骤6: 发现器模块将步骤5中划分后的卷与步骤2中的监控对象一一对应,并将对应后的卷放入相应的监控流程中;
步骤7:构造监控模块,监控模块依次提取监控流程中的卷的状态并通过SCOM控制台将监控流程中的所有的卷以及卷的状态显示出来。
作为本发明进一步改进的技术方案,包括SCOM管理器和被监控存储设备,所述SCOM管理器和被监控存储设备通过虚拟网络连接;
具体包括以下步骤:
步骤1:被监控存储设备将自身存储的卷以RAID组为单位进行划分从而划分成多个RAID组;
步骤2:在SCOM管理器上构造发现器模块,发现器模块通过虚拟网络依次发现被监控存储设备上的以RAID组为单位的所有的卷,发现器模块将发现的卷作为监控对象并将自身依次发现监控对象的过程作为监控流程;
步骤3:在SCOM管理器上构造定时器模块,定时调用SCOM中的数据模型模块;
步骤4:数据模型模块调用内置的脚本模块,数据模型模块将内置的脚本模块中的脚本通过虚拟网络发送到被监控存储设备上,脚本获取被监控存储设备上的RAID组并将每个RAID组均作为数据源依次反馈到SCOM管理器上;
步骤5:在SCOM管理器上构造过滤器模块,过滤器模块将步骤4中每个RAID组以卷为单位进行划分并将划分后的卷发送到步骤2中的发现器模块内;
步骤6: 发现器模块将步骤5中划分后的卷与步骤2中的监控对象一一对应,并将对应后的卷放入相应的监控流程中;
步骤7:在SCOM管理器上构造监控模块,监控模块依次提取监控流程中的卷的状态并通过SCOM控制台将监控流程中的所有的卷以及卷的状态显示出来。
作为本发明进一步改进的技术方案,所述被监控存储设备上的RAID组的数量大于300。
本发明克服了现有技术中由于脚本队列超时而造成的不能将被监控的卷显示出来的缺陷,也克服了现有技术中在脚本队列没有超时之前, 被监控的卷的状态并不能够完全显示的缺陷,本发明通过以每个RAID组作为脚本队列的排队对象,其中RAID组内的卷的数量的个数不受限制,因此当被监控的对象的个数达到1000以上的时候,SCOM通过本发明的方法可以获取被监控对象的状态,从而使脚本队列不会发生超时现象,能将本监控的卷通过SCOM控制台全部显示出来。
附图说明
图1为本发明的工作流程图。
具体实施方式
下面根据图1对本发明的具体实施方式作出进一步说明:
参见图1,一种基于SCOM的监控方法,包括SCOM管理器和被监控存储设备,所述SCOM管理器和被监控存储设备通过虚拟网络连接;具体包括以下步骤:
步骤1:将卷以RAID组为单位进行划分从而划分成多个RAID组,RAID组即RAID Group就是将多个硬盘组合起来的一个集合,以实现更大容量、更快读写速度、更高冗余度等目的,在Raid Group上可以创建卷;
具体地,被监控存储设备将自身存储的卷以RAID组为单位进行划分从而划分成多个RAID组。
步骤2:构造发现器模块,发现器模块依次发现以RAID组为单位的所有的卷,将发现的卷作为监控对象,将发现器模块依次发现监控对象的过程作为监控流程;
具体地,在SCOM管理器上构造发现器模块,发现器模块通过虚拟网络依次发现被监控存储设备上的以RAID组为单位的所有的卷,发现器模块将发现的卷作为监控对象并将自身依次发现监控对象的过程作为监控流程。
步骤3:构造定时器模块,定时调用SCOM中的数据模型模块;
具体地,在SCOM管理器上构造定时器模块,定时调用SCOM中的数据模型模块;数据模型模块负责生成被监控对象的数据源。
步骤4:数据模型模块调用内置的脚本模块,数据模型模块通过脚本模块中的脚本获取所有的RAID组并将每个RAID组作为数据源;
具体地,数据模型模块调用内置的脚本模块,数据模型模块将内置的脚本模块中的脚本通过虚拟网络发送到被监控存储设备上,脚本获取被监控存储设备上的RAID组并将每个RAID组均作为数据源依次反馈到SCOM管理器上;一次生成一个RAID组中所有卷的数据作为数据源,而不是每次生成以卷为单位的数据作为数据源。以RAID组作为脚本队列的排队对象。
步骤5:构造过滤器模块,过滤器模块将步骤4中每个RAID组以卷为单位进行划分并将划分后的卷发送到步骤2中的发现器模块内;
具体地,在SCOM管理器上构造过滤器模块,过滤器模块将步骤4中每个RAID组以卷为单位进行划分并将划分后的卷发送到步骤2中的发现器模块内。
步骤6: 发现器模块将步骤5中划分后的卷与步骤2中的监控对象一一对应,并将对应后的卷放入相应的监控流程中。
步骤7:构造监控模块,监控模块依次提取监控流程中的卷的状态并通过SCOM控制台将监控流程中的所有的卷以及卷的状态显示出来。
具体地,在SCOM管理器上构造监控模块,监控模块依次提取监控流程中的卷的状态并通过SCOM控制台将监控流程中的所有的卷以及卷的状态显示出来。
所述被监控存储设备上的RAID组的数量大于300。
本发明在工作时,还具体以下工作原理:首先部署分布式SCOM监控环境,在SCOM管理器上的SCOM管理界面内导入并存储SCOM插件包;SCOM插件包中定义发现器模块,发现器模块读取当前域内所有主机的注册表,将安装了存储监控程序的主机作为被监控的主机,被监控的主机就是上述所述的被监控存储设备,SCOM管理器中的SCOM管理程序自动向被监控存储设备中推送并安装SCOM 代理;SCOM插件包中构造定时器模块并定时发起部品的发现以对部品及监控,此处的部品指的是被监控存储设备中的的RAID组中的卷,定时器模块调用数据模型模块,数据模型模块将内置的脚本模块中的脚本推送到被监控存储设备中的SCOM 代理中,由SCOM 代理负责收集被监控存储设备中的RAID组;脚本通过向被监控存储设备上安装的存储监控程序发送存储的命令,从而获取存储的所有的部品(由发现器模块获取)以及部品状态(由监控模块获取)并作为监控对象以及发现器的发现对象;脚本收集完数据之后会经由SCOM 代理将数据返回给SCOM管理程序,SCOM管理程序收到SCOM 代理返回的数据后,根据SCOM插件包中构造的过滤器模块,将每个RAID组以卷为单位进行划分,将RAID组中所有的卷正确的派发到发现器模块中的相应的监控流程中,监控模块会自动提取相应的卷的状态,卷的属性以及状态将被正确的显示在SCOM管理器上的SCOM控制台即SCOM管理界面上。
本发明的保护范围包括但不限于以上实施方式,本发明的保护范围以权利要求书为准,任何对本技术做出的本领域的技术人员容易想到的替换、变形、改进均落入本发明的保护范围。