CN104021078B - 软件监控装置及方法 - Google Patents
软件监控装置及方法 Download PDFInfo
- Publication number
- CN104021078B CN104021078B CN201410265404.3A CN201410265404A CN104021078B CN 104021078 B CN104021078 B CN 104021078B CN 201410265404 A CN201410265404 A CN 201410265404A CN 104021078 B CN104021078 B CN 104021078B
- Authority
- CN
- China
- Prior art keywords
- module
- script
- proxy server
- monitoring
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种软件监控装置和方法。本发明的软件监控装置包括代理服务器,主管理服务器,自动维护管理服务器,智能部署管理***。本发明的装置和方法通过开放性的监控协议,实现对被监控对象的自动化配置发现,实现代理服务器的自动化批量安装和监控指标的自动化部署技术,实现对多台服务器的自动化监控部署,提升监控管理效率。本发明通过基于不同服务水平的主管理服务器,提升软件监控***的智能化和自动化水平。本发明还通过多监控消息队列、多监控管理服务等软件结构设计,实现监控软件的线性扩展能力及监控***的高可用性。
Description
技术领域
本发明涉及软件监控技术领域,尤其涉及一种软件监控装置及方法。
背景技术
软件平台范围包括操作***及运行在之上的数据库、中间件及应用程序等。由于软件平台种类繁多,而且其运行的健康状况直接影响信息***进行服务的能力,因此有必要对其健康情况进行有效监控。对于大型的数据中心而言,由于管理的软件平台数量多,更需要一个智能化的监控***对软件平台进行自动化、快速的监控部署和管理。
目前IBM的ITM、HPOpenview、BMCPatrol等产品实现了对操作***、数据库、中间件等软件平台的监控。但均存在如下问题:
监控协议相对封闭。以上商业产品均需在被监控软件平台所在的服务器上部署Agent。对于相关软件平台的监控指标,需要按照该商业产品提供的接口进行相关监控逻辑的开发,这就使新增监控逻辑的开发受限于相关商业产品提供的专有的开发语言。
监控部署和管理的自动化和智能化程度不足。相关产品进行Agent安装及监控指标部署时,需要较多的手工安装及配置操作。
不能提供基于服务水平(SLA)的监控模板化部署。不能实现按照被监控软件平台重要程度和服务水平的不同进行智能化监控模板选择和部署。
不能提供软件监控管理平台线性的扩展能力。由于软件监控平台监控的软件平台数量的增长,会遇到性能瓶颈。上述产品的架构设计不能提供快速添加监控服务器从而实现监控能力线性增长的功能。
发明内容
有鉴于此,本发明提供了一种软件监控装置及方法,能够减少了监控***监控指标逻辑开发以及监控***容量扩展的难度,提升了监控管理的智能化和自动化程度,大大提升了运维效率。
本发明提供的软件监控装置,包括代理服务器,主管理服务器,自动维护管理服务器,智能部署管理***,其中,
所述代理服务器,使用开放性的监控协议,采用任意编程语言在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器;
所述主管理服务器,通过多监控消息队列及多监控管理服务实现监控软件的线性扩展及监控***的高可用性;通过检查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库;
所述自动维护管理服务器,用于对代理服务器和主管理服务器进行安装、更新及维护管理;
所述智能部署管理***,用于实现监控脚本与监控机器及软件的智能匹配和部署,提供基于服务水平的自动化和差异部署管理。
所述代理服务器包括:
第一***服务注册、管理模块:用于将代理服务器程序注册成监控机器的***服务程序;当操作***重启时,自动启动代理服务器程序;当代理服务器程序运行异常时,自动重启代理服务器程序;
第一环境检查模块:用于在代理服务器程序启动时,对启动需要的资源进行检查,当检查到所需资源全部到位后,再启动代理服务器程序;
第一通信模块:用于与主管理服务器进行实时双向的数据传递;
第一数据协议模块:用于提供与主管理服务器进行通信所需的自定义数据协议;
作业调度引擎:用于调度监控作业;
作业执行引擎:用于为监控作业提供执行环境;
数据缓存模块:用于缓存监控作业采集到的性能数据与报警信息,并当发送窗口到来时,将所述监控作业采集到的性能数据与报警信息集中发送给主管理服务器;
数据补偿模块:用于在代理服务器程序启动时检查数据缓存模块中是否存在未发送的数据,如果存在,则进行数据补偿;
自动升级模块:用于根据主管理服务器的远程命令,升级监控作业、启停代理服务器、启停监控作业。
所述主管理服务器包括:
第二***服务注册、管理模块:用于将主管理服务器程序注册成的***服务程序;
第二环境检查模块:用于在主管理服务器启动时对主管理服务器启动需要的资源进行检查,当所需资源全部到位后,再启动主管理服务器程序;
第二通信模块:用于与代理服务器进行实时双向的数据传递;
第二数据库模块:用于接收并存储用户的作业指令,并与中心数据库进行数据交互;
数据收集模块:用于收集代理服务器上报的各种数据,包括事件数据、性能数据、心跳数据;
第二作业模块:用于调度并执行主管理服务器的内部作业;
第二数据协议模块:用于提供与代理服务器进行通信所需的自定义数据协议。
所述自动维护管理服务器包括:
SSH交互模块:用于通过SSH协议自动维护主管理服务器与Agent之间的交互;
安装介质库模块:用于通过树型的管理方式,把安装介质及更新介质进行分类存放,并支持快速查找、传输;
安装服务模块:用于通过调用SSH交互模块和安装介质库模块将代理服务器和/或主管理服务器安装到相应的服务器硬件上;
更新服务模块:用于通过调用SSH交互模块和安装介质库模块对代理服务器和/或主管理服务器进行更新;
第三***服务注册、管理模块:用于将自动维护管理服务器程序注册成的***服务程序;
第三环境检查模块:用于在自动维护管理服务器启动时对自动维护管理服务器启动需要的资源进行检查,当所需资源全部到位后,再启动自动维护管理服务器;
第三数据库模块:用于接收并存储用户的作业指令,并与中心数据库进行数据交互;
第三作业模块:用于调度并执行自动维护管理服务器的内部作业。
所述智能部署管理***包括:
对象管理模块:用于采用树状分层结构对监控机器以及在所述监控机器上部署的软件产品进行管理,所有管理目标在数据库中以对象形式存在;
脚本管理模块,用于管理各种脚本,包括脚本添加、脚本删除、脚本修改、脚本分组;
部署管理模块,用于实现脚本与对象的智能匹配和自动化搜索定位以及对象功能的部署;
事件管理模块,用于存储监控作业生成的事件,并对事件进行显示、标记已知以及删除;
作业管理模块,用于管理监控作业,并对监控作业进行显示、停止以及启动;
性能数据管理模块,用于管理监控作业生成的性能数据,并进行图形展示;
一键式自动发现部署模块,包括第一子模块和第二子模块,其中,第一子模块用于设置每一种对象类型在不同服务级别需要部署的脚本组;第二子模块用于根据机器类型和服务级别自动搜索监控机器需要部署的脚本组,并将脚本组自动部署到所述监控机器对象及其子对象节点上。
所述对象管理模块通过发现脚本自动生成对象的树状分层结构。
所述脚本管理模块通过脚本添加将脚本文件导入数据库并记录管理;
通过脚本修改对脚本的所有信息进行修改,其中,脚本信息包括脚本类型、脚本参数、脚本执行内容、默认调度参数;
通过脚本分组建立脚本组,向脚本组中添加脚本;并在首次添加脚本时选择脚本组的公共参数;在再次添加脚本时设置脚本的公共参数值;以及根据需要,修改脚本组中每个脚本的参数;删除脚本组中的脚本。
部署管理模块通过拖拽的形式将脚本部署到对象上,包括:
将脚本指定到预部署对象上,将脚本类型跟对象以及所述对象的子对象的所有类型进行比较,如果有匹配则显示所述脚本能够部署到所述对象上,否则,则显示不能部署;
修改脚本的参数和调度参数;
将脚本类型跟对象的类型进行匹配,如果不匹配则搜索所述对象的子对象直到搜寻到完全匹配的子对象,如果匹配则生成所述对象上的监控作业。
本发明还提供了一种软件监控方法,包括:
启动代理服务器在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器;
启动主管理服务器查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库;
启动自动维护管理服务器对代理服务器和主管理服务器进行安装、更新及维护管理;
启动智能部署管理***对监控脚本与监控机器及软件进行智能匹配和部署,提供基于服务水平的自动化和差异部署管理。
所述启动代理服务器在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器,包括:
步骤1:启动第一环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出;
步骤2:启动***服务注册、管理模块,把代理服务器程序注册成***服务,从而保证代理服务器在后台长期、稳定的运行;
步骤3:启动第一通信模块及第一数据协议模块,建立与主管理服务器之间的双向数据传输的通道;
步骤4:启动数据补偿模块,检查代理服务器启动之前数据缓存模块中是否有历史数据没有传输,如果有就进行数据补偿,否则就进行下一步;
步骤5:启动作业调度引擎,把所有的监控作业全部按照指定的调度规则进行调度;
步骤6:启动作业执行引擎,进行作业执行,并且对作业执行的结果、异常状况可以进行捕获;
步骤7:启动自动升级模块,接受、执行主管理服务器发送来的各种管理命令。
所述启动主管理服务器查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库,包括:
步骤1:启动第二环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出;
步骤2:启动第二***服务注册、管理模块,把主管理服务器程序注册成***服务,从而保证主管理服务器在后台长期、稳定的运行;
步骤3:启动第二通信模块及第二数据协议模块,建立与代理服务器之间的双向数据传输的通道,并将接收到的数据存入数据收集模块中;
步骤4:启动第二作业模块,调度并执行所有存储于第二数据库模块中的内部作业。
在所述步骤4中,所述内部作业包括:
a.检查需要派发的监控作业:当发现有需要派发的监控作业,通过第二通信模块把作业传输到代理服务器上进行执行;
b.收集事件:通过第二数据协议模块得到与事件相关的信息并形成对象,按照压缩规则、Action处理规则进行相关操作,并把对象存入中心数据库;
c.收集性能数据:通过第二数据协议模块得到与性能数据相关的信息并形成对象,调用第二数据库模块把对象存入中心数据库;
d.收集心跳:通过第二数据协议模块得到心跳的信息并形成对象,由于心跳内容里有代理服务器的作业的状态信息,所以通过检查点的规则,对代理服务器的作业进行检查,以保证代理服务器上运行的作业状态与中心数据库中记录的作业状态的一致;然后调用第二数据库模块更新中心数据库中相关代理服务器的状态信息;
e.检查需要派发的管理命令:当发现有需要派发的管理命令,通过第二通信模块把命令传输到代理服务器上进行执行。
所述启动自动维护管理服务器对代理服务器和主管理服务器进行安装、更新及维护管理,包括:
步骤1:启动第三环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出。
步骤2:启动第三***服务注册、管理模块,把自动维护管理服务器程序注册成***服务,从而保证在后台长期、稳定的运行;
步骤3:启动第三作业模块,调度并执行第三数据库模块中存储的所有内部作业。
在所述步骤3中,所述内部作业包括:
a.检查需要安装的作业:当发现有需要安装的作业,调用安装介质库模块得到被安装服务器准确的安装包,调用SSH交互模块与被安装服务器进行交互,实现安装;
b.检查需要更新的作业:当发现有需要更新的作业,调用安装介质库模块得到被更新服务器准确的更新包,调用SSH交互模块与被更新服务器进行交互,实现更新。
所述启动智能部署管理***对监控脚本与监控机器及软件进行智能匹配和部署,提供基于服务水平的自动化和差异部署管理,包括:
a.设置机器类型和软件类型的不同服务等级的安装模板;
b.根据机器名、机器类型和软件类型匹配安装模板;
c.将安装模板自动安装到指定机器。
本发明的装置和方法通过开放性的监控协议,实现对被监控对象的自动化配置发现,实现代理服务器的自动化批量安装和监控指标的自动化部署技术,实现对多台服务器的自动化监控部署,提升监控管理效率。本发明通过基于不同服务水平的主管理服务器,提升软件监控***的智能化和自动化水平。本发明还通过多监控消息队列、多监控管理服务等软件结构设计,实现监控软件的线性扩展能力及监控***的高可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的软件监控装置的结构示意图;
图2为为本发明一实施例提供的软件监控方法中代理服务器的工作流程示意图;
图3为为本发明一实施例提供的软件监控方法中主管理服务器的工作流程示意图;
图4为为本发明一实施例提供的软件监控方法中自动维护管理服务器的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的软件监控装置的结构示意图,如图1所示,本实施例的软件监控装置,包括代理服务器,主管理服务器,自动维护管理服务器,智能部署管理***,其中,
所述代理服务器,使用开放性的监控协议,采用任意编程语言在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器;
具体地,所述代理服务器包括:
第一***服务注册、管理模块:用于将代理服务器程序注册成监控机器的***服务程序;当操作***重启时,自动启动代理服务器程序;当代理服务器程序运行异常时,自动重启代理服务器程序;
第一环境检查模块:用于在代理服务器程序启动时,对启动需要的资源进行检查,当检查到所需资源全部到位后,再启动代理服务器程序;
第一通信模块:用于与主管理服务器进行实时双向的数据传递;
第一数据协议模块:用于提供与主管理服务器进行通信所需的自定义数据协议;
作业调度引擎:用于调度监控作业;
作业执行引擎:用于为监控作业提供执行环境;
数据缓存模块:用于缓存监控作业采集到的性能数据与报警信息,并当发送窗口到来时,将所述监控作业采集到的性能数据与报警信息集中发送给主管理服务器;
数据补偿模块:用于在代理服务器程序启动时检查数据缓存模块中是否存在未发送的数据,如果存在,则进行数据补偿;
自动升级模块:用于根据主管理服务器的远程命令,升级监控作业、启停代理服务器、启停监控作业。
所述主管理服务器,通过多监控消息队列及多监控管理服务实现监控软件的线性扩展及监控***的高可用性;通过检查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库;
具体地,所述主管理服务器包括:
第二***服务注册、管理模块:用于将主管理服务器程序注册成的***服务程序;
第二环境检查模块:用于在主管理服务器启动时对主管理服务器启动需要的资源进行检查,当所需资源全部到位后,再启动主管理服务器程序;
第二通信模块:用于与代理服务器进行实时双向的数据传递;
第二数据库模块:用于接收并存储用户的作业指令,并与中心数据库进行数据交互;
数据收集模块:用于收集代理服务器上报的各种数据,包括事件数据、性能数据、心跳数据;
第二作业模块:用于调度并执行主管理服务器的内部作业;
第二数据协议模块:用于提供与代理服务器进行通信所需的自定义数据协议。
所述自动维护管理服务器,用于对代理服务器和主管理服务器进行安装、更新及维护管理;
具体地,所述自动维护管理服务器包括:
SSH交互模块:用于通过SSH协议自动维护主管理服务器与Agent之间的交互;
安装介质库模块:用于通过树型的管理方式,把安装介质及更新介质进行分类存放,并支持快速查找、传输;
安装服务模块:用于通过调用SSH交互模块和安装介质库模块将代理服务器和/或主管理服务器安装到相应的服务器硬件上;
更新服务模块:用于通过调用SSH交互模块和安装介质库模块对代理服务器和/或主管理服务器进行更新;
第三***服务注册、管理模块:用于将自动维护管理服务器程序注册成的***服务程序;
第三环境检查模块:用于在自动维护管理服务器启动时对自动维护管理服务器启动需要的资源进行检查,当所需资源全部到位后,再启动自动维护管理服务器;
第三数据库模块:用于接收并存储用户的作业指令,并与中心数据库进行数据交互;
第三作业模块:用于调度并执行自动维护管理服务器的内部作业。
所述智能部署管理***,用于实现监控脚本与监控机器及软件的智能匹配和部署,提供基于服务水平的自动化和差异部署管理。
具体地,所述智能部署管理***包括:
对象管理模块:用于采用树状分层结构对监控机器以及在所述监控机器上部署的软件产品进行管理,所有管理目标在数据库中以对象形式存在;所述对象管理模块通过发现脚本自动生成对象的树状分层结构。
脚本管理模块,用于管理各种脚本,包括脚本添加、脚本删除、脚本修改、脚本分组;所述脚本管理模块通过脚本添加将脚本文件导入数据库并记录管理;
部署管理模块,用于实现脚本与对象的智能匹配和自动化搜索定位以及对象功能的部署;部署管理模块通过拖拽的形式将脚本部署到对象上,包括:
(1)将脚本指定到预部署对象上,将脚本类型跟对象以及所述对象的子对象的所有类型进行比较,如果有匹配则显示所述脚本能够部署到所述对象上,否则,则显示不能部署;
(2)修改脚本的参数和调度参数;
(3)将脚本类型跟对象的类型进行匹配,如果不匹配则搜索所述对象的子对象直到搜寻到完全匹配的子对象,如果匹配则生成所述对象上的监控作业。
事件管理模块,用于存储监控作业生成的事件,并对事件进行显示、标记已知以及删除;
作业管理模块,用于管理监控作业,并对监控作业进行显示、停止以及启动;
性能数据管理模块,用于管理监控作业生成的性能数据,并进行图形展示;
一键式自动发现部署模块,包括第一子模块和第二子模块,其中,第一子模块用于设置每一种对象类型在不同服务级别需要部署的脚本组;第二子模块用于根据机器类型和服务级别自动搜索监控机器需要部署的脚本组,并将脚本组自动部署到所述监控机器对象及其子对象节点上。
通过脚本修改对脚本的所有信息进行修改,其中,脚本信息包括脚本类型、脚本参数、脚本执行内容、默认调度参数;
通过脚本分组建立脚本组,向脚本组中添加脚本;并在首次添加脚本时选择脚本组的公共参数;在再次添加脚本时设置脚本的公共参数值;以及根据需要,修改脚本组中每个脚本的参数;删除脚本组中的脚本。
本发明一实施例提供的软件监控方法包括:
启动代理服务器在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器;图2给出了代理服务器实现前述功能的步骤,具体包括:
步骤1:启动第一环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出;
步骤2:启动***服务注册、管理模块,把代理服务器程序注册成***服务,从而保证代理服务器在后台长期、稳定的运行;
步骤3:启动第一通信模块及第一数据协议模块,建立与主管理服务器之间的双向数据传输的通道;
步骤4:启动数据补偿模块,检查代理服务器启动之前数据缓存模块中是否有历史数据没有传输,如果有就进行数据补偿,否则就进行下一步;
步骤5:启动作业调度引擎,把所有的监控作业全部按照指定的调度规则进行调度;
步骤6:启动作业执行引擎,进行作业执行,并且对作业执行的结果、异常状况可以进行捕获;
步骤7:启动自动升级模块,接受、执行主管理服务器发送来的各种管理命令。
启动主管理服务器查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库;图3给出了主管理服务器实现前述功能的步骤,具体包括:
步骤1:启动第二环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出;
步骤2:启动第二***服务注册、管理模块,把主管理服务器程序注册成***服务,从而保证主管理服务器在后台长期、稳定的运行;
步骤3:启动第二通信模块及第二数据协议模块,建立与代理服务器之间的双向数据传输的通道,并将接收到的数据存入数据收集模块中;
步骤4:启动第二作业模块,调度并执行所有存储于第二数据库模块中的内部作业。所述内部作业包括:
a.检查需要派发的监控作业:当发现有需要派发的监控作业,通过第二通信模块把作业传输到代理服务器上进行执行;
b.收集事件:通过第二数据协议模块得到与事件相关的信息并形成对象,按照压缩规则、Action处理规则进行相关操作,并把对象存入中心数据库;
c.收集性能数据:通过第二数据协议模块得到与性能数据相关的信息并形成对象,调用第二数据库模块把对象存入中心数据库;
d.收集心跳:通过第二数据协议模块得到心跳的信息并形成对象,由于心跳内容里有代理服务器的作业的状态信息,所以通过检查点的规则,对代理服务器的作业进行检查,以保证代理服务器上运行的作业状态与中心数据库中记录的作业状态的一致;然后调用第二数据库模块更新中心数据库中相关代理服务器的状态信息;
e.检查需要派发的管理命令:当发现有需要派发的管理命令,通过第二通信模块把命令传输到代理服务器上进行执行。
启动自动维护管理服务器对代理服务器和主管理服务器进行安装、更新及维护管理;图4给出了自动维护管理服务器实现前述功能的步骤,具体包括:
步骤1:启动第三环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出。
步骤2:启动第三***服务注册、管理模块,把自动维护管理服务器程序注册成***服务,从而保证在后台长期、稳定的运行;
步骤3:启动第三作业模块,调度并执行第三数据库模块中存储的所有内部作业。所述内部作业包括:
a.检查需要安装的作业:当发现有需要安装的作业,调用安装介质库模块得到被安装服务器准确的安装包,调用SSH交互模块与被安装服务器进行交互,实现安装;
b.检查需要更新的作业:当发现有需要更新的作业,调用安装介质库模块得到被更新服务器准确的更新包,调用SSH交互模块与被更新服务器进行交互,实现更新。
启动智能部署管理***对监控脚本与监控机器及软件进行智能匹配和部署,提供基于服务水平的自动化和差异部署管理。具体包括以下步骤:
a.设置机器类型和软件类型的不同服务等级的安装模板;
b.根据机器名、机器类型和软件类型匹配安装模板;
c.将安装模板自动安装到指定机器。
本发明的装置和方法通过开放性的监控协议,实现对被监控对象的自动化配置发现,实现代理服务器的自动化批量安装和监控指标的自动化部署技术,实现对多台服务器的自动化监控部署,提升监控管理效率。本发明通过基于不同服务水平的主管理服务器,提升软件监控***的智能化和自动化水平。本发明还通过多监控消息队列、多监控管理服务等软件结构设计,实现监控软件的线性扩展能力及监控***的高可用性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种软件监控装置,其特征在于,所述装置包括代理服务器,主管理服务器,自动维护管理服务器,智能部署管理***,其中,
所述代理服务器,使用开放性的监控协议,采用任意编程语言在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器;
所述主管理服务器,通过多监控消息队列及多监控管理服务实现监控软件的线性扩展及监控***的高可用性;通过检查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库;
所述自动维护管理服务器,用于对代理服务器和主管理服务器进行安装、更新及维护管理;
所述智能部署管理***,用于实现监控脚本与监控机器及软件的智能匹配和部署,提供基于服务水平的自动化和差异部署管理。
2.根据权利要求1所述的一种软件监控装置,其特征在于,所述代理服务器包括:
第一***服务注册、管理模块:用于将代理服务器程序注册成监控机器的***服务程序;当操作***重启时,自动启动代理服务器程序;当代理服务器程序运行异常时,自动重启代理服务器程序;
第一环境检查模块:用于在代理服务器程序启动时,对启动需要的资源进行检查,当检查到所需资源全部到位后,再启动代理服务器程序;
第一通信模块:用于与主管理服务器进行实时双向的数据传递;
第一数据协议模块:用于提供与主管理服务器进行通信所需的自定义数据协议;
作业调度引擎:用于调度监控作业;
作业执行引擎:用于为监控作业提供执行环境;
数据缓存模块:用于缓存监控作业采集到的性能数据与报警信息,并当发送窗口到来时,将所述监控作业采集到的性能数据与报警信息集中发送给主管理服务器;
数据补偿模块:用于在代理服务器程序启动时检查数据缓存模块中是否存在未发送的数据,如果存在,则进行数据补偿;
自动升级模块:用于根据主管理服务器的远程命令,升级监控作业、启停代理服务器、启停监控作业。
3.根据权利要求1所述的一种软件监控装置,其特征在于,所述主管理服务器包括:
第二***服务注册、管理模块:用于将主管理服务器程序注册成的***服务程序;
第二环境检查模块:用于在主管理服务器启动时对主管理服务器启动需要的资源进行检查,当所需资源全部到位后,再启动主管理服务器程序;
第二通信模块:用于与代理服务器进行实时双向的数据传递;
第二数据库模块:用于接收并存储用户的作业指令,并与中心数据库进行数据交互;
数据收集模块:用于收集代理服务器上报的各种数据,包括事件数据、性能数据、心跳数据;
第二作业模块:用于调度并执行主管理服务器的内部作业;
第二数据协议模块:用于提供与代理服务器进行通信所需的自定义数据协议。
4.根据权利要求1所述的一种软件监控装置,其特征在于,所述自动维护管理服务器包括:
SSH交互模块:用于通过SSH协议自动维护主管理服务器与Agent之间的交互;
安装介质库模块:用于通过树型的管理方式,把安装介质及更新介质进行分类存放,并支持快速查找、传输;
安装服务模块:用于通过调用SSH交互模块和安装介质库模块将代理服务器和/或主管理服务器安装到相应的服务器硬件上;
更新服务模块:用于通过调用SSH交互模块和安装介质库模块对代理服务器和/或主管理服务器进行更新;
第三***服务注册、管理模块:用于将自动维护管理服务器程序注册成的***服务程序;
第三环境检查模块:用于在自动维护管理服务器启动时对自动维护管理服务器启动需要的资源进行检查,当所需资源全部到位后,再启动自动维护管理服务器;
第三数据库模块:用于接收并存储用户的作业指令,并与中心数据库进行数据交互;
第三作业模块:用于调度并执行自动维护管理服务器的内部作业。
5.根据权利要求1所述的一种软件监控装置,其特征在于,所述智能部署管理***包括:
对象管理模块:用于采用树状分层结构对监控机器以及在所述监控机器上部署的软件产品进行管理,所有管理目标在数据库中以对象形式存在;
脚本管理模块,用于管理各种脚本,包括脚本添加、脚本删除、脚本修改、脚本分组;
部署管理模块,用于实现脚本与对象的智能匹配和自动化搜索定位以及对象功能的部署;
事件管理模块,用于存储监控作业生成的事件,并对事件进行显示、标记已知以及删除;
作业管理模块,用于管理监控作业,并对监控作业进行显示、停止以及启动;
性能数据管理模块,用于管理监控作业生成的性能数据,并进行图形展示;
一键式自动发现部署模块,包括第一子模块和第二子模块,其中,第一子模块用于设置每一种对象类型在不同服务级别需要部署的脚本组;第二子模块用于根据机器类型和服务级别自动搜索监控机器需要部署的脚本组,并将脚本组自动部署到所述监控机器对象及其子对象节点上。
6.根据权利要求5所述的一种软件监控装置,其特征在于,所述对象管理模块通过发现脚本自动生成对象的树状分层结构。
7.根据权利要求5所述的一种软件监控装置,其特征在于,所述脚本管理模块通过脚本添加将脚本文件导入数据库并记录管理;
通过脚本修改对脚本的所有信息进行修改,其中,脚本信息包括脚本类型、脚本参数、脚本执行内容、默认调度参数;
通过脚本分组建立脚本组,向脚本组中添加脚本;并在首次添加脚本时选择脚本组的公共参数;在再次添加脚本时设置脚本的公共参数值;以及根据需要,修改脚本组中每个脚本的参数;删除脚本组中的脚本。
8.根据权利要求5所述的一种软件监控装置,其特征在于,部署管理模块通过拖拽的形式将脚本部署到对象上,包括:
将脚本指定到预部署对象上,将脚本类型跟对象以及所述对象的子对象的所有类型进行比较,如果有匹配则显示所述脚本能够部署到所述对象上,否则,则显示不能部署;
修改脚本的参数和调度参数;
将脚本类型跟对象的类型进行匹配,如果不匹配则搜索所述对象的子对象直到搜寻到完全匹配的子对象,如果匹配则生成所述对象上的监控作业。
9.一种基于权利要求1-8之一所述的软件监控装置的软件监控方法,其特征在于,所述方法包括:
启动代理服务器在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器;
启动主管理服务器查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库;
启动自动维护管理服务器对代理服务器和主管理服务器进行安装、更新及维护管理;
启动智能部署管理***对监控脚本与监控机器及软件进行智能匹配和部署,提供基于服务水平的自动化和差异部署管理。
10.根据权利要求9所述的软件监控方法,其特征在于,所述启动代理服务器在监控机器上运行调度监控脚本,并将运行得到的性能数据与报警信息传送给主管理服务器,包括:
步骤1:启动第一环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出;
步骤2:启动***服务注册、管理模块,把代理服务器程序注册成***服务,从而保证代理服务器在后台长期、稳定的运行;
步骤3:启动第一通信模块及第一数据协议模块,建立与主管理服务器之间的双向数据传输的通道;
步骤4:启动数据补偿模块,检查代理服务器启动之前数据缓存模块中是否有历史数据没有传输,如果有就进行数据补偿,否则就进行下一步;
步骤5:启动作业调度引擎,把所有的监控作业全部按照指定的调度规则进行调度;
步骤6:启动作业执行引擎,进行作业执行,并且对作业执行的结果、异常状况可以进行捕获;
步骤7:启动自动升级模块,接受、执行主管理服务器发送来的各种管理命令。
11.根据权利要求9所述的软件监控方法,其特征在于,所述启动主管理服务器查中心数据库中的作业状态,来保证代理服务器上作业的状态与中心数据库中的作业状态一致;以及向代理服务器派发脚本作业;并把代理服务器发送来的报警事件与性能数据存入中心数据库,包括:
步骤1:启动第二环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出;
步骤2:启动第二***服务注册、管理模块,把主管理服务器程序注册成***服务,从而保证主管理服务器在后台长期、稳定的运行;
步骤3:启动第二通信模块及第二数据协议模块,建立与代理服务器之间的双向数据传输的通道,并将接收到的数据存入数据收集模块中;
步骤4:启动第二作业模块,调度并执行所有存储于第二数据库模块中的内部作业。
12.根据权利要求11所述的软件监控方法,其特征在于,在所述步骤4中,所述内部作业包括:
a.检查需要派发的监控作业:当发现有需要派发的监控作业,通过第二通信模块把作业传输到代理服务器上进行执行;
b.收集事件:通过第二数据协议模块得到与事件相关的信息并形成对象,按照压缩规则、Action处理规则进行相关操作,并把对象存入中心数据库;
c.收集性能数据:通过第二数据协议模块得到与性能数据相关的信息并形成对象,调用第二数据库模块把对象存入中心数据库;
d.收集心跳:通过第二数据协议模块得到心跳的信息并形成对象,由于心跳内容里有代理服务器的作业的状态信息,所以通过检查点的规则,对代理服务器的作业进行检查,以保证代理服务器上运行的作业状态与中心数据库中记录的作业状态的一致;然后调用第二数据库模块更新中心数据库中相关代理服务器的状态信息;
e.检查需要派发的管理命令:当发现有需要派发的管理命令,通过第二通信模块把命令传输到代理服务器上进行执行。
13.根据权利要求9所述的软件监控方法,其特征在于,所述启动自动维护管理服务器对代理服务器和主管理服务器进行安装、更新及维护管理,包括:
步骤1:启动第三环境检查模块,对当前的运行环境,所需要的资源进行检查,如果资源全部满足就进行下一步,否则就报错退出;
步骤2:启动第三***服务注册、管理模块,把自动维护管理服务器程序注册成***服务,从而保证在后台长期、稳定的运行;
步骤3:启动第三作业模块,调度并执行第三数据库模块中存储的所有内部作业。
14.根据权利要求13所述的软件监控方法,其特征在于,在所述步骤3中,所述内部作业包括:
a.检查需要安装的作业:当发现有需要安装的作业,调用安装介质库模块得到被安装服务器准确的安装包,调用SSH交互模块与被安装服务器进行交互,实现安装;
b.检查需要更新的作业:当发现有需要更新的作业,调用安装介质库模块得到被更新服务器准确的更新包,调用SSH交互模块与被更新服务器进行交互,实现更新。
15.根据权利要求9所述的软件监控方法,其特征在于,所述启动智能部署管理***对监控脚本与监控机器及软件进行智能匹配和部署,提供基于服务水平的自动化和差异部署管理,包括:
a.设置机器类型和软件类型的不同服务等级的安装模板;
b.根据机器名、机器类型和软件类型匹配安装模板;
c.将安装模板自动安装到指定机器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410265404.3A CN104021078B (zh) | 2014-06-13 | 2014-06-13 | 软件监控装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410265404.3A CN104021078B (zh) | 2014-06-13 | 2014-06-13 | 软件监控装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104021078A CN104021078A (zh) | 2014-09-03 |
CN104021078B true CN104021078B (zh) | 2016-07-06 |
Family
ID=51437843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410265404.3A Active CN104021078B (zh) | 2014-06-13 | 2014-06-13 | 软件监控装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104021078B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331353A (zh) * | 2014-10-17 | 2015-02-04 | 云南远信数通科技有限公司 | 软件高可用保证的方法 |
CN106294102B (zh) * | 2015-05-20 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、客户端、服务器及*** |
CN105847039A (zh) * | 2016-03-17 | 2016-08-10 | 王庆东 | 一种基于动态可执行脚本的网络监控方法以及网络监控*** |
CN107016099A (zh) * | 2017-04-10 | 2017-08-04 | 国家电网公司 | 类Unix***服务器的文件夹空间监视维护***和方法 |
TWI608377B (zh) * | 2017-04-13 | 2017-12-11 | 廣達電腦股份有限公司 | 監控管理系統及方法 |
CN107995024A (zh) * | 2017-10-30 | 2018-05-04 | 北京奇虎科技有限公司 | 一种设备管理方法、装置、服务器及存储介质 |
CN108108238B (zh) * | 2017-12-29 | 2022-01-11 | 长威信息科技发展股份有限公司 | 一种基于itm监控代理指向自动迁移的方法及电子设备 |
CN108762773B (zh) * | 2018-05-17 | 2021-10-08 | 山东华软金盾软件股份有限公司 | 一种模拟用户登录安装程序的方法 |
CN109117336A (zh) * | 2018-08-20 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种服务器的管理方法及装置 |
CN109032626B (zh) * | 2018-09-13 | 2022-09-20 | 北京搜狐互联网信息服务有限公司 | 一种自动化部署网络设备监控软件的方法及*** |
CN112291999A (zh) * | 2020-10-20 | 2021-01-29 | 浙江省电子信息产品检验研究院 | 一种网络设备数据采集***及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架***及其测试方法 |
CN102394901A (zh) * | 2011-06-23 | 2012-03-28 | 北京新媒传信科技有限公司 | 一种服务器集群***及其中的监控策略更新方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0912931D0 (en) * | 2009-07-24 | 2009-09-02 | Queen Mary University Of Londo | Method of monitoring the performance of a software application |
-
2014
- 2014-06-13 CN CN201410265404.3A patent/CN104021078B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架***及其测试方法 |
CN102394901A (zh) * | 2011-06-23 | 2012-03-28 | 北京新媒传信科技有限公司 | 一种服务器集群***及其中的监控策略更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104021078A (zh) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104021078B (zh) | 软件监控装置及方法 | |
CN104731580A (zh) | 基于Karaf与ActiveMQ的自动化运维***及其实现方法 | |
CN112269640B (zh) | 一种实现容器云组件的生命周期管理的方法 | |
CN101631053B (zh) | Eaps环网拓扑监控方法及*** | |
CN110196731A (zh) | 一种运维***、方法及存储介质 | |
CN103475677A (zh) | 一种PaaS云平台中管理虚拟节点的方法、装置及*** | |
CN111679888A (zh) | 一种代理容器的部署方法及装置 | |
CN110740047B (zh) | 一种网络切片管理编排*** | |
CN110971439A (zh) | 策略决策方法及装置、***、存储介质、策略决策单元及集群 | |
CN111367618A (zh) | 基于docker的代码管理方法、***、终端及介质 | |
CN112615882A (zh) | 航天测运控地面站异构资源监控数据处理方法 | |
CN111966465A (zh) | 一种实时修改宿主机配置参数的方法、***、设备及介质 | |
CN113783953A (zh) | 基于云边协同的工业物联网管控方法及*** | |
CN111193610B (zh) | 一种基于物联网的智慧监控数据***和方法 | |
CN113094053B (zh) | 产品的交付方法及装置、计算机存储介质 | |
CN109885612A (zh) | 区块链智能合约的同步生效方法及装置 | |
CN117130730A (zh) | 面向联邦Kubernetes集群的元数据管理方法 | |
CN109426514A (zh) | 服务自动化部署方法、装置、电子设备及存储介质 | |
CN113824801B (zh) | 一种智能融合终端统一接入管理组件*** | |
CN111026413B (zh) | 以需求为导向的复杂***“拉取”模式部署***及其方法 | |
CN115543793A (zh) | 一种目标服务器的***部署方法、装置和运维中台 | |
CN116149701A (zh) | 一种面向边缘终端的软件在线升级方法和*** | |
CN111176959B (zh) | 跨域的应用服务器的预警方法、***及存储介质 | |
CN114745409A (zh) | 一种智慧物联网设备远程控制方法 | |
CN109167826A (zh) | Web应用的上架方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 100085 Yumin Street, Houshayu Town, Shunyi District, Beijing Patentee after: CHINA TRAVELSKY HOLDING Co. Address before: 100010, No. 157 West Fourth Street, Beijing, Dongcheng District Patentee before: CHINA TRAVELSKY HOLDING Co. |