当前位置: 首页 > 科技观察

WOT2016苗慧:白山带宽监控系统Octopux是如何另辟蹊径的?

时间:2023-03-15 13:47:19 科技观察

带宽监控系统的重要性不言而喻。为运营商结算、网络质量监控提供必要的数据支持,是每一个拥有自建资源的互联网公司必备的系统之一。白山云科技(以下简称“白山”)目前拥有上千台在线设备,分布在全球十几个国家,横跨数十家运营商。在如此复杂的网络环境下,如何保证准确监控每台设备的带宽数据?能够根据不同的应用场景灵活集成,能够轻松应对扩展到数万台的网络规模,是一项技术挑战。今年3月,百山宣布其自主研发的带宽监控系统“Octopux”开源,并将其优秀的解决方案贡献给面临类似挑战的其他公司,并诚邀业界同仁共同推动该系统的发展。本文内容来自百山研发副总裁苗辉。给大家分享一下白山带宽监控系统背后的秘密。苗慧·白山研发副总裁常规系统不够用。和大多数其他公司一样,白山一开始也选择了cacti作为带宽监控系统,但随着公司网络规模和复杂度的不断增加,cacti在近800台设备的情况下就表现出了严重的问题。问题: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会主动尝试确保监控数据通过多个网关最终发送到swtfr。全网共部署三套swtfr+influxdb+flow-api组件组合。任意swtfr收到数据后,立即复制三份,分别写入三个influxdb。flow-api负责数据查询和聚合。当收到查询请求时,将查询数据拆分为最小粒度的查询事件,并将查询发送到三个InfluxDB。收集数据后,执行聚合。flow-api支持统计最大值、平均值、最小值、groupby等常用的聚合操作。目前1分钟监控15万条数据,90%以上的数据可以在3秒内完成存储,最大规模的数据查询不到3秒,充分满足业务需求。当监控规模较大时,可以通过横向扩展swtfr+influxdb+flow-api组件的组合来提升系统性能。此外,influxdb本身也可以方便地进行横向扩展,实现更大的存储容量和更高的读写效率。服务器的带宽监控是一种自我发现的方法。除了支持监控每块网卡的出入带宽外,还支持单独监控服务器的内网/外网出入带宽,支持内网/外网出入带宽单独监控指定端口服务的带宽。交换机的带宽数据被多份监控。交换机将由本地节点中的swcollector和其他两个节点中的swcollector同时监控。监测周期为20s。三份数据通过flow-api聚合后输出带宽数据,粒度为1分钟。更确切。与CMDB对接后,可实现节点网络拓扑分层展示、组合展示、按用途组合展示、与客户计费带宽对比分析等多种方式自动展示,秒级数据查询。下图为系统的数据展示场景之一:带宽监控系统是一个看似简单,实则复杂的系统。当你的网络规模达到一定规模时,你要克服网络不通、数据不准确、处理效率低等问题。白山开源了Octopux系统,希望能给大家带来更多的启发和参考,地址如下:https://github.com/baishancloud/octopux-swcollectorhttps://github.com/baishancloud/octopux-swtfrhttps://github.com/baishancloud/octopus-gateway另外,随着influxdb生态的不断完善,influxdb无依赖易维护、轻量高效、可视化组件丰富、内置数据聚合能力等优点逐渐变得突出。白山正在尝试基于该系统架构构建第三代监控系统,以实现更好的聚合分析和复杂策略告警功能。以上是苗慧对《白山带宽监测系统Octopux如何另辟蹊径?》的详细解说。两天后,苗慧将在WOT互联网运维与开发者峰会自动化运维分会场以《质量运维化 – 白山的高品质服务之道》为主题发表演讲。详情如下:【大会介绍】4月14日至15日,WOT互联网运维与开发者峰会将在北京珠三角JW万豪酒店举行。WOT秉承专注技术,服务技术人的理念。自2012年首次举办以来,历经4届积累了大量的技术资源,成为技术从业者和技术爱好者一致认可的技术分享会、交流会和网络拓展平台。【讲师简介】白山云科技研发副总裁缪辉,拥有十年IT行业研发经验。2007年至2011年,带领团队打造网宿科技CDN运行监控系统,该系统是保障网宿科技CDN服务质量的核心平台之一,沿用至今;2011年担任百度架构师,负责百度自建CDN架构和服务质量的优化和提升,实现了业界第一的自建CDN稳定性4+9,成功承载了百度搜索等80%的百度核心业务.【主题:品质运维——白山优质服务之道】演讲摘要:运维,你还在纠结ansible还是saltstack?还在犹豫用python还是perl?你还在为是docker还是虚拟机而烦恼吗?随着云服务时代的到来,运维的目标不再只是提高效率、减少错误、排除故障,而是提升服务质量,涉及到构建、部署、故障屏蔽、风险控制等环节。、全息运营、团队协作等诸多方面的品质运维。4个月500G,90%以上客户PK服务质量优秀,白山云科技研发副总裁苗慧带你探索白山云科技的优质服务:品质运维。