APP下载

监控及报警模型的设计与实现

2014-11-30杰,陆春,陈

中国教育信息化 2014年12期
关键词:多维度开源报警

黄 杰,陆 春,陈 云

(上海财经大学,上海200433)

随着高校信息化的不断发展,数字校园和智慧校园的深入建设,如何保障业务的连续性,如何实时的自动监控各个业务系统的健康状况,建立多维度的监控和报警模型,以及分析和预测未来可能出现的故障,是需要考虑和解决的重要课题。主动监控模式已经成为重要的监控手段。第一时间发现、定位并记录异常,从外部到内部、从业务到基础环境、从功能到性能等各个方面对业务数据进行采集、展现和报警体系的建设,对提高服务的可靠性和可用性是非常关键的。一个良好、全面、完善的业务健康多维度监控体系,能够帮助准确、及时、完善地了解业务各个层面的生存情况,并最终实现对业务的量化管理。[1]

一、国内外研究现状

国内外有很多优秀的开源监控工具。

Cacti、Nagios、Zabbix主要侧重于系统层、网络层的监控。在应用方面,Nagios是应用比较广泛的监控工具,例如Facebook、新浪、搜狐、网易、阿里巴巴等国内外的大型企业都在使用Nagios和Cacti这套监控平台。著名互联网视频提供商PPTV部署了全世界最大的Zabbix集群,监控项多达一百万以上,报警点也超过三十万个。

实现监控主要有两个途径,分别是自建监控系统和采用第三方开源解决方案来实现。自建监控系统,是针对现在业务特性,定制和实现业务监控模型,进而达到监控业务各组成部分的健康,大的互联网公司一般会选择自建监控系统,成立一个专职团队将监控、报警及事件、故障结合起来,产生一整套行之有效的电子流,将故障事前、事中、事后的处理流程化、生产线化。开发一个agent在服务器上运行,agent会上报所需要的所有监控任务的数据到服务端入库,再做数据前台的展现。第三方监控解决方案,主要包括开源及第三方监控运营商,第三方监控比较擅长某个领域,如Networkbench、Gomez是基于用户端监控的收费监控厂商,在个人电脑和手机端安装监控软件,并上报监控数据,能够比较真实反馈用户体验数据。[2]

高校技术研发人员较少,独立研发监控系统不现实,基于优秀的开源工具二次开发来实现监控系统是较好的方案。

二、监控模型设计

监控的核心作用是对业务具有诊断能力,通过掌握生产环境下的多个维度数据,按照一定的监控模型,对影响运营质量的诸多要素和运营过程的各个环节进行监控、采集、建模、展现,通过监控来量化系统运营状况和确保最佳用户体验。[1]

多维度监控模型可分为服务器维度、存储维度、网络设备维度、网络质量维度、业务维度、数据库维度、中间件维度等,如表1所示。

通过多维度的监控模型对现有的业务环节下的各个关键指标进行实时的有效监控和数据展示,有助于把握和掌控核心业务运行的现状,真正做到监控无死点。

三、报警模型设计

1.报警方式

报警是发生异常时,快速定位和快速修复问题,挽回损失和用户体验的方式。

报警根据各维度实时监控反馈信息判断是否超过预设的阈值,如果是,则按预定的步骤(流程)进行报警或自动修复等操作。监控到的事件会导致或可能导致生产环境服务中断或服务质量下降的故障,事件发生后,需要通过报警去触发人为介入,之后断定是否为故障及故障影响等,进而通过故障管理进行永久规避。

出了故障可以立即知道,以便即时处理,预见故障,防患于未然,如何最快、有效的将报警信息传递给接收人跟报警途径有关,通常会有表2的几种途径。

表1多维度监控模型

表2报警方式

2.报警模型

报警模型的建立关系到报警质量和价值,报警模型可以理解为具有一定规则的预处理程序,这个规则可以是一个阀值,也可以是多维组合条件,针对规则进行后续的处理,比如报警或自动触发自动修复、过载保护等。通常报警模型分为通用型和业务型两大类:

通用型主要是系统运行指标,硬件可用性,网络状态,缓存、数据库通用应用运行状态等,此类报警模型对研发透明,主要由运维主导和负责。

业务型主要是指非常规的应用模块,一个学校有多个产品线,每个产品线有多个服务,每个服务又分多个服务模块单元,每一个模块又有多个特性,此类报警模型根据用途又可分为自定义报警模型、服务报警模型、集群报警模型。针对一个产品线需要建立一系列的通用型、业务型监测与报警,当发生故障时才能实现及时人工处理和自动处理、自动恢复。报警模型如表3所示。

3.报警收敛

报警收敛可以提高报警质量、报警响应质量、报警自动处理和自动恢复质量。报警收敛是通过一定规则减少数量,减少干扰,提高单条报警价值,主要有以下两类:

(1)按频率收敛,根据频率和次数设计报警模型,例如按不同重要级别的产品线进行细分,重要的产品高频率多次报警,次要的低频率少报警,并根据报警次数进行合并,只展现不发送。

(2)按对象收敛,根据监控模型、IP、服务器负责人等对象进行横向、纵向的报警收敛,一定时段同一类报警进行合并报警、合并展现,例如机房数百台服务器因网络闪断触发报警,每一个报警接收人应该只接收到几条报警,而不是各报警模型触发数百条报警。

表3报警模型

四、应用效果

基于开源分布式软件Zabbix实现多维度监控平台的搭建和实施,完成对多维度监控模型中的服务器、存储、网络设备、网络质量、业务系统等全方位多维度的监控,能够及时发现故障并发出警告,警告方式通过邮件和短信方式发出。整体的效果如图1所示。

五、结束语

基于分布式Zabbix系统建立的自动化监控平台,集成自动化运维工具(puppet)和配置管理数据库(cmdb),完成了自动化监控的目标,实现了对我校服务器集群、虚拟化集群、Web应用集群、F5负载均衡设备、一卡通设备、oracle/mysql数据库集群的实时监控。不仅有助于掌握系统整体运行情况,而且能够及时发现故障信息,很大程度上提高了信息化办公室的整体服务质量,保障业务持续性。随着学校信息化的持续不断发展,自动化监控系统还将不断的完善,发挥更大的作用。

图1多维度监控示意图

未来自动化监控平台还有很多工作要做。如何提高监控的有效性,提高监控的准确性,减少误报率,如何多方面多角度的监控,形成立体的监控体系,还有待进一步的研究和探索。

[1]李艳霞,刘乃嘉,王鑫.高校信息系统自动监控报警平台的研发与应用[J].实验技术与管理,2011,28(3):101-103.

[2]周伟强,陈灿华,李淑娟.基于Cacti和nagios的校园一卡通监控系统研究[J].实验技术与管理,2011,28(4):246-249.

[3]陈琳,王彬.开源系统自动监控大量虚拟主机[J].中国教育网络,2011(8).

[4]张晖,周利霞,姚会琴等.Nagios监控系统在天津地震应急系统中的综合应用[J].震灾防御技术ISTIC,2012,7(3).

[5]杨磊.基于Linux系统的监控工具与其自动化测试的设计与实现[D].电子科技大学,2012.

[6]葛君伟,张博,方义秋.云计算环境下的资源监测模型研究[J].计算机工程,2011,37(11).

[7]崔振裕.基于开源软件校园网监测系统的研究与实现[D].石家庄:河北师范大学,2012.

[8]薛冰,何燚.Linux系统异常监控模型研究[J].ComputerEngineering,2012,38(5).

[9]陈大伟,章洋,彭泳.配置管理系统在服务生成平台中的 应 用 研 究 [DB/OL].http://www.paper.edu.cn/htm l/releasepaper/2011/12/116/.

[10]O lups,R ihards.Zabbix 1.8 network monitoring.PACKTPublishing Ltd,2010.

[11]AndreoliniM,ColajanniM,PietriM.AScalableArchitecture for Real-Time Monitoring of Large Information Systems[C]//Network Cloud Computing and Applications(NCCA),2012Second Symposium on.IEEE,2012:143-150.

[12]王喜萍.面向网络存储加密的集中监控系统研究[D].杭州:浙江工商大学,2012.

[13]李超,梁阿磊,管海兵等.海量存储系统的性能管理与监测方法研究[J].计算机应用与软件,2012,29(7):78-80.

猜你喜欢

多维度开源报警
空间角与距离的多维度解法
“多维度评改”方法初探
五毛钱能买多少头牛
2019开源杰出贡献奖
LKD2-HS型列控中心驱采不一致报警处理
多维度市南
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
2015款奔驰E180车安全气囊报警
死于密室的租住者