大型分布式智能监控系统的制作方法

文档序号:9352690阅读:614来源:国知局
大型分布式智能监控系统的制作方法
【技术领域】
[0001] 本发明及监控系统研究领域,尤其涉及一种大型分布式智能监控系统。
【背景技术】
[0002] 随着互联网技术的不断革新及企业规模持续的扩大,企业的信息化建设投入迅速 增加,使企业的信息系统越来越复杂,然而传统的服务器管理多采用人工的方式,而该方式 存在很多的人力浪费。
[0003] 同时问题的发现的不够及时,往往错过处理问题的最佳时机。
[0004] 而服务器出现问题会造成系统负载的增加,应用程序数据处理缓慢,甚至服务器 宕机,造成无法挽回的损失。
[0005] 现在公司的服务器数量庞大,提供的服务越来越多,如果仅靠人力来进行维护,工 作量就相当的大,因此就有了大型分布式监控系统的产生。
[0006] 优点:对设备性能要求低(实际测试环境:虚拟机Cent0S5, 2GCPU 1G内存,监控5 台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多;支持分布式集 中管理;开放式接口,扩展性强。
[0007] 缺点:需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据很 大,瓶颈主要在数据库。
[0008] 在现有技术中,传统的监控项目难以反映出各类应用系统是否正常,只有亲自使 用系统才能真正判断出应用系统是否可用,单凭人工操作是无法保证监控的时效性的。
[0009] 综上所述,本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上 述技术至少存在如下技术问题: 在现有技术中,由于传统的监控项目难以反映出各类应用系统是否正常,只有亲自使 用系统才能真正判断出应用系统是否可用,单凭人工操作是无法保证监控的时效性的,所 以,现有的监控系统存在监控的时效性较差,需要大量的人工进行判断的技术问题。

【发明内容】

[0010] 本发明提供了一种大型分布式智能监控系统,解决了现有的监控系统存在监控的 时效性较差,需要大量的人工进行判断的技术问题,实现了监控系统时效性较好的技术效 果。
[0011] 为解决上述技术问题,本申请实施例提供了大型分布式智能监控系统,所述系统 包括: 模拟用户行为模块和应用状态感知模块,所述模拟用户行为模块和所述应用状态感知 模块彼此关联协作,由模拟用户行为模块不断循环获取应用的状态,然后将状态传递给应 用状态感知模块,应用状态感知模块经过判断,将状态信息以多种方式展示给运维管理人 员。
[0012] 其中,所述模拟用户行为模块根据提取出的用户操作流程,将用户使用应用系统 的一系列操作利用程序来自动实现,然后将程序的操作结果记录下来,提供给后续的应用 状态感知模块进行判断。
[0013] 其中,所述应用状态感知模块接受模拟用户行为模块所传递的应用系统状态的信 息,分析该状态信息,然后将信息展示给运维管理人员;若出现服务状态的变更,还会以短 信、邮件等多种方式实时通知管理员。
[0014] 其中,所述系统还包括: 网络层模块,所述网络层模块用于提供网络通信接口,方便各模块层通信使用; 服务器模块,所述服务器模块用于提供服务器服务; Agent模块,所述Agent模块用于搜集被监控服务器的各监控项数据,并根据监控项的 监控方式将搜集到的数据发送给监控服务器或者代理服务器; Proxy模块,所述Proxy模块用于帮助服务器搜集客户端的监控数据,减轻服务器的网 络负载; 数据库模块,所述数据库模块用于提供数据库服务。
[0015] 本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点: 由于采用了将大型分布式智能监控系统设计为包括:模拟用户行为模块和应用状态感 知模块,所述模拟用户行为模块和所述应用状态感知模块彼此关联协作,由模拟用户行为 模块不断循环获取应用的状态,然后将状态传递给应用状态感知模块,应用状态感知模块 经过判断,将状态信息以多种方式展示给运维管理人员的技术方案,即利用运维自动化的 核心技术-脚本编程技术来实现,我们采用脚本程序来模拟客户端或用户访问应用系统 的流程,将该流程自动化、程序化,利用监控系统的接口将系统状态传递给监控服务器端, 通过监控服务器端的Trigger判断,将应用系统的可用状态的变更以页面、邮件或者短信 的方式展示给运维管理人员,以达到实时监控的目的,所以,有效解决了现有的监控系统存 在监控的时效性较差,需要大量的人工进行判断的技术问题,进而实现了监控系统时效性 较好的技术效果。
【附图说明】
[0016] 图1是本申请实施例一中大型分布式智能监控系统的组成示意图。
【具体实施方式】
[0017] 本发明提供了一种大型分布式智能监控系统,解决了现有的监控系统存在监控的 时效性较差,需要大量的人工进行判断的技术问题,实现了监控系统时效性较好的技术效 果。
[0018] 本申请实施中的技术方案为解决上述技术问题。总体思路如下: 采用了将大型分布式智能监控系统设计为包括:模拟用户行为模块和应用状态感知模 块,所述模拟用户行为模块和所述应用状态感知模块彼此关联协作,由模拟用户行为模块 不断循环获取应用的状态,然后将状态传递给应用状态感知模块,应用状态感知模块经过 判断,将状态信息以多种方式展示给运维管理人员的技术方案,即利用运维自动化的核心 技术-脚本编程技术来实现,我们采用脚本程序来模拟客户端或用户访问应用系统的流 程,将该流程自动化、程序化,利用监控系统的接口将系统状态传递给监控服务器端,通过 监控服务器端的Trigger判断,将应用系统的可用状态的变更以页面、邮件或者短信的方 式展示给运维管理人员,以达到实时监控的目的,所以,有效解决了现有的监控系统存在监 控的时效性较差,需要大量的人工进行判断的技术问题,进而实现了监控系统时效性较好 的技术效果。
[0019] 为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上 述技术方案进行详细的说明。
[0020] 实施例一: 在实施例一中,提供了大型分布式智能监控系统,请参考图1,所述系统包括: 模拟用户行为模块和应用状态感知模块,所述模拟用户行为模块和所述应用状态感知 模块彼此关联协作,由模拟用户行为模块不断循环获取应用的状态,然后将状态传递给应 用状态感知模块,应用状态感知模块经过判断,将状态信息以多种方式展示给运维管理人 员。
[0021] 其中,在本申请实施例中,所述模拟用户行为模块根据提取出的用户操作流程,将 用户使用应用系统的一系列操作利用程序来自动实现,然后将程序的操作结果记录下来, 提供给后续的应用状态感知模块进行判断。
[0022] 其中,在本申请实施例中,所述应用状态感知模块接受模拟用户行为模块所传递 的应用系统状态的信息,分析该状态信息,然后将信息展示给运维管理人员;若出现服务状 态的变更,还会以短信、邮件等多种方式实时通知管理员。
[0023] 其中,在本申请实施例中,所述系统还包括: 网络层模块 所述网络层模块用于提供网络通信接口,方便各模块层通信使用;网络层模块设计说 明:目的:提供一个高效、稳定网络通信接口,方便各模块层通信使用;功能:服务端网络 层封装;客户端网格层封装;I0CP支持;CS基础通信协议;命名规则:遵守匈牙利命名法; 网络层类图:CDirectNetClient : Client 的 TCP 连接封装;CDirectNetServer : Server 的TCP连接封装; 接口说明: //功能:初始化整个网络系统 DNRESULTInitialize(iDirectNetCryption*cryption, iDirectNetServerEventHandler ^handler, DWORD maxNumberClients ); //功能:关闭网络连接 Void Close (); 模块主框架设计流程图:网络消息模块流程:调用build初始化-接收消息/发送消 息-调用relese。
[0024] 服务器模块 所述服务器模块用于提供服务器服务;Server模块设计说明 目的: 提供一个高效、稳定服务器模块。 功能: 1.同步数据库的hosts表和items表。
[0025] 2?检查database是否挂掉。
[0026] 3?主动连接agent。
[0027] 4?收数据并处理。
[0028] 5. alerts表中的未发送的警报都发送。
[0029] 6.定时对数据库中一些过期的数据进行删除。
[0030] 7?设置阀值。
[0031] 8.实现分布式关联函数。
[0032] 9.周期性的检测服务是否运行正常。
[0033] 10?收索ip地址范围,它加入hosts表。
[0034] 11?将history数据同步数据库。
[0035] 12.发送邮件和执行远程shell命令。
[0036] 13.主动连接代理,并获取history数据。
[0037] 14.收集收集系统本身的各个进程的运行情况。
[0038] 命名规则: 遵守匈牙利命名法Server模块类图: iB⑶Bconfig :同步数据库的hosts表和items表的内容到内存的进程,时间间隔默认 为ls,这两个表用的很频繁,出于性能考虑,在内存上用哈希表的形式缓存了这两个表的信 息。
[0039] iBGWatchdog :检查database是否挂掉,时间间隔默认60s,如挂了需要向管理员 报警,检查的方式为每隔60s重连一次数据库,没有报错表明运行正常。
[0040] iBGPoller :主动连接客户端,然后发送请求然后获取获取响应的数据,并将获取 的数据存放到history表的内存缓存中,同时更新监控项的状态。
[0041] iBGTrapper:从监听端口接收数据并调进行处理。
[0042] iBGAlerter:每隔30s将alerts表中的未发送的警报都发送出去,并且发送成功 后将警报标识改为已发送。
[0043] iBGHousekeeper:定时对数据库中一些过期的数据进行清理删除。
[0044] iBGTimer:这个进程最主要的功能就是定时的调用计算数据库中定义的触发器的 值,如果新值和原有的值不相等,表示有新的事件产生,然后就将新的事件插入到数据库。
[0045] iB⑶iscoverer:它
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1