一种云计算环境中实时监控在线配置方法

文档序号:7997010阅读:227来源:国知局
一种云计算环境中实时监控在线配置方法
【专利摘要】本发明公开了一种云计算环境中实时监控在线配置方法。该方法包括:建立配置模板知识库;接收用户输入的监控关键字;判断知识库中是否存在与用户输入的关键字对应的配置模板;若判断为知识库中不存在与用户输入的关键字对应的配置模板,则在模板知识库中增加与该关键字对应的配置模板;探测被监控虚拟机上已安装服务的信息,根据与所述关键字对应的配置模板和所探测到的已安装服务的信息,生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件。本发明可简化用户在线添加监控配置的过程,使用户聚焦于监控服务本身,而不是复杂的配置内容。
【专利说明】一种云计算环境中实时监控在线配置方法【技术领域】
[0001]本发明涉及云计算中虚拟机监控领域,具体涉及一种虚拟机实时监控在线智能配置的方法。
【背景技术】
[0002]在云计算环境中,有大量的具有实际业务的虚拟机在运行。一个好的云管理平台需要有监控系统,能够根据用户的实际业务需求对虚拟机上特定服务进行监控,包括该服务的状态、详细信息等,并且能够对严重服务进行短信或邮件报警。为了提高云管理平台中监控系统的易用性,宜尽量减少用户为每个虚拟机添加监控的学习成本以及劳动力成本,减少用户添加监控重复内容配置的过程,需要尽可能减少管理人员的工作复杂度。
[0003]对虚拟机监控进行配置主要是对该虚拟机上服务监控配置的初始化,配置信息可以包括:虚拟机的主机名称、IP地址、主机检查命令、服务名称、服务检查命令、检查时间段、检查时间间隔、重试最大次数、重试时间间隔、报警开关、报警条件、报警时间段、报警时间间隔、联系人(组),以及其他的个性化设置。
[0004]通常,实时监控的配置工作分为两部分:首先是准备工作,用户需要了解该虚拟机所需监控的所有服务名称;然后是用户手动添加所有的配置信息。由于云计算中虚拟机数量很大这一特点,由用户手动来完成虚拟机监控配置的工作难度是比较大的,并且用户体验很差。主要原因如下:1.云计算环境中的虚拟机数量很多,可能一次会创建几十、上百台的虚拟机,如果都由用户手动来进行监控配置的准备工作,则需要了解每一台虚拟机的实际业务情况,工作量非常大;2.监控配置项组合较多,使用较灵活,但一般情况下一些配置项是不重要的,并且很多配置项为重复工作,用户需要手动编写多项配置并确保无拼写错误,用户体验很差。
[0005]此外,现有的一些配 置方法都要求用户十分清楚虚拟机中每一个实际业务的服务名称以及检查脚本的名称,这给用户带来了烦恼。因此,亟待更为简便智能的方法来完成到虚拟机实时监控的在线配置。

【发明内容】

[0006]基于上述目标,本发明提出了一种较智能、灵活的虚拟机实时监控在线配置方法,用来解决当前虚拟机实时监控配置方法的较复杂、繁琐的问题。
[0007]为了解决上述技术问题,本发明提供了一种云计算环境中实时监控在线配置方法。该方法包括:
[0008]建立配置模板知识库;
[0009]接收用户输入的监控关键字;
[0010]判断知识库中是否存在与用户输入的关键字对应的配置模板;
[0011]若判断为知识库中不存在与用户输入的关键字对应的配置模板,则在模板知识库中增加与该关键字对应的配置模板;[0012]探测被监控虚拟机上已安装服务的信息,根据与所述关键字对应的配置模板和所探测到的已安装服务的信息,生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件。
[0013]其中,所述探测被监控虚拟机上已安装服务的信息、根据与所述关键字对应的配置模板和所探测到的已安装服务的信息、生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件的步骤,进一步包括:制作与所述关键字对应的配置模板的副本;根据所述副本的服务项列表探测被监控虚拟机上已安装服务的信息;根据所探测到的已安装服务的信息,修改所述副本以生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件。
[0014]进一步,所探测到的已安装服务的信息可包括所探测到的已安装服务的服务名称及版本信息。
[0015]其中,所述根据所探测到的已安装服务的信息、修改所述副本以生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件的处理,进一步包括:将所述副本中相比所探测到的已安装服务的服务名称多出的服务相关配置删除;在所述副本中设置所述被监控虚拟机的IP地址及主机名称;将所述副本作为用于监控所述被监控虚拟机的配置文件。
[0016]其中,所述探测被监控虚拟机上已安装服务的信息的步骤,进一步包括:获取被监控虚拟机的IP地址和系统类型;获取所述副本中的服务列表;轮询服务列表,基于被监控虚拟机的IP地址和系统类型查询被监控虚拟机是否安装服务列表中的各服务;保留所述副本中查询结果表示已在被监控虚拟机中安装的服务的配置项,并将被保留的配置项的命令参数修改为所探测到的被监控虚拟机的相应配置值;删除所述副本中查询结果表示未在被监控虚拟机中安装的服务的配置项。
[0017]此外,所述探测被监控虚拟机上已安装服务的信息的步骤,还可包括:
[0018]根据用户输入的IP地址确定所述被监控虚拟机,再探测被监控虚拟机上已安装服务的信息。
[0019]此外,所述探测被监控虚拟机上已安装服务的信息的步骤,还包括:
[0020]根据用户输入的IP地址段确定一个以上所述被监控虚拟机,再分别探测各个被监控虚拟机上已安装服务的信息
[0021]此外,所述探测被监控虚拟机上已安装服务的信息的步骤,还包括:
[0022]将自动检测到的全部虚拟机或与用户输入的关键字匹配的一类虚拟机均作为被监控虚拟机,再分别探测各个被监控虚拟机上已安装服务的信息。
[0023]此外,所述在模板知识库中增加与该关键字对应的配置模板的处理,进一步包括:
[0024]提示用户用于配置与该关键字对应的配置模板的输入的服务检查参数信息;
[0025]根据用户输入的服务检查参数信息和配置框架生成与该关键字对应的配置模板。
[0026]此外,所述配置模板包括以下配置项:主机名称、主机IP地址、服务名称、服务所属主机名称和服务检查命令;以及/或者,根据用户输入的监控命令来生成配置内容。
[0027]与现有技术相比,本发明的一个或多个实施例可以具有如下优点:本发明通过根据用户输入的关键字,自动探测被监控虚拟机上已安装的服务,从而自动生成与关键字对应的配置文件,可简化用户在线添加监控配置的过程,使用户聚焦于监控服务本身,而不是复杂的配置内容。此外,不需要用户登录到虚拟机内部查询就可以对虚拟机上属于某一类型监控的所有服务进行监控配置。
[0028]本发明尤其适合于确保以下应用场景下的虚拟机实时监控在线配置的易用性--云计算的公有云场景,企业提供虚拟机给用户,每个用户都有个性化的业务需求并且需要了解这些业务的运行状态,在这种情况下用户需要远程登录虚拟机内部,了解具体的服务名称进行详细的监控配置,应用本发明就可以避免用户远程登录虚拟机的过程,智能探测被监控虚拟机上安装的服务名称,自动完成相应监控模板的制作。
[0029]本发明可以在很大程度上提高云计算中虚拟机实时监控在线配置的易用性和规范性,具有较高的实用价值和商业价值。
[0030]本发明既支持Linux系统,也支持Windows系统,用户不需要提供每个目标系统类型的信息。
[0031]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】

【附图说明】
[0032]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
[0033]图1是根据本发明实施例的云计算环境中实时监控在线配置方法的流程图;
[0034]图2是根据本发明实施例的一配置模板实例;
`[0035]图3是根据本发明实施例的云计算环境中实时监控在线配置方法的步骤S150的处理流程示意图。
[0036]图4是根据本发明实施例的云计算环境中实时监控在线配置方法的步骤S150中子步骤S152的处理流程示意图。
【具体实施方式】
[0037]以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0038]另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0039]本实施例中,以rhel6.0作为宿主机的例子,并使用其自带的kvm为虚拟机监控程序,Iibvirt为虚拟机管理程序,可分别安装rhel6.0和windows server2008操作系统作为本发明方案实施的目标虚拟机,并分别在rhel6.0和windows server2008上实现了本发明的虚拟机实时监控在线配置。这里的虚拟机监控配置以关键字SNMP (Simple NetworkManagement Protocol,简单网络管理协议)为例,其具体包括虚拟机可通过SNMP监控到的所有服务名称、检查命令、检查时间段、检查时间间隔等配置。
[0040]下面结合图1详细说明本实施例的云计算环境中实时监控在线配置方法。
[0041 ] 步骤SI 10,建立配置模板知识库;
[0042]步骤S120,接收用户输入的监控关键字;
[0043]步骤S130,判断知识库中是否存在与用户输入的关键字对应的配置模板若判断为知识库中不存在与用户输入的关键字对应的配置模板,则进入步骤S140,反之,进入步骤S150 ;
[0044]步骤S140,在模板知识库中增加与该关键字对应的配置模板,进入步骤S150 ;
[0045]步骤S150,探测被监控虚拟机上已安装服务的信息,根据与所述关键字对应的配置模板和所探测到的已安装服务的信息,生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件。最后,可将生成的与所述被监控虚拟机的监控配置文件加载到云管理平台监控系统安装目录。
[0046]步骤SllO中,配置模板知识库中存储的配置模板。配置模板可包括主机名称、主机IP地址、服务名称、服务所属主机名称和服务检查命令等配置项。此外,还可根据用户输入的监控命令来生成配置内容。这样,可增强知识库的自主学习性能,尽量减少烦恼用户的配置操作。
[0047]步骤S120,接收用户输入的监控关键字,所输入的关键字可为SNMP、数据库、中间件等公共应用服务,对应不同的监控类型,每个监制类型或关键字对应于知识库中的一个配置模板。换而言之,知识库中存储有分别与各种服务类型对应的配置模板。
[0048]在本实例中,以用户输入SNMP作为实例来进行说明,
[0049]步骤S130中,判断知识库中是否存在与关键字SNMP对应的配置模板。若判断为知识库中不存在与用户输入的关键字对应的配置模板,则可按照如下流程添加相应配置模板至知识库中:
[0050]a)系统将以snmp_template.cfg.1n为名创建一个新的配置模板
[0051]图2示出一配置模板实例。针对不同监控类型(关键字),模板格式基本相同,但是服务部分的check_co_and会根据不同模板有不同的内容。通过图2可知,配置模板可包括两部分内容:一部分为主机监控配置模板,包括主机名称、主机IP地址等信息;一部分为服务监控配置模板,包括服务名称,服务所属主机名称、服务检查命令等。
[0052]b)提示用户添加服务名称CPU Usage以及检查命令check_snmp_cpu
[0053]在本实例中,该命令名称check_snmp_cpu对应的实际执行命令可为:/usr/local/cobra/libexec/check_snmp - h 10.1.1.1 - o system, cpu。而在传统技术中则要求用户输入指定检查命令具体信息的详细命令:/usr/local/cobra/libexec/check_snmp-h 10.1.1.1 - ο system, cpu,这就给用户增添了烦恼。
[0054]c)解析用户输入的服务名称及检查命令,完成这两项配置初始化工作
[0055]在snmp_template.cfg.1n中找到CPU监控的执行命令、检查间隔、报警类别等信息,并结合用户输入的服务名称生成新的配置文件snmp_template_hostname.cfg。更具体地,可生成snmp_template.cfg.1n的一副本,结合用户输入的服务名称修改该副本以得到新的配置文件 snmp_template_hostname.cfg。
[0056]d)完成其他配置项初始化配置。[0057]e)保存为配置模板。
[0058]步骤S140中,可提示用户用于配置与该关键字对应的配置模板的输入的服务检查参数信息;根据用户输入的服务检查参数信息和配置框架生成与该关键字对应的配置模板。
[0059]步骤S150中,探测被监控虚拟机上已安装服务的信息,根据与所述关键字对应的配置模板和所探测到的已安装服务的信息,生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件,进一步可包括(参考图3):
[0060]步骤S151,制作与所述关键字对应的配置模板的副本。
[0061]步骤S152,根据所述副本的服务项列表探测被监控虚拟机上已安装服务的信息,其中,所探测到的已安装服务的信息包括所探测到的已安装服务的服务名称及版本信息
坐寸ο
[0062]步骤S153,将所述副本中相比所探测到的已安装服务的服务名称多出的服务相关配置删除。
[0063]本实例获取的OID中,进程统计信息、系统开机时间以及可用交换分区均在模板中可以匹配到。考虑篇幅和重复性,图2仅以一个host和一个service作为例子来说明。“进程统计信息、系统开机时间以及可用交换分区”是对应图2中第二个模块的defineservice来说的。本实例中分别获取了进程统计信息、系统开机时间以及可用交换分区所对应的0ID,那么可以生成三个define servie段配置文件,这三段的区别在于service_description 的值不同(可能分别是 Process、UpTime、Swap),以及 check_command 中-ο 参数不同(分别为实际获取到的OID值)。登录用户数未收集到知识库snmp_template.cfg.1n配置模板中。本实例中进程统计信息、系统开机时间以及可用交换分区OID值与知识库snmp_template.cfg.1n配置模板中相应服务一致,无需修改。本实例中的登录用户数不存在于模板中,故可按照配置模板的格式增加Login Users的配置。
[0064]步骤S154,在所述副本中设置所述被监控虚拟机的IP地址及主机名称。
[0065]步骤S155,将所述副本作为用于监控所述被监控虚拟机的配置文件。
[0066]通过步骤S153?步骤S155,根据所探测到的已安装服务的信息,修改所述副本以生成与所述被监控虚拟机的监控配置文件。
[0067]更具体地,步骤S152可进一步包括:
[0068]步骤S1520,确定被监控虚拟机;
[0069]步骤S1521,获取被监控虚拟机的IP地址和系统类型;
[0070]步骤S1522,获取所述副本中的服务列表;
[0071]步骤S1523,轮询服务列表,基于被监控虚拟机的IP地址和系统类型查询被监控虚拟机是否安装服务列表中的各服务;
[0072]步骤S1524,保留所述副本中查询结果表示已在被监控虚拟机中安装的服务的配置项,并将被保留的配置项的命令参数修改为所探测到的被监控虚拟机的相应配置值。更具体地,以图 2 为例,如模板中是“$USERl$/check_snmp -H $ARG1$ -C $ARG2$ -P $ARG3$-o $ARG4$ -w $ARG5$ _c $ARG6$”,这里的参数均为类似“$ARG1$”格式的内容。对命令参数的修改,是将类似“$ARG1$”默认格式的内容修改为相应的具体的信息,例如前述check_snmp命令中第一个参数“$ARG1$”需要修改为实际的被监控虚拟机的IP地址,如10.1.80.1。其它命令参数也是相同的处理。
[0073]步骤S1525,删除所述副本中查询结果表示未在被监控虚拟机中安装的服务的配置项。
[0074]在步骤S1520中,可根据用户输入的IP地址确定所述被监控虚拟机,再探测被监控虚拟机上已安装服务的信息。还可以根据用户输入的IP地址段确定一个以上所述被监控虚拟机,再分别探测各个被监控虚拟机上已安装服务的信息。也可以将自动检测。自动探测使用nmap工具可以获取某存活状态IP的主机或虚拟机开放的服务端口信息并保存该信息。到的全部虚拟机或与用户输入的关键字匹配的一类虚拟机均作为被监控虚拟机,再分别探测各个被监控虚拟机上已安装服务的信息。
[0075]本实例探测实例获取云管理平台中记录的该虚拟机IP地址:10.1.80.200,虚拟机主机名称为rhel6_64,操作系统类型为linux。系统探测被监控虚拟机可用的OID(Object ID:对象标识符)值以及对应的服务名称。
[0076]本实例探测实例获取被监控虚拟机rhel6_64中可用的OID和对应服务名称如下:
[0077].1.3.6.1.2.1.25.1.6.0Process Totality
[0078].1.3.6.1.2.1.25.1.1.0System UP Time
[0079].1.3.6.1.4.1.2021.4.4.0Available Memory Swap
[0080].1.3.6.1.2.1.25.1.5.0Login Users
[0081]其他OID及服务名称均为统一如上的格式,这一过程本领域技术人员均可理解,在此不予赘述。
[0082]最后,可将所生成的与所述用户输入的关键字SNMP对应的所述被监控虚拟机的监控配置文件snmp_rhel6_64.cfg加载到云管理平台监控系统安装目录/opt/cobra/etc下。
[0083]本实施例只是列举了其中一种比较典型的方式。可以理解的是本发明适用于批量添加虚拟机实时监控配置信息设置,这一过程本领域技术人员均可理解,在此不予赘述。
[0084]本实施例仅以rhel6.0系统的虚拟机为例说明统一、智能、灵活的虚拟机实时监控在线配置的过程,事实上本发明适用于任何系统的虚拟机以及交换机设备,其中,最典型的应用场景是Linux和Windows系统的虚拟机。以上是以单个虚拟机实时监控在线配置为例,也适用于对多个虚拟机进行批量设置同一类型关键字的虚拟机实时监控配置。以上是以SNMP监控关键字为例,也适用于其他类型如数据库、中间件、公共应用服务为关键字的实时监控在线配置,这一过程本领域技术人员均可理解,在此不予赘述。
[0085]虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属【技术领域】内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1.一种云计算环境中实时监控在线配置方法,其特征在于,包括: 建立配置模板知识库; 接收用户输入的监控关键字; 判断知识库中是否存在与用户输入的关键字对应的配置模板; 若判断为知识库中不存在与用户输入的关键字对应的配置模板,则在模板知识库中增加与该关键字对应的配置模板; 探测被监控虚拟机上已安装服务的信息,根据与所述关键字对应的配置模板和所探测到的已安装服务的信息,生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件。
2.根据权利要求1所述的方法,其特征在于,所述探测被监控虚拟机上已安装服务的信息、根据与所述关键字对应的配置模板和所探测到的已安装服务的信息、生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件的步骤,进一步包括: 制作与所述关键字对应的配置模板的副本; 根据所述副本的服务项列表探测被监控虚拟机上已安装服务的信息; 根据所探测到的已安装服务的信息,修改所述副本以生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件。
3.根据权利要求2所述的方 法,其特征在于,所探测到的已安装服务的信息包括所探测到的已安装服务的服务名称及版本信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所探测到的已安装服务的信息、修改所述副本以生成与所述用户输入的关键字对应的所述被监控虚拟机的监控配置文件的处理,进一步包括: 将所述副本中相比所探测到的已安装服务的服务名称多出的服务相关配置删除; 在所述副本中设置所述被监控虚拟机的IP地址及主机名称; 将所述副本作为用于监控所述被监控虚拟机的配置文件。
5.根据权利要求2所述的方法,其特征在于,所述探测被监控虚拟机上已安装服务的信息的步骤,进一步包括: 获取被监控虚拟机的IP地址和系统类型; 获取所述副本中的服务列表; 轮询服务列表,基于被监控虚拟机的IP地址和系统类型查询被监控虚拟机是否安装服务列表中的各服务; 保留所述副本中查询结果表示已在被监控虚拟机中安装的服务的配置项,并将被保留的配置项的命令参数修改为所探测到的被监控虚拟机的相应配置值; 删除所述副本中查询结果表示未在被监控虚拟机中安装的服务的配置项。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述探测被监控虚拟机上已安装服务的信息的步骤,还包括: 根据用户输入的IP地址确定所述被监控虚拟机,再探测被监控虚拟机上已安装服务的信息。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述探测被监控虚拟机上已安装服务的信息的步骤,还包括:根据用户输入的IP地址段确定一个以上所述被监控虚拟机,再分别探测各个被监控虚拟机上已安装服务的信息。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述探测被监控虚拟机上已安装服务的信息的步骤,还包括: 将自动检测到的全部虚拟机或与用户输入的关键字匹配的一类虚拟机均作为被监控虚拟机,再分别探测各个被监控虚拟机上已安装服务的信息。
9.根据权利要求1至5中任一项所述的方法,其特征在于,所述在模板知识库中增加与该关键字对应的配置模板的处理,进一步包括: 提示用户用于配置与该关键字对应的配置模板的输入的服务检查参数信息; 根据用户输入的服务检查参数信息和配置框架生成与该关键字对应的配置模板。
10. 根据权利要求1至5中任一项所述的方法,其特征在于, 所述配置模板包括以下配置项:主机名称、主机IP地址、服务名称、服务所属主机名称和服务检查命令;以及/或者, 根据用户输入的监控命令来生成配置内容。
【文档编号】H04L12/26GK103490941SQ201310072236
【公开日】2014年1月1日 申请日期:2013年3月7日 优先权日:2013年3月7日
【发明者】蔡柳青 申请人:中标软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1