当前位置: 首页 > 专利查询>常州工学院专利>正文

一种用于分布式系统的监测方法技术方案

技术编号:9768147 阅读:107 留言:0更新日期:2014-03-15 22:57
本发明专利技术公开了一种用于分布式系统的监测方法,在分布式主机部署监测模块,通过握手和心跳信息达到监测和告警的目的,本发明专利技术能实时收集、监测分布式系统中的各个进程的状态,根据收集到的状态对分布式系统进行状态统计,一旦发现分布式系统中进程异常以及进程处理业务出现异常,马上进行告警处理,把异常信息输出到指定桌面系统,严重信息通过电话或短信直接通知到负责人,使得问题能够得到及时发现,减少系统出现异常时带来的损失。

【技术实现步骤摘要】

本专利技术涉及分布式系统,特别是。
技术介绍
在大数据分析等分布式系统中,系统的稳定性、系统各个进程的运行状态以及数据处理状态一般很难进行计算与统计,这样就不能实时知道整个分布式系统的运行、处理情况,基于这种现状,当发现分布式系统出现问题时,往往已经造成了较严重的后果,尤其是基于实时大数据处理的分布式系统而言,造成的损失更大。
技术实现思路
针对现有技术中存在的问题,本专利技术的目的在于提供一种能实时收集、监测分布式系统中的各个进程的状态,根据收集到的状态对分布式系统进行状态统计,一旦发现分布式系统中进程异常以及进程处理业务出现异常,马上进行告警处理,把异常信息输出到指定桌面系统,严重信息通过电话或短信直接通知到负责人,使得问题能够得到及时发现,减少系统出现异常时带来的损失的用于分布式系统的监测方法。为了达到上述目的,本专利技术采用以下技术方案:,步骤包括:I)在分布式主机上启动监测模块,所述的监测模块通过端口监测分布式模块的注册信息,之后执行步骤2);2)所述的分布式模块启动时,获取分布式模块所在机器的MAC地址与模块名,根据注册协议格式构造注册信息,所述的分布式模块发送注册信息给主机监测模块,所述的主机监测模块收到注册信息后,则回复注册成功信息给注册的模块,之后执行步骤3),否则执行步骤I);3)所述的主机监测模块接收到分布式模块的注册信息后,按照协议格式进行解码,把模块注册信息放入处理协议结构ProcessProtocol中,并把结构实例放入到矢量类型的vProcessProtocol变量中,之后执行步骤4);4)监控主机定时轮询 vProcessProtocol 变量,根据 vProcessProtocol 变量向对应的分布式模块发送握手消息,所述的分布式模块在握手响应中携带分布式主机的cpu占用率和内存利用情况信息,所述的监测模块解析分布式模块的握手响应,并把信息放入到进程状态结构ProcessStatus中,把存放分布式模块信息对应的进程状态结构ProcessStatus实例放入到vector类型变量vProcessStatus中,同时根据vProcessStatus中的信息,计算、统计各个分布式模块的模块状态与系统状态,之后执行步骤5);5)当监测模块连续3次收不到对应分布式模块的握手响应,则认为分布式模块异常或网络异常,之后执行步骤6),否则执行步骤4);6)检查模块通过使用Linux系统的ping命令监测网络状态,当ping命令返回网络异常,则发送网络异常告警,否则发送分布式模块异常告警,把异常的分布式模块的信息保存在日志文件中,同时从vProcessStatus变量中移除该模块的状态信息以及从vProcessProtocol变量中移除该模块的注册信息,之后执行步骤7);7)告警级别通过配置文件进行定义,分布式主机监控模块启动时,加载告警级别配置文件,对告警级别进行预置,告警主机收到分布式模块的告警信息,根据告警级别选择告警行为,严重告警级别发送短信、声音以及邮件及时提醒,同时向告警监控屏幕输出告警信息,一般告警信息直接向告警监控屏幕输出告警信息,之后执行步骤8);8)所述的分布式模块收到注册响应后,启动分布式模块与监测模块之间保活的心跳线程,定时向监测模块发送心跳信息,监测模块收到分布式模块的心跳消息后,实时回应心跳响应给对应分布式模块,之后执行步骤9);9)当分布式模块连续3次收不到监测模块的心跳响应,则认为网络异常或监测模块异常,记录异常日志到日志文件,启动注册流程,定时重新注册,直到收到注册响应,之后执行步骤10),否则执行步骤8);10)所述的分布式模块通过订阅协议格式,向监测模块订阅其它分布式模块与该模块所在机器的CPU占用、内存占用以及系统空闲信息。所述的步骤2)中注册协议格式为功能模块唯一标识号和功能模块类型的组合,所述的功能模块唯一标识号为功能模块所在机器的MAC地址与功能模块名称的组合。采用上述技术方案后,本专利技术具有以下有益效果:本专利技术能实时收集、监测分布式系统中的各个进程的状态,根据收集到的状态对分布式系统进行状态统计,一旦发现分布式系统中进程异常以及进程处理业务出现异常,马上进行告警处理,把异常信息输出到指定桌面系统,严重信息通过电话或短信直接通知到负责人,使得问题能够得到及时发现,减少系统出现异常时带来的损失。【附图说明】图1分布式功能模块注册以及与主机功能模块保活流程以及信息交互图。【具体实施方式】下面根据说明书附图和具体实施例对本专利技术作进一步的解释。如图1所示,1.在分布式主机启动监测功能模块,监测功能模块进入工作态后,通过端口监测分布式功能模块的注册信息;2.分布式功能模块启动时,功能模块进入工作态后,获取本功能模块所在机器的MAC地址与功能模块名,根据注册协议格式构造注册信息,注册协议格式为:MAC地址&&功能模块名,注册交换逻辑为:分布式发送注册信息给主机监测功能模块,主机监测功能模块收到注册信息后,回复注册成功信息给注册的功能模块,这样注册流程完成;3.主机监测功能模块接收到分布式功能模块的注册信息后,按照协议格式进行解码,把注册的分布式功能模块信息放入ProcessProtocol结构,并把结构实例放入到矢量类型的vProcessProtocol变量中;4.监控主机定时轮询vProcessProtocol变量,根据该变量向对应的分布式功能模块发送握手消息,分布式功能模块在握手响应中携带分布式主机的CPU占用率、内存利用情况等信息,监测功能模块解析分布式功能模块的握手响应,并把信息放入到ProcessStatus结构,把存放分布式功能模块信息对应的ProcessStatus实例放入到vector类型变量vProcessStatus中,同时根据vProcessStatus中的信息,计算、统计各个分布式功能模块的功能模块状态与系统状态。5.监测功能模块如果连续3次收不到对应分布式功能模块的握手响应,则认为分布式功能模块异常或网络异常;6.通过使用Iinux系统的ping命令监测网络状态,如果ping命令返回网络异常,则发送网络异常告警,如果网络正常,则发送分布式功能模块异常告警,把异常的分布式功能模块的信息保存在日志文件中,同时从vProcessStatus中移除该功能模块的状态信息以及从vProcessProtocol中移除该功能模块的注册信息;7.告警主机启动时,加载告警级别配置文件,告警主机收到分布式功能模块的告警信息,根据告警级别选择告警行为,严重告警级别发送短信、声音以及邮件及时提醒,同时向告警监控屏幕输出告警信息,一般告警信息直接向告警监控屏幕输出告警信息。告警级别分为严重、重要、一般、提醒。告警级别通过配置文件定义,严重级别告警码为重要级别告警码为;—般级别告警码为:GA*** ;提醒级别告警码为:RA***。其中分布式模块或监控模块发生通信中断、模块运行异常终止等影响系统正常运行的事件属于严重告警;影响业务功能的告警属于严重告警;对系统与业务没有重要影响的告警,属于一般告警;一些希望引起关注,便于后续问题分析的事件,属于提醒。告警级别的定义,根据不同场景选择不同分类,对告警配置文件进行配置。8.分布式功能模本文档来自技高网...

【技术保护点】
一种用于分布式系统的监测方法,其特征在于步骤包括:1)在分布式主机上启动监测模块,所述的监测模块通过端口监测分布式模块的注册信息,之后执行步骤2);2)所述的分布式模块启动时,获取分布式模块所在机器的MAC地址与模块名,根据注册协议格式构造注册信息,所述的分布式模块发送注册信息给主机监测模块,所述的主机监测模块收到注册信息后,则回复注册成功信息给注册的模块,之后执行步骤3),否则执行步骤1);3)所述的主机监测模块接收到分布式模块的注册信息后,按照协议格式进行解码,把模块注册信息放入处理协议结构ProcessProtocol中,并把结构实例放入到矢量类型的vProcessProtocol变量中,之后执行步骤4);4)监控主机定时轮询vProcessProtocol变量,根据vProcessProtocol变量向对应的分布式模块发送握手消息,所述的分布式模块在握手响应中携带分布式主机的cpu占用率和内存利用情况信息,所述的监测模块解析分布式模块的握手响应,并把信息放入到进程状态结构ProcessStatus中,把存放分布式模块信息对应的进程状态结构ProcessStatus实例放入到vector类型变量vProcessStatus中,同时根据vProcessStatus中的信息,计算、统计各个分布式模块的模块状态与系统状态,之后执行步骤5);5)当监测模块连续3次收不到对应分布式模块的握手响应,则认为分布式模块异常或网络异常,之后执行步骤6),否则执行步骤4);6)检查模块通过使用Linux系统的ping命令监测网络状态,当ping命 令返回网络异常,则发送网络异常告警,否则发送分布式模块异常告警,把异常的分布式模块的信息保存在日志文件中,同时从vProcessStatus变量中移除该模块的状态信息以及从vProcessProtocol变量中移除该模块的注册信息,之后执行步骤7);7)告警级别通过配置文件进行定义,分布式主机监控模块启动时,加载告警级别配置文件,对告警级别进行预置,告警主机收到分布式模块的告警信息,根据告警级别选择告警行为,严重告警级别发送短信、声音以及邮件及时提醒,同时向告警监控屏幕输出告警信息,一般告警信息直接向告警监控屏幕输出告警信息,之后执行步骤8);8)所述的分布式模块收到注册响应后,启动分布式模块与监测模块之间保活的心跳线程,定时向监测模块发送心跳信息,监测模块收到分布式模块的心跳消息后,实时回应心跳响应给对应分布式模块,之后执行步骤9);9)当分布式模块连续3次收不到监测模块的心跳响应,则认为网络异常或监测模块异常,记录异常日志到日志文件,启动注册流程,定时重新注册,直到收到注册响应,之后执行步骤10),否则执行步骤8);10)所述的分布式模块通过订阅协议格式,向监测模块订阅其它分布式模块与该模块所在机器的CPU占用、内存占用以及系统空闲信息。...

【技术特征摘要】
1.一种用于分布式系统的监测方法,其特征在于步骤包括: 1)在分布式主机上启动监测模块,所述的监测模块通过端口监测分布式模块的注册信息,之后执行步骤2); 2)所述的分布式模块启动时,获取分布式模块所在机器的MAC地址与模块名,根据注册协议格式构造注册信息,所述的分布式模块发送注册信息给主机监测模块,所述的主机监测模块收到注册信息后,则回复注册成功信息给注册的模块,之后执行步骤3),否则执行步骤I); 3)所述的主机监测模块接收到分布式模块的注册信息后,按照协议格式进行解码,把模块注册信息放入处理协议结构ProcessProtocol中,并把结构实例放入到矢量类型的vProcessProtocol变量中,之后执行步骤4); 4)监控主机定时轮询vProcessProtocol变量,根据vProcessProtocol变量向对应的分布式模块发送握手消息,所述的分布式模块在握手响应中携带分布式主机的cpu占用率和内存利用情况信息,所述的监测模块解析分布式模块的握手响应,并把信息放入到进程状态结构ProcessStatus中,把存放分布式模块信息对应的进程状态结构ProcessStatus实例放入到vector类型变量vProcessStatus中,同时根据vProcessStatus中的信息,计算、统计各个分布式模块的模块状态与系统状态,之后执行步骤5); 5)当监测模块连续3次收不到对应分布式模块的握手响应,则认为分布式模块异常或网络异常,之后执行步骤6),否则执行步骤4); 6)检查模块通过使用Li...

【专利技术属性】
技术研发人员:李晓芳彭建华庄燕滨肖贤建
申请(专利权)人:常州工学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1