监控平台系统说明.doc

上传人:小飞机 文档编号:3914543 上传时间:2023-03-27 格式:DOC 页数:17 大小:322.50KB
返回 下载 相关 举报
监控平台系统说明.doc_第1页
第1页 / 共17页
监控平台系统说明.doc_第2页
第2页 / 共17页
监控平台系统说明.doc_第3页
第3页 / 共17页
监控平台系统说明.doc_第4页
第4页 / 共17页
监控平台系统说明.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《监控平台系统说明.doc》由会员分享,可在线阅读,更多相关《监控平台系统说明.doc(17页珍藏版)》请在三一办公上搜索。

1、网管平台需求分析&概要设计目录1.平台需求分析11.1需求的提出21.2功能需求41.2.1监控系统41.2.2维护系统61.3系统实现方式61.4重点问题说明71.4.1监控对象管理71.4.2界面展示71.4.3连接管理71.4.4监控项值的传递和处理81.4.5监控项值的收集82.数据库设计92.1监控主机配置表92.2主机告警信息表102.3告警信息描述表112.4告警门槛值表112.5监控主机权限表122.6维护主机配置表132.7维护用户表142.8维护权限表142.9操作记录表(该表记录长期保存)153.业务流程163.1监控系统业务流程163.1.1监控客户端处理流程163.1

2、.2服务器处理流程163.2维护系统业务流程171.平台需求分析1.1需求的提出目前我司在全国5个省份(广东,江苏,浙江,湖南,新疆)数10个节点部署了业务系统,各种类型的主机有数百台,并且随着业务的发展这个数字会不断增长,系统的维护和监控是一个庞大的工作,因为人力的限制,不可能对每台主机都做到细致化的维护,一些问题往往不能及时发现,影响了服务质量和对业务的支撑。网管系统的目的就是将人工的维护操作尽量交由电脑执行,以做到高效,实时,可靠。平台由两套系统构成,监控系统和维护系统。监控系统主要是监控主机的运行情况,及时发现故障;维护主机主要是在维护主机上远程执行一些维护动作。系统部署图一: 网络结

3、构图结构图中阴影部分为某个节点部署的业务系统网络示意图,其中要监控和维护的主要是占主机绝大部分数量的前置机、策略服务器、业务服务器和数据库服务器,这些服务器都是基于LINUX 操作系统运行(目前是RedHat AS3),从部署上来说,要求符合以下要求:1.监控系统和维护系统是两套独立的系统,互不影响;2.一套监控/维护系统可对多个节点的不同类型服务器进行监控/维护;监控/维护对象取决于系统配置;3.同一台主机可最多可被多达10套系统同时监控,被5套系统同时维护;4.网管系统完全独立于业务系统,网管系统的部署不会对业务系统带来影响(如业务中断);1.2功能需求1.2.1监控系统对主机的监控包括以

4、下四大类监控,分别说明如下:主机资源监控CPU使用情况监控监控主机CPU的利用率,一台主机一般有多个CPU,要了解每个CPU的利用率以及总体的平均利用率,每间隔N秒采集一次CPU信息并动态展示在监控界面上,当CPU长期处于高负载时(即连续N个采集信息得到的利用率值都超过阀值),系统做相应的告警;内存使用情况监控;监控主机内存的利用率以及当前可分配使用的内存空间大小,每间隔N秒采集一次内存信息并动态展示在监控界面上,当内存长期处于高负载时(即连续N个采集信息得到的利用率值都超过阀值),系统做相应的告警;磁盘使用空间监控监控主机磁盘的利用率,一台主机一般有多个磁盘,要了解每个磁盘的利用率以及剩余空

5、间大小,每间隔N分钟采集一次磁盘信息并展示在监控界面上,当某个磁盘空间的利用率超过阀值时候,系统做相应的告警;网卡流量监控主要监控采集网卡流量采集情况,包括流量的大小,采集到的包数,错误包的包数,每N秒采集一次,当某段时间内(连续N个采集信息)低于阀值或者丢包比例超过阀值的时候系统做相应告警;操作系统进程监控监控系统中当前运行的进程数量,每N分钟采集一次并显示在界面上,当总的进程数超过阀值时,系统告警;网络监控网络连通情况监控主要主机之间的网络是否联通,比如前置机是需要和策略服务器以及业务服务器互联,每N分钟采集一次,将结果显示在监控界面;如果网络不通则写入告警信息;请注意通常一台主机是需要和

6、多台主机互通的;应用程序监控应用程序进程监控主要监控系统中应用程序的进程是否存在,进程的最新启动时间,当进程不存在或者进程的启动时间距离当前时间低于允许阀值的时候进行告警;应用程序日志监控主要监控应用程序日志的大小和日志的最新更新时间,N分钟采集一次,当日志太大超过阀值或者很长时间都没更新(即当前时间减去日志更新时间)时系统告警,请注意一个应用程序可能有多个日志而只对其中部分监控数据库监控数据库监控只对数据库服务器适用表空间使用情况监控统计数据库表空间的利用率以及空闲的表空间大小,N分钟采集一次,当利用率太高的时候系统告警,请注意数据库一般都有多个甚至数10个表空间而只对其中部分监控;数据库服

7、务名解析监控用来监控数据库是否在正常提供服务,N分钟采集一次,如果服务名不能被解析说明数据库服务故障;数据库死锁情况监控用来监控数据库有无死锁,N分钟采集一次,如果死锁则告警;数据库连接情况监控监控数据库当前连接数,N分钟采集一次,当连接数超过阀值的时候系统告警;系统需有良好的扩展性,当有新的监控项需要监控时能方便地加入;1.2.2维护系统略。1.3系统实现方式监控系统和维护系统均采用C/S的架构,其中客户端为.net form开发的前台界面程序,运行在WINDOWS(XP,2000)下,负责监控信息的接收和展现。服务器端为一驻留在被监控/维护主机的伺服程序,负责收集和发送监控信息。监控系统和

8、维护系统无论在客户端还是服务器端都是互相独立的。C-S间采用SOCKET通信,被监控/维护主机和客户端之间保持一个固定的长连接,通信格式为自定义格式。参见监控系统客户端-服务器通信接口定义和监控系统客户端-服务器通信接口定义。从服务器端来说,监控信息的收集和发送是两个独立的程序。收集程序:定时调用不同的SH脚本,将最终结果定时输出到固定文件;发送程序:负责和客户端之间的连接管理,定时从文件里读出监控信息发送到客户端;收集程序和发送程序经常需要操作同一个文件,可采用文件锁的机制来防止冲突;1.4重点问题说明1.4.1监控对象管理在多个省份,多个节点存在多种类型的主机,并不是所有的人都能监控所有主

9、机,比如深圳电信的客户就不能监控广州电信的主机。为方便处理,我们不通过库表配置来实现(参见下文的主机配置表和主机权限表),最低的权限为某个用户只能维护某一个节点的某一类主机,对同一类主机不在做权限细分(比如A只能维护50%的前置,B维护另外50%的前置机)。1.4.2界面展示因为同时在监控多太主机,而界面上某一时刻只能显示某一台被监控主机的某一个监控项情况,并且每个监控项信息都是需要间隔一段时间才有的,有的间隔时间还比较长(比如磁盘监控信息可能1,2个小时才有一次),为了保证“焦点”每次移动在界面上都能及时有信息显示,要采用以下策略:1. 驻留程序收到登陆请求包验证用户合法后立刻返回当前所有监

10、控信息,然后才开始做间隔传送;2. 前台客户端总是保存同一监控项当前N(可配置)个数据包的缓存,当“焦点”发生移动的时候,即刻从缓存中读去信息显示在界面上;1.4.3连接管理因为每个监控客户端和每一个后台服务器都保持一个固定的长连接,要监控的主机有多台同时也可能有多个客户端在同时监控同一台主机,也就是说监控客户端和服务器都要同时维护多个长连接,需要做好连接的管理工作,包括连接数的管理,连接状态的管理,读写方式。考虑到长连接容易出现挂死的情况,因此通信双方都需要能及时识别出异常并及时关闭连接。通常处理如下:客户端:发送登陆包不成功则断开连接;接收数据失败则断开连接;在N秒(可配置)内没收到任何监

11、控信息断开客户断连接;服务器端:连接数超过限制时断开连接;在接收登陆包失败或超时时断开连接;发送数据包失败时断开连接;1.4.4监控项值的传递和处理为了方便处理,每个信息包中监控项只能有一种(但可以有多个)含义的监控项值,并且是整型的,客户端根据消息类型去判断该如何处理(是否告警),比如磁盘的监控,监控项的值为磁盘的利用率,其他信息如磁盘的编号,磁盘的空闲空间等都是参考项,客户端只用来做展示并不用来做判断。如果同一个监控目标有多个告警依据,则需要定义成多个监控项做多次传输。比如网卡流量的监控,当流量多低或者丢包率过高的时候都应该引起报警,不能在一个数据包里将这两个信息都打包过来做处理,正确的处

12、理方式是将网卡的监控定义成两个独立的监控项(包括客户端的参数配置,后台的SH脚本,消息编码都不相同),各自独立处理,但是系统展示的时候是将它们展示在同一个界面上的。1.4.5监控项值的收集后台系统对监控系统的采集也有不同情况,需要做不同处理。情况1:执行一次指令,输出一次结果,该结果为最终结果;比如磁盘空间的监控,这是最容易处理的情况;情况2:执行多个指令,将多个指令输出汇总到一个结果里,比如网络连通情况的监控,因为一台主机可能和多台主机相连(特别是策略服务器和数10台机器相连),测试连通情况时对每台连接的主机都需要执行一个指令来判断(比如ping), 但同一台主机和其他电脑的连通情况需要打包

13、一次传递给客户端处理;情况3:执行多个指令,将多个指令的结果进行二次处理得到最终处理结果,比如网卡流量的监控,需要将在两个时间点采集两次流量,将两次的流量相减并除以2次采集的间隔时间才能得到当前网卡采集速率(近似值);2.数据库设计以下是监控系统的库表2.1监控主机配置表Table jk_monitor_hostProvinceVarchar(15) not null, /*省份,如guangdong表示广东省*/Area Varchar(30) not null, /*节点,如shenzhen表示深圳*/HostType number(2),not null,/*监控主机类型,0前置机,1策

14、略服务器,2-业务服务器*/HostIpvarchar(16) not null, /*被监控主机的IP*/MonitorFlagnumber(1),/*监控有效标志,0该主机需要被监控,1该主机不需要被监控*/Portnumber(5) not null, /*被监控主机的监听端口*/UserNamevarchar(20) not null, /*登陆被监控主机的用户名*/Passwdvarchar(20) not null, /*登陆被监控主机的密码,主要用来做客户端的校验,明文即可*/Hostinfovarchar(20), /*对该主机的说明*/CreateTimedatenot nu

15、ll, /*创建日期*/ModifyTimedate not null /*修改日期*/对HostIp 唯一索引对Province+Area 索引2.2主机告警信息表记录主机告警信息,用户可配置告警信息保存的最长时间,比如只保存最近7天的告警信息*/Table jk_monitor_infoProvinceVarchar(15) not null, /*省份,如guangdong表示广东省*/Area Varchar(30) not null, /*节点,如shenzhen表示深圳*/HostType number(2),not null,/*监控主机类型,0前置机,1策略服务器,2-业务服务

16、器*/HostIpvarchar(16) not null, /*被监控主机的IP*/InfoClassnumber(2) not null, /*监控信息大类,10-主机信息,20应用程序信息,30数据库信息,40-网络信息*/InfoTypenumber(5), /*信息类型,10000-10999对应具体主机告警信息,如10000可表示主机的CPU告警信息*/Levelnumber(1), /*告警级别,0正常信息,1警告 ,2错误信息,用户可设置告警信息的显示级别,如果告警信息级别设置为0,则显示全部信息,如果为1则只显示警告信息和错误信息*/InfoDetail varchar(60

17、), /*告警显示信息*/CreateTimedate not null, /*告警时间*/对Province+Area索引;对HostIp+InfoClass+Level索引;2.3告警信息描述表该表用来描述不同类型的告警如何显示在界面上Create Table jk_info_configInfoClassnumber(2) not null, /*监控信息大类,10-主机信息,20应用程序信息,30数据库信息,40-网络信息,90-和监控主机连接信息*/InfoTypenumber(5) not null, /*信息类型,10000-10999对应具体主机告警信息,如10000可表示主机

18、的CPU告警信息*/Levelnumber(1) not null, /*告警级别,0正常信息,1警告 ,2错误信息,用户可设置告警信息的显示级别,如果告警信息级别设置为0,则显示全部信息,如果为1则只显示警告信息和错误信息*/InfoDetail varchar(60), /*告警显示信息*/CreateTimedate not null, /*创建日期*/ModifyTimedate /*修改日期*/对InfoClass+InfoType+Level唯一索引2.4告警门槛值表Create Table jk_parameterInfoClassnumber(2) not null, /*监控

19、信息大类,10-主机信息,20应用程序信息,30数据库信息,40-网络信息*/InfoTypenumber(5), /*信息类型,10000-10999对应具体主机告警信息,如10000可表示主机的CPU告警信息*/InfoCountnumber(2), /*连续多少监控信息都符合条件的时候才告警,最大99个*/InfoCondition number(1), /*0小于,1-等于,2大于*/Value1number(8), /*告警阀值*/Value1number(8), /*错误阀值*/Descvarchar(20),/*对VALUE的描述,比如“磁盘空间利用率百分比”*/CreateTi

20、medate not null, /*创建日期*/ModifyTime /*修改日期*/对InfoClass+InfoType唯一索引;阀值是一个整形的数字,所以在处理的时候要注意,比如当磁盘空间占用超过95%的时候系统应该告警,此时磁盘的空间利用率的对应的Value1应该是95而不是0.95,驻留程序处理的时候也尽量考虑传递过来的参数是整型的95而不要用0.95.当驻留程序传递过来的值符合InfoCondition+Value2为一错误信息,当不符合InfoCondition+Value2但符合InfoCondition+Value1为一告警信息,当不符合InfoContition+Valu

21、e1的时候为一正常信息,比如对某类监控InfoCondition,Value1,Value2分别设置为2,95,99。 当采集的值为98的时候为一告警信息,100的时候为一错误信息(指对监控的对象出现错误,比如磁盘空间为100的时候,说明空间满了,是一个错误信息),80的时候为一正常信息。 如果Infocontition,Value1,Value分别设置为1,0,0,则当采集到的值为1时为正常信息,0为错误信息,这个适合监控值只有TURE和FALSE两种情况下的监控,比如网络连接情况的监控,要么网络就是通的(1),要么网络就是不通(0)。2.5监控主机权限表Create Table jk_mo

22、nitor_operatorOperatorvarchar(40) not null,/*维护用户名*/ProvinceVarchar(15) not null, /*省份,如guangdong表示广东省,如果为9999表示所有省份*/Area Varchar(30) not null, /*节点,如shenzhen表示深圳,为9999表示所以地区*/HostType number(2),not null,/*监控主机类型,0前置机,1策略服务器,2-业务服务器,为99表示所有类型服务器*/CreateTimevarchar(40) not null,/*创建时间*/ModifyTimevar

23、char(40) /*创建时间*/对Province+Area+HostType索引;以下库表为维护系统库表2.6维护主机配置表Table jk_maintain_hostProvinceVarchar(15) not null, /*省份,如guangdong表示广东省*/Area Varchar(30) not null, /*节点,如shenzhen表示深圳*/HostType number(2),not null,/*监控主机类型,0前置机,1策略服务器,2-业务服务器*/HostIpvarchar(16) not null, /*被维护主机的IP*/MaintainFlagnumbe

24、r(1), /*维护的有效标志,0该主机需要被维护,1该主机不需要被维护*/Portnumber(5) not null, /*被维护主机的监听端口*/UserNamevarchar(20) not null, /*登陆被维护主机的用户名*/Passwdvarchar(20) not null, /*登陆被维护主机的密码,主要用来做客户端的校验,明文即可*/Hostinfovarchar(20), /*对该主机的说明*/CreateTimedatenot null, /*创建日期*/ModifyTimedate not null /*修改日期*/对HostIp 唯一索引对Province+Ar

25、ea 索引2.7维护用户表Create Table jk_maintain_operatorOperatorvarchar(40) not null,/*维护用户名*/Passwdvarchar(40) not null,/*密码*/CreateTimevarchar(40) not null,/*创建时间*/ModifyTimevarchar(40) /*创建时间*/对Operator唯一索引2.8维护权限表定义那些用户可以维护什么地区的什么主机Create Table jk_operaterOperatorvarchar(40) not null,/*维护用户名*/ProvinceVarc

26、har(15) not null, /*省份,如guangdong表示广东省,如果为9999表示所有省份*/Area Varchar(30) not null, /*节点,如shenzhen表示深圳,为9999表示所以地区*/HostType number(2),not null,/*监控主机类型,0前置机,1策略服务器,2-业务服务器,为99表示所有类型服务器*/CreateTimevarchar(40) not null,/*创建时间*/ModifyTimevarchar(40) /*创建时间*/2.9操作记录表(该表记录长期保存)Create Table jk_operate_recor

27、dOperatorvarchar(40), /*操作员*/ProvinceVarchar(15) not null, /*省份,如guangdong表示广东省*/Area Varchar(30) not null, /*节点,如shenzhen表示深圳*/HostType number(2),not null,/*维护主机类型,0前置机,1策略服务器,2-业务服务器*/HostIpvarchar(16) not null, /*被维护主机的IP*/Commandvarchar(60),/*操作指令*/Memovarchar(100), /*操作记录*/Resultnumber(1), /*0-

28、执行结果超时间,1成功,2失败*/CreateTimedate not null /*记录时间*/对Province+Area+HostType索引;对HostIp 索引;3.业务流程3.1监控系统业务流程3.1.1监控客户端处理流程1. 登陆监控界面,做用户名/密码验证;2. 清理N天(可配置)之前的系统告警信息;3. 系统初始化,将相应库表读入内存;4. 取得要监控主机的信息,对每个主机启动一监控线程;5. 线程根据监控主机IP和PORT连接主机,如果连接失败,则写入告警日志,间隔N秒(可配置)重连,直到成功;6. 发送登陆请求包,如果N秒内没收到监控主机的任何信息,则写入告警日志登陆失败

29、,间隔N秒后关闭连接,重新建立连接(步骤5),重新登陆;7.读取监控信息;8.解析包头;9.根据包头解析包体;10.将包体内容放入缓存;11.如果该线程对应的监控主机处于“焦点”,则将监控信息从缓存读出展现在界面上;12.根据参数设置判断监控信息是否要写入系统告警表;13.重复执行步骤7-12,如有接收失败则重新连接登陆;3.1.2服务器处理流程发送程序处理流程1.系统初始化;2.创建SOCKET,监听指定端口(可配置);3. 监听到连接请求时,执行以下判断:当前系统连接数是否达到最大值(可配置),如果没有则允许连接,已到最大值时断开连接;4. 在请求连接上监听登陆包,如果N秒(可配置)内没收

30、到登陆请求包,断开连接;5. 根据客户端类型,用户名,密码做验证,用户名,密码是在后台可配置的;监控系统和维护系统是两套用户名/密码;如果密码错误则断开连接;6.如果连接成功则进入以下步骤7-8循环处理;7.如果客户端刚登陆,则立即从监控结果路径(可配置,不同大类的监控有不同的文件夹)下读入最新监控结果信息(不同的监控项有不同的文件名),反之则判断当前时间是否到了该发送监控信息的时间(不同监控项的发送间隔时间不一样,比如CPU的信息可能间隔几秒钟就要发一次,磁盘信息间隔几十分钟才发一次,均是可配置),到了则发该监控项的信息,未到则继续循环;8.将监控结果打包发送到客户端,如果发送失败则断开连接,将总连接数减1;3.2维护系统业务流程略。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号