WOT2016苗辉:白山带宽监测系统Octopux如何另辟蹊径?

原创
开发 架构
白山带宽监测系统是一个看似简单但实则复杂的系统,当你的网络规模达到一定程度你不得不克服网络不通、数据不精准、处理效率低等问题,白山已将Octopus系统开源,希望给大家带来更多灵感和参考。另外随着influxdb生态的不断完善,influxdb无依赖易维护、轻量级高效率、丰富的可视化组件、自带数据聚合能力等优势逐渐凸显出来,白山正在尝试基于该系统架构打造第三代监测系统,以实现更好的聚合分析和复杂策略报警功能。

带宽监测系统的重要性不言而喻。它为运营商结算、网络质量监控提供必要的数据支持,是每个拥有自建资源的互联网公司必配系统之一。白山云科技(以下简称“白山”)目前线上设备数千台、分布于全球十几个国家、跨越数十家运营商,在如此复杂的网络环境下如何确保各设备带宽数据精准监测,后期能按不同应用场景灵活整合,并且在网络规模扩大到上万台后仍然能轻松应对,是技术上需要面对的挑战。今年3月白山宣布其自主研发的带宽监控系统“Octopux”开源,将其优秀解决方案贡献给其他面临类似挑战的公司,同时诚邀业界同仁共同促进系统发展。本文内容来自白山研发副总裁苗辉,下面就和大家深度分享白山带宽监测系统背后的秘密。

苗辉·白山研发副总裁

常规系统力不从心

和大多数其他公司一样白山最初也选择cacti作为带宽监测系统,但是随着公司网络规模和复杂度的不断提高,在设备将近800台时cacti已表现出严重的问题:

1、poller并发能力不足:为了完整监测800台设备,监测粒度只能做到5分钟,而业务层面对于1分钟粒度的带宽数据需求越来越强烈。

2、跨运营商监测经常失败:即使cacti服务器部署在了三线BGP机房,仍然无法规避跨运营商监测丢失数据的问题。

3、服务器IO成为瓶颈:800台设备每5分钟需要更新8000个RRD文件,磁盘出现了严重的IO瓶颈,导致数据消费方难以忍受。

4、数据提取效率低:二进制形式计入RRD文件的带宽数据只能通过rrd-tool工具包提取出文本数据,面对形态多变的业务层数据提取需求表现得极其不灵活,更无法在提取接口实现数据聚合功能以降低消费者的复杂度。

白山团队突破瓶颈

在此背景下,白山放弃了对cacti的继续改造,在参考借鉴诸多开源系统的基础上开发出当前的带宽监测系统。系统的核心设计目标是:99.9%的数据完整性***跨运营商和跨国家监测问题、平台可以水平扩张至承载上万台服务器的监测、支持秒级粒度数据监测、提供简单高效的数据查询接口。

如上图架构图所示:

swcollector负责数据的收集,以后台进程模式运行在全网各个服务器上。收集来的数据传输给数据收集中心swtfr组件,在跨网或跨国环境下,如果swcollector无法将数据传给swtfr,swcollector会主动尝试通过多台gateway中转的方式确保将监测数据最终发送到swtfr。

全网共部署三套swtfr + influxdb + flow-api组件组合,任意一台swtfr收到数据后立即copy三份,写入三个influxdb中。flow-api负责数据的查询和聚合,当收到一个查询请求后,将查询数据拆分成最小粒度的查询事件并发向三台influxdb发起查询,数据收齐后再做聚合处理。flow-api支持统计***值、平均值、最小值、group by等常用聚合操作。

当前一分钟监测15w条数据,90%以上的数据能3s入库,***规模数据查询耗时3s内,完全满足业务需要。当监测规模较大时,可以通过水平扩展swtfr + influxdb + flow-api组件组合提升系统性能,此外influxdb本身也可以方便地水平扩展,以达到更大的存储容量和更高的读写效率。

服务器的带宽监测为自发现方式,除支持各网卡进出带宽监测外,还支持服务器内/外网进出带宽的分开监测、以及指定端口服务的内/外网进出带宽的分开监测。

交换机的带宽数据监测多份,一台交换机会同时被本节点内的一个swcollector和另外两个不同节点的swcollector监测,监测周期20s,三份数据通过flow-api聚合后输出1分钟粒度的带宽数据更为精准。

与CMDB打通后可以自动按节点网络拓扑分层展示、合并展示、按用途合并展示、与客户计费带宽对比分析等多种方式展现,数据查询秒开。

下图为该系统数据展示场景之一:

带宽监测系统是一个看似简单但实则复杂的系统,当你的网络规模达到一定程度你不得不克服网络不通、数据不精准、处理效率低等问题,白山已将Octopux系统开源,希望给大家带来更多灵感和参考,地址如下:

另外随着influxdb生态的不断完善,influxdb无依赖易维护、轻量级高效率、丰富的可视化组件、自带数据聚合能力等优势逐渐凸显出来,白山正在尝试基于该系统架构打造第三代监测系统,以实现更好的聚合分析和复杂策略报警功能。

 

以上是苗辉关于《白山带宽监测系统Octopux如何另辟蹊径?》的详细解说,两天之后苗辉会于WOT互联网运维与开发者峰会自动化运维分会场为大家做主题为《质量运维化 – 白山的高品质服务之道》的演讲,详细内容如下:

【大会简介】

4月14-15日在北京珠三角JW万豪酒店,51CTO将举办WOT互联网运维与开发者峰会。WOT秉承专注技术,服务技术人群的理念,自 2012年***举办以来,历经4届,积累了大量的技术资源,成为广大技术从业者和技术爱好者一致认可的技术分享大会、交流和人脉拓展平台。

【讲师简介】

苗辉,白山云科技研发副总裁,十年IT行业研发经验。2007年至2011年带领团队创建网宿科技CDN运营监控体系,该体系是保证网宿科技CDN服务质量的核心平台之一,沿用至今;2011年任百度架构师,负责百度自建CDN架构和服务质量的优化改进,实现自建CDN稳定性业内首达4个9,并成功承载百度搜索等80%的百度核心业务。

【主题:质量运维化 – 白山的高品质服务之道】

演讲摘要:运维,你还在纠结选择ansible或saltstack吗?还在犹豫用python或perl吗?还在苦恼到底是docker还是虚机吗?随着云服务时代的到来,运维的目标已不再仅是提高效率、较少出错、消除故障的自动化运维,而是以提高服务质量为核心的涉及建设、部署、故障屏蔽、风险控制、全息运营、团队协作等诸多环节的质量化运维。4个月上量500G、超过90%的客户PK服务质量***,白山云科技研发副总裁苗辉带你一起探索白山云科技的高品质服务之道:质量化运维。

 

责任编辑:王雪燕 来源: 51CTO
相关推荐

2011-12-29 09:44:14

云计算OwnCloud私有云

2021-03-01 10:15:24

数字货币人民币金融

2017-08-25 12:02:46

AI

2014-09-22 14:36:01

移动应用iOSAndroid

2009-05-08 09:00:51

微软鲍尔默谷歌

2010-12-21 09:42:03

思科云计算

2015-04-01 10:22:22

一加ROM互联网

2016-06-25 15:32:26

WOT2016

2016-06-27 10:24:12

WOT2016企业安全

2016-03-22 10:02:23

WOT2016创业团队大数据

2018-10-29 14:56:25

技术芯片系统

2016-06-30 14:13:00

2016-11-06 23:21:49

深度学习情感分析

2016-05-18 09:52:55

2016-04-14 16:48:56

WOT2016运维与开发者大会51CTO

2016-04-13 11:36:33

OpenStackWOT2016云计算

2016-06-29 10:29:35

2016WOT企业安全

2016-08-19 10:02:57

数据移动

2016-07-28 15:52:59

H5游戏WOT
点赞
收藏

51CTO技术栈公众号