您好,欢迎来到刀刀网。
搜索
您的当前位置:首页监控平台系统说明

监控平台系统说明

来源:刀刀网
网管平台需求分析&概要设计

目录

1.平台需求分析 ................................................................................................................................ 2

1.1需求的提出 ......................................................................................................................... 2 1.2功能需求 ............................................................................................................................. 4 1.2.1监控系统 .......................................................................................................................... 4

1.2.2维护系统 .................................................................................................................. 6 1.3系统实现方式 ..................................................................................................................... 6 1.4重点问题说明 ............................................................................................................................. 7

1.4.1监控对象管理 .......................................................................................................... 7 1.4.2界面展示 .................................................................................................................. 7 1.4.3连接管理 .................................................................................................................. 7 1.4.4监控项值的传递和处理 .......................................................................................... 8 1.4.5监控项值的收集 ...................................................................................................... 8

2.数据库设计 .................................................................................................................................... 9

2.1监控主机配置表 ................................................................................................................. 9 2.2主机告警信息表 ............................................................................................................... 10 2.3告警信息描述表 ............................................................................................................... 11 2.4告警门槛值表 ................................................................................................................... 11 2.5监控主机权限表 ............................................................................................................... 12 2.6维护主机配置表 ............................................................................................................... 13 2.7维护用户表 ....................................................................................................................... 14 2.8维护权限表 ....................................................................................................................... 14 2.9操作记录表(该表记录长期保存) ............................................................................... 15 3.业务流程...................................................................................................................................... 16

3.1监控系统业务流程 ........................................................................................................... 16

3.1.1监控客户端处理流程 ............................................................................................ 16 3.1.2服务器处理流程 .................................................................................................... 16 3.2维护系统业务流程 ........................................................................................................... 17

1.平台需求分析

1.1需求的提出

目前我司在全国5个省份(广东,江苏,浙江,湖南,)数10个节点

部署了业务系统,各种类型的主机有数百台,并且随着业务的发展这个数字会不断增长,系统的维护和监控是一个庞大的工作,因为人力的,不可能对每台主机都做到细致化的维护,一些问题往往不能及时发现,影响了服务质量和对业务的支撑。

网管系统的目的就是将人工的维护操作尽量交由电脑执行,以做到高效,实

时,可靠。

平台由两套系统构成,监控系统和维护系统。监控系统主要是监控主机的运行情况,及时发现故障;维护主机主要是在维护主机上远程执行一些维护动作。 系统部署

外部系统管理终端管理终端外部接口web服务器DBDB策略服务器业务服务器管理平台前置机群前置机群协议转换器协议转换器分光城域网出口下行维护平台分光城域网出口上行

图一: 网络结构图

结构图中阴影部分为某个节点部署的业务系统网络示意图,其中要监控和维护的主要是占主机绝大部分数量的前置机、策略服务器、业务服务器和数据库服务器,这些服务器都是基于LINUX 操作系统运行(目前是RedHat AS3),从部署上来说,要求符合以下要求:

1.监控系统和维护系统是两套的系统,互不影响;

2.一套监控/维护系统可对多个节点的不同类型服务器进行监控/维护;监控/维护对象取决于系统配置;

3.同一台主机可最多可被多达10套系统同时监控,被5套系统同时维护;

4.网管系统完全于业务系统,网管系统的部署不会对业务系统带来影响(如业务中断);

1.2功能需求 1.2.1监控系统

对主机的监控包括以下四大类监控,分别说明如下:

主机资源监控 ◆CPU使用情况监控

监控主机CPU的利用率,一台主机一般有多个CPU,要了解每个CPU的利用率以及总体的平均利用率,每间隔N秒采集一次CPU信息并动态展示在监控界面上,当CPU长期处于高负载时(即连续N个采集信息得到的利用率值都超过阀值),系统做相应的告警;

◆内存使用情况监控;

监控主机内存的利用率以及当前可分配使用的内存空间大小,每间隔N秒采集一次内存信息并动态展示在监控界面上,当内存长期处于高负载时(即连续N个采集信息得到的利用率值都超过阀值),系统做相应的告警;

◆磁盘使用空间监控

监控主机磁盘的利用率,一台主机一般有多个磁盘,要了解每个磁盘的利用率以及剩余空间大小,每间隔N分钟采集一次磁盘信息并展示在监控界面上,当某个磁盘空间的利用率超过阀值时候,系统做相应的告警;

◆网卡流量监控

主要监控采集网卡流量采集情况,包括流量的大小,采集到的包数,错误包的包数,每N秒采集一次,当某段时间内(连续N个采集信息)低于阀值或者丢包比例超过阀值的时候系统做相应告警;

◆操作系统进程监控

监控系统中当前运行的进程数量,每N分钟采集一次并显示在界面上,当总

的进程数超过阀值时,系统告警;

网络监控

◆网络连通情况监控

主要主机之间的网络是否联通,比如前置机是需要和策略服务器以及业务服

务器互联,每N分钟采集一次,将结果显示在监控界面;如果网络不通则写入告警信息;请注意通常一台主机是需要和多台主机互通的;

应用程序监控 ◆应用程序进程监控

主要监控系统中应用程序的进程是否存在,进程的最新启动时间,当进程不

存在或者进程的启动时间距离当前时间低于允许阀值的时候进行告警;

◆应用程序日志监控

主要监控应用程序日志的大小和日志的最新更新时间,N分钟采集一次,当日志太大超过阀值或者很长时间都没更新(即当前时间减去日志更新时间)时系统告警,请注意一个应用程序可能有多个日志而只对其中部分监控

数据库监控

数据库监控只对数据库服务器适用 ◆表空间使用情况监控

统计数据库表空间的利用率以及空闲的表空间大小,N分钟采集一次,当

利用率太高的时候系统告警,请注意数据库一般都有多个甚至数10个表空间而只对其中部分监控;

◆数据库服务名解析监控

用来监控数据库是否在正常提供服务,N分钟采集一次,如果服务名不能

被解析说明数据库服务故障;

◆数据库死锁情况监控

◆数据库连接情况监控

监控数据库当前连接数,N分钟采集一次,当连接数超过阀值的时候系统告用来监控数据库有无死锁,N分钟采集一次,如果死锁则告警;

警;

系统需有良好的扩展性,当有新的监控项需要监控时能方便地加入;

1.2.2维护系统

略。

1.3系统实现方式

监控系统和维护系统均采用C/S的架构,其中客户端为.net form开发的前台

界面程序,运行在WINDOWS(XP,2000)下,负责监控信息的接收和展现。服务器端为一驻留在被监控/维护主机的伺服程序,负责收集和发送监控信息。监控系统和维护系统无论在客户端还是服务器端都是互相的。

C-S间采用SOCKET通信,被监控/维护主机和客户端之间保持一个固定的

长连接,通信格式为自定义格式。参见《监控系统客户端-服务器通信接口定义》和《监控系统客户端-服务器通信接口定义》。

从服务器端来说,监控信息的收集和发送是两个的程序。

收集程序:定时调用不同的SH脚本,将最终结果定时输出到固定文件; 发送程序:负责和客户端之间的连接管理,定时从文件里读出监控信息发送到客户端;

收集程序和发送程序经常需要操作同一个文件,可采用文件锁的机制来防止冲突;

1.4重点问题说明

1.4.1监控对象管理

在多个省份,多个节点存在多种类型的主机,并不是所有的人都能监控所有

主机,比如深圳电信的客户就不能监控广州电信的主机。为方便处理,我们不通过库表配置来实现(参见下文的主机配置表和主机权限表),最低的权限为某个用户只能维护某一个节点的某一类主机,对同一类主机不在做权限细分(比如A只能维护50%的前置,B维护另外50%的前置机)。

1.4.2界面展示

因为同时在监控多太主机,而界面上某一时刻只能显示某一台被监控主机的

某一个监控项情况,并且每个监控项信息都是需要间隔一段时间才有的,有的间隔时间还比较长(比如磁盘监控信息可能1,2个小时才有一次),为了保证“焦点”每次移动在界面上都能及时有信息显示,要采用以下策略:

1. 驻留程序收到登陆请求包验证用户合法后立刻返回当前所有监控信息,

然后才开始做间隔传送;

2. 前台客户端总是保存同一监控项当前N(可配置)个数据包的缓存,当“焦点”发生移动的时候,即刻从缓存中读去信息显示在界面上;

1.4.3连接管理

因为每个监控客户端和每一个后台服务器都保持一个固定的长连接,要监控

的主机有多台同时也可能有多个客户端在同时监控同一台主机,也就是说监控客户端和服务器都要同时维护多个长连接,需要做好连接的管理工作,包括连接数的管理,连接状态的管理,读写方式。

考虑到长连接容易出现挂死的情况,因此通信双方都需要能及时识别出异常

并及时关闭连接。通常处理如下: 客户端:

服务器端:

连接数超过时断开连接;

在接收登陆包失败或超时时断开连接; 发送数据包失败时断开连接; 发送登陆包不成功则断开连接; 接收数据失败则断开连接;

在N秒(可配置)内没收到任何监控信息断开客户断连接;

1.4.4监控项值的传递和处理

为了方便处理,每个信息包中监控项只能有一种(但可以有多个)含义的监

控项值,并且是整型的,客户端根据消息类型去判断该如何处理(是否告警),比如磁盘的监控,监控项的值为磁盘的利用率,其他信息如磁盘的编号,磁盘的空闲空间等都是参考项,客户端只用来做展示并不用来做判断。如果同一个监控目标有多个告警依据,则需要定义成多个监控项做多次传输。比如网卡流量的监控,当流量多低或者丢包率过高的时候都应该引起报警,不能在一个数据包里将这两个信息都打包过来做处理,正确的处理方式是将网卡的监控定义成两个的监控项(包括客户端的参数配置,后台的SH脚本,消息编码都不相同),各自处理,但是系统展示的时候是将它们展示在同一个界面上的。

1.4.5监控项值的收集

后台系统对监控系统的采集也有不同情况,需要做不同处理。

情况1:执行一次指令,输出一次结果,该结果为最终结果;比如磁盘空间的监

控,这是最容易处理的情况;

情况2:执行多个指令,将多个指令输出汇总到一个结果里,比如网络连通情况的监控,因为一台主机可能和多台主机相连(特别是策略服务器和数10台机器相连),测试连通情况时对每台连接的主机都需要执行一个指令来判断(比如ping), 但同一台主机和其他电脑的连通情况需要打包一次传递给客户端处理; 情况3:执行多个指令,将多个指令的结果进行二次处理得到最终处理结果,比如网卡流量的监控,需要将在两个时间点采集两次流量,将两次的流量相减并除以2次采集的间隔时间才能得到当前网卡采集速率(近似值);

2.数据库设计

以下是监控系统的库表

2.1监控主机配置表

Table jk_monitor_host {

Province Area

Varchar(15) not null, /*省份,如guangdong表示广东省*/

Varchar(30) not null, /*节点,如shenzhen表示深圳*/ number(2),not null,/*监控主机类型,0—前置机,1—策略服

HostType

务器,2---业务服务器*/

HostIp

varchar(16) not null, /*被监控主机的IP*/

number(1), /*监控有效标志,0—该主机需要被监控,1—该

MonitorFlag

主机不需要被监控*/

Port

number(5) not null, /*被监控主机的监听端口*/ varchar(20) not null, /*登陆被监控主机的用户名*/

varchar(20) not null, /*登陆被监控主机的密码,主要用来做客

UserName Passwd

户端的校验,明文即可*/

Hostinfo

varchar(20), /*对该主机的说明*/

}

CreateTime ModifyTime

date not null, /*创建日期*/ date not null /*修改日期*/

对HostIp 唯一索引 对Province+Area 索引

2.2主机告警信息表

记录主机告警信息,用户可配置告警信息保存的最长时间,比如只保存最近7天的告警信息*/ Table jk_monitor_info {

Province Area

Varchar(15) not null, /*省份,如guangdong表示广东省*/

Varchar(30) not null, /*节点,如shenzhen表示深圳*/ number(2),not null,/*监控主机类型,0—前置机,1—策略服

HostType

务器,2---业务服务器*/

HostIp InfoClass

varchar(16) not null, /*被监控主机的IP*/

number(2) not null, /*监控信息大类,10-主机信息,20—

应用程序信息,30—数据库信息,40---网络信息*/

InfoType

number(5), /*信息类型,10000-10999对应具体主机告警

信息,如10000可表示主机的CPU告警信息*/

Level

number(1), /*告警级别,0—正常信息,1—警告 ,2—错误

信息,用户可设置告警信息的显示级别,如果告警信息级别设置为0,则显示全部信息,如果为1则只显示警告信息和错误信息*/ }

对Province+Area索引;

InfoDetail varchar(60), /*告警显示信息*/ CreateTime

date not null, /*告警时间*/

对HostIp+InfoClass+Level索引;

2.3告警信息描述表

该表用来描述不同类型的告警如何显示在界面上 Create Table jk_info_config {

InfoClass

number(2) not null, /*监控信息大类,10-主机信息,20—

应用程序信息,30—数据库信息,40---网络信息,90---和监控主机连接信息*/

InfoType

number(5) not null, /*信息类型,10000-10999对应具体主

机告警信息,如10000可表示主机的CPU告警信息*/

Level

number(1) not null, /*告警级别,0—正常信息,1—警告 ,2—

错误信息,用户可设置告警信息的显示级别,如果告警信息级别设置为0,则显示全部信息,如果为1则只显示警告信息和错误信息*/ }

对InfoClass+InfoType+Level唯一索引

InfoDetail varchar(60), /*告警显示信息*/ CreateTime ModifyTime

date not null, /*创建日期*/ date /*修改日期*/

2.4告警门槛值表

Create Table jk_parameter {

InfoClass

number(2) not null, /*监控信息大类,10-主机信息,20—

应用程序信息,30—数据库信息,40---网络信息*/

InfoType

number(5), /*信息类型,10000-10999对应具体主机告警

信息,如10000可表示主机的CPU告警信息*/

InfoCount

number(2), /*连续多少监控信息都符合条件的时候才告警,

最大99个*/

InfoCondition number(1), /*0—小于,1---等于,2—大于*/ Value1 Value1 Desc

number(8), /*告警阀值*/ number(8), /*错误阀值*/

varchar(20),/*对VALUE的描述,比如“磁盘空间利用率

百分比”*/ }

对InfoClass+InfoType唯一索引;

阀值是一个整形的数字,所以在处理的时候要注意,比如当磁盘空间占用超过95%的时候系统应该告警,此时磁盘的空间利用率的对应的Value1应该是95而不是0.95,驻留程序处理的时候也尽量考虑传递过来的参数是整型的95而不要用0.95.

当驻留程序传递过来的值符合InfoCondition+Value2为一错误信息,当不符合InfoCondition+Value2但符合InfoCondition+Value1为一告警信息,当不符合InfoContition+Value1的时候为一正常信息,比如对某类监控InfoCondition,Value1,Value2分别设置为2,95,99。 当采集的值为98的时候为一告警信息,100的时候为一错误信息(指对监控的对象出现错误,比如磁盘空间为100的时候,说明空间满了,是一个错误信息),80的时候为一正常信息。 如果Infocontition,Value1,Value分别设置为1,0,0,则当采集到的值为1时为正常信息,0为错误信息,这个适合监控值只有TURE和FALSE两种情况下的监控,比如网络连接情况的监控,要么网络就是通的(1),要么网络就是不通(0)。

CreateTime ModifyTime

date not null, /*创建日期*/ /*修改日期*/

2.5监控主机权限表

Create Table jk_monitor_operator {

Operator Province

varchar(40) not null,/*维护用户名*/

Varchar(15) not null, /*省份,如guangdong表示广东省,

如果为9999表示所有省份*/

Area

Varchar(30) not null, /*节点,如shenzhen表示深圳,为9999

表示所以地区*/

HostType

number(2),not null,/*监控主机类型,0—前置机,1—策略服

务器,2---业务服务器,为99表示所有类型服务器*/ }

对Province+Area+HostType索引;

以下库表为维护系统库表

CreateTime ModifyTime

varchar(40) not null,/*创建时间*/ varchar(40) /*创建时间*/

2.6维护主机配置表

Table jk_maintain_host {

Province Area

Varchar(15) not null, /*省份,如guangdong表示广东省*/

Varchar(30) not null, /*节点,如shenzhen表示深圳*/ number(2),not null,/*监控主机类型,0—前置机,1—策略服

HostType

务器,2---业务服务器*/

HostIp

varchar(16) not null, /*被维护主机的IP*/

number(1), /*维护的有效标志,0—该主机需要被维护,

MaintainFlag

1—该主机不需要被维护*/

Port

number(5) not null, /*被维护主机的监听端口*/ varchar(20) not null, /*登陆被维护主机的用户名*/

varchar(20) not null, /*登陆被维护主机的密码,主要用来做客

UserName Passwd

户端的校验,明文即可*/ }

对HostIp 唯一索引 对Province+Area 索引

Hostinfo

varchar(20), /*对该主机的说明*/

CreateTime ModifyTime

date not null, /*创建日期*/ date not null /*修改日期*/

2.7维护用户表

Create Table jk_maintain_operator { }

对Operator唯一索引

Operator Passwd

varchar(40) not null,/*维护用户名*/

varchar(40) not null,/*密码*/ varchar(40) not null,/*创建时间*/ varchar(40) /*创建时间*/

CreateTime ModifyTime

2.8维护权限表

定义那些用户可以维护什么地区的什么主机 Create Table jk_operater {

Operator Province

varchar(40) not null,/*维护用户名*/

Varchar(15) not null, /*省份,如guangdong表示广东省,

如果为9999表示所有省份*/

Area

Varchar(30) not null, /*节点,如shenzhen表示深圳,为9999

表示所以地区*/

HostType number(2),not null,/*监控主机类型,0—前置机,1—策略服

务器,2---业务服务器,为99表示所有类型服务器*/ }

CreateTime ModifyTime

varchar(40) not null,/*创建时间*/ varchar(40) /*创建时间*/

2.9操作记录表(该表记录长期保存)

Create Table jk_operate_record {

Operator Province

Area

varchar(40), /*操作员*/

Varchar(15) not null, /*省份,如guangdong表示广东省*/

Varchar(30) not null, /*节点,如shenzhen表示深圳*/ number(2),not null,/*维护主机类型,0—前置机,1—策略服

HostType

务器,2---业务服务器*/

HostIp

varchar(16) not null, /*被维护主机的IP*/ varchar(60),/*操作指令*/

Command Memo }

Result

varchar(100), /*操作记录*/

number(1), /*0---执行结果超时间,1—成功,2—失败*/

date not null /*记录时间*/

CreateTime

对Province+Area+HostType索引; 对HostIp 索引;

3.业务流程

3.1监控系统业务流程 3.1.1监控客户端处理流程

1. 登陆监控界面,做用户名/密码验证; 2. 清理N天(可配置)之前的系统告警信息; 3. 系统初始化,将相应库表读入内存;

4. 取得要监控主机的信息,对每个主机启动一监控线程;

5. 线程根据监控主机IP和PORT连接主机,如果连接失败,则写入告警日志,间隔N秒(可配置)重连,直到成功;

6. 发送登陆请求包,如果N秒内没收到监控主机的任何信息,则写入告警日志登陆失败,间隔N秒后关闭连接,重新建立连接(步骤5),重新登陆;

7.读取监控信息; 8.解析包头;

9.根据包头解析包体; 10.将包体内容放入缓存;

11.如果该线程对应的监控主机处于“焦点”,则将监控信息从缓存读出展现在界面上;

12.根据参数设置判断监控信息是否要写入系统告警表; 13.重复执行步骤7-12,如有接收失败则重新连接登陆;

3.1.2服务器处理流程

发送程序处理流程

1.系统初始化;

2.创建SOCKET,监听指定端口(可配置);

3. 监听到连接请求时,执行以下判断:当前系统连接数是否达到最大值(可

配置),如果没有则允许连接,已到最大值时断开连接;

4. 在请求连接上监听登陆包,如果N秒(可配置)内没收到登陆请求包,断开连接;

5. 根据客户端类型,用户名,密码做验证,用户名,密码是在后台可配置的;监控系统和维护系统是两套用户名/密码;如果密码错误则断开连接;

6.如果连接成功则进入以下步骤7---8循环处理;

7.如果客户端刚登陆,则立即从监控结果路径(可配置,不同大类的监控有不同的文件夹)下读入最新监控结果信息(不同的监控项有不同的文件名),反之则判断当前时间是否到了该发送监控信息的时间(不同监控项的发送间隔时间不一样,比如CPU的信息可能间隔几秒钟就要发一次,磁盘信息间隔几十分钟才发一次,均是可配置),到了则发该监控项的信息,未到则继续循环;

8.将监控结果打包发送到客户端,如果发送失败则断开连接,将总连接数减1;

3.2维护系统业务流程

略。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务