一种基站告警的预处理方法

2018-03-22 11:44李杰张攀翔
电子技术与软件工程 2018年3期
关键词:根源风暴消息

李杰 张攀翔

摘 要 伴随当今通信技术的日益发展与完备,通信市场领域开始出现日渐激烈的竞争,对移動运营商网络性能要求也越来越高,而在整个移动网络系统中,为用户提供接入服务的基站系统占据着重要地位。而基站的保障和高效运行,关键在于如何高效处理基站告警。

【关键词】基站告警准实时统一监控 基站告警预处理决策树

随着业务的发展,基站的运维管理越来越自动化,在各种的自动化监控告警设备的加入,针对基站的告警信息越来越多,如何高效的管理这些告警信息,避免日常的运维陷入海量告警的汪洋之中,是本文要讨论的要点 。

1 告警信息的压缩

越来越多的自动化设备产生的监控告警,在大量告警风暴来临的情况下,要解决以下2个重要问题:

(1)如何在告警风暴时压缩告警;

(2)如何快速从大量告警中找到故障根源。

压缩告警风暴,可采用按照告警重要程度进行压缩,基站故障告警信息按照重要紧急程度可分为一般不紧急告警、一般紧急告警、重要不紧急告警、重要紧急告警四大类,首先从告警的重要紧急程度收敛告警信息。

其次,告警信息是分层次的, 每一层的告警又可分为原子告警,衍生性告警。因此,故障告警的报告,以重要性从最高层往最低层报,每层中重要性从原子告警到衍生性告警报,从而减少告警风暴。如图1所示。

2 告警故障树自动化分析

如何快速从大量告警中找到故障根源,采用故障树分析方法,从告警源头按照安全手册,利用运维经验和故障案例,设定每个推理节点的判决条件,当告警信息出现时,利用故障树自动化分析平台,实现故障告警的预处理,协助运维人员快速找到故障根源。

故障树分析(Fault Tree Analysis,简称FTA)又称事故树分析,是安全系统工程中最重要的分析方法。事故树分析从一个可能的事故开始,自上而下、一层层的寻找顶事件的直接原因和间接原因事件,直到基本原因事件,并用逻辑图把这些事件之间的逻辑关系表达出来。

构建基站故障树分析的原则有以下:

原则一:告警从高层向底层,在逻辑层次上面,越根源性的告警越先判断。

原则二:从原子到衍生告警。

原则三:推理树的建立根据告警来定。

原则四:验证规则,根据经验和知识库来定。

以IP相关的告警为例(如图2所示)。

当创建的故障树越全面的时候,对故障信息的预处理则越准确,为了准实时的自动化处理告警信息,使用spark streaming+hadoop处理告警和存储告警,整个基站告警信息预处理的框架如图3所示。

3 引入了消息队列机制,确保故障信息不丢失

为何要引入消息队列?因为基站的告警信息太多的时候,可能会因为后端处理能力不足,造成告警信息遗落,为了不丢失告警信息,这里我们采用kafka进行告警的缓存,避免还没来得及被消费的告警信息丢失。如图4所示。

Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。

kafka即使消息被消费,消息仍然不会被立即删除,日志文件将会根据broker中的配置要求,保留一定的时间之后删除,从根本上保障了告警信息的安全。

Kafka主要特点:

同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。

可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失。

分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的。无需停机即可扩展机器。

消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡。

支持online和offline的场景。

4 使用spark streaming+hadoop处理告警信息

如图5所示,使用Spark流处理告警信息,包括对告、消除告警等操作,这里使用spark的好处在于吞吐量高,容易维护。

Spark是一个类似于MapReduce的分布式计算框架,其核心是弹性分布式数据集,提供了比MapReduce更丰富的模型,可以在快速在内存中对数据集进行多次迭代,以支持复杂的数据挖掘算法和图形计算算法。Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。如图6所示。

Spark Streaming的优势在于:

(1)能运行在100+的结点上,并达到秒级延迟。

(2)使用基于内存的Spark作为执行引擎,具有高效和容错的特性。

(3)能集成Spark的批处理和交互查询。

(4)为实现复杂的算法提供和批处理类似的简单接口。

5 总结

综上所述,搭建一个自动化基站告警预处理平台,将告警按照重要紧急程度进行压缩,尽量减少衍生性告警,突出原子性告警,使用运维经验和故障手册创建丰富的故障分析树模型,在spark当中自动化分析查找告警的根源。利用kafka保障告警信息的高可用性,结合spark在流处理实现基站告警的自动化分析,每一条告警推送到运维人员之前,就已经通过机器算法寻找到故障根源,减少运维人员重复机械的劳动,协助运维人员快速寻找基站故障的根源和解除基站故障告警。

参考文献

[1]甄云恒.基站告警监控系统的设计与实现[D].大连理工大学,2013.

[2]姚仁捷.Kafka在唯品会的应用实践[D].云计算,2014.

作者单位

中国移动通信集团广东有限公司 广东省广州市 510623

猜你喜欢
根源风暴消息
一道电偏转创新题的命题根源剖析
帮孩子找出问题的根源
凑合是离婚的根源
玩转脑风暴
可怕的大风暴
2015A/W暗黑风暴来袭!
消息
消息
消息