Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >海量存储第二弹 - 立体化监控

海量存储第二弹 - 立体化监控

原创
作者头像
TEG云端专业号
修改于 2017-08-03 09:08:41
修改于 2017-08-03 09:08:41
1.9K0
举报

作者介绍:裴泽良,2010年加入架构平台部,一直从事运营系统相关的建设工作,历经了腾讯海量存储及CDN服务的运营体系从入门到初级再到较为完善的各个阶段,目前专注于提升腾讯云上业务的运营质量,以及建设新一代高效与安全的自动化运维体系。

关于EP级存储运营体系相关的核心内容,已在《海量存储第一弹 - 自动化运维》中做了详尽的介绍,本文主要讲海量设备、海量业务服务场景下的质量监控。

深入海量业务特性的监控

一、我们业务对监控的诉求

图1存储系统层级结构

架平主要服务了公司内部的胖子业务,主要提供了其中的海量存储、海量CDN相关的服务,这些服务最终都体现在业务多、机器数量多、区域及运营商分布广泛(国内海外都有)、使用了多家外部CDN厂商等这些特点上面。

各种类型的海量存储服务(key-value、文件型、热数据、冷数据等应用场景)后面都对应了复杂的软件架构,最终都体现在软件模块多、调用层级深、且大多以后台模块的形式运行等特点上面。

我们对业务监控的需求,从业务视角来看,表现为能够实时掌握到每个业务在各个区域、运营商、各个软件模块等的运行状态数据,且当有任何一个点出现异常时,都能够及时有效的告警出来,从系统设计视角来说,表现为要能够把复杂的业务调用场景进行抽象化,要有足够的性能以便能够实时处理海量的监控数据,且要让人工在这整个过程中并不需要做太多参与,提升系统可持续运行能力。

二、开源监控产品能否应对

图2形形色色的开源监控产品

目前市面上已有不少开源的监控产品,譬如Nagios、Zabbix、Open-Falcon等,这些开源的监控系统功能不少,能否满足我们的需求呢?

开源的监控产品本身提供的功能更聚焦于系统自身的特性监控,譬如主机是否存活、网卡流量等,而像业务特性,譬如业务请求失败数、延时等特性数据就需要单独开发插件,且当生产机位于全球各地、跨越不同运营商的时候,开源的监控在代理、上报接入点自动选优等功能上也不足以应对需求。这些还只是功能需求性的短板,当系统每分钟需要处理上十亿级别的数据量时,这些开源监控产品的性能、可扩展性等不满足的话会对业务的运营质量带来严重的影响。

三、我们业务监控的体系建设

图3监控需解决问题的形象描述

关于单台机器自身相关的各种特性的监控,譬如CPU、网卡、硬盘故障、单机不可用等,这部分与业务监控相关性不大,统一采用公司的TMP系统做监控,这里面就不再描述。

如上图,可以把我们的监控系统描述为对大量原始数据的实时处理,把数据从单台机器的低层次维度实时合并汇聚为符合业务、用户需要的高层次维度的数据,并在此数据基础上做展示、告警、业务质量分析、实时故障分析等。

譬如微信朋友圈图片上传与下载业务,假设总共有1000个节点组成,按用户访问量分布在电信、联通、移动、CAP机房,以及分布在上海、深圳、天津、中国香港等地,则每台机器单独上报各自的上传、下载的请求数、失败数、延时等多个指标的数据,人需要查看的常常是朋友圈图片上传总请求数是多少、失败率是多少,监控系统要做的就是实时对这些原始数据做汇聚合并成用户需要的样式。

图4业务监控模型的建立

如何建立业务的监控模型呢?这里的业务指的是一个业务的某方面功能,譬如微信朋友圈图片上传下载、微信C2C聊天图片上传下载、微信双人语音通话等。

如上图,我们可以先把业务分解为由多个不同的软件组成,每个软件需监控的内容分解为“多维度+多指标”,指标是指延时、请求数、失败数等这类,也即一个业务需监控的内容就可以由“多软件+多维度+多指标”来描述,譬如微信朋友圈图片上传下载这个业务,要监控的内容为“下载模块,图片类型为webp的下载每分钟请求数是多少,失败数是多少,总延时是多少”等,业务上报数据的格式也就是这种结构化的描述方式,也即“soft_id=xx|维度1=xx|维度2=xx|维度3=xx|指标1=value1”。

采用了上述模型之后,后续业务模块增加新的功能,可以直接上报新的维度、指标,不需要人工重新配置监控系统,监控系统会自动识别上报的内容并应用到系统上面,大大降低人工的参与度。当然如果系统监测到业务模块同一时间上报了过多的维度、指标,则会自动禁用新的上报,并通知人工处理,以免业务模块有BUG导致误上报。

采用了上述模型之后,告警配置就可以采用更加人性化的规则化来描述,譬如用户可以配置“微信朋友圈图片上传+所有运营商+所有地区+失败率持续达到xx就电话通知到负责人”,这样随着业务的发展以后再增加新的运营商或新的地区,业务模块是自动上报,告警都也是自动应用上去,不需要人的持续性维护,降低漏告的可能性。

用户需要关注的、需要加告警的数据常常都是高维度的数据,而不是单台机器上报的某个细粒度的数据,低维度的单机数据如何做到每分钟高效率的汇聚为高维度的复合数据呢?这里面涉及到我们的实时计算模型。

图5维度x指标与特性id的对应关系

如上图,我们会把业务上报的“维度x指标”最细粒度的所有组合一一对应到系统内部维护的一个称之为特性id的唯一数据上面,譬如“xx业务+下载软件+深圳+移动+小图+流量”ó10254,我们把10254称之为简单特性。多台机器可以同时上报同一个简单特性,我们把位于具体某台机器上面上报的该简单特性称之为单机特性,譬如“10254+ip1”就是一个单机特性。多个简单特性按某种关系的复合计算称之为复合特性,譬如业务就分布在深圳与天津,深圳与天津的流量每一个都可认为是简单特性,这两个简单特性的求和就是复合特性-总流量,当然了计算方式还可能为求平均、求最大值、求商等,视不同场景决定。

图6特性id的实时计算模型

在把“维度x指标”转化为特性id之后,低维度的数据到高维度的数据的结构其实就相当于一颗树,业务上报的低维度数据就是树的叶子结点,用户需要的高维度数据就是这颗树中间或顶层结点,问题就转化为这颗树的叶子结点的值已知、向上汇聚的计算规划已知,需要每分钟高效率的计算出中间及顶层结点的值,这可以通过如上图的实时计算方法来解决,即每分钟从树的底层开始向上计算出每个结点的值并保存。

图7即时计算模型

实时计算只能把单机数据实时高效的汇聚为简单数据或提前定义好结构的复合数据,实际上不可能提前把“维度x指标”的所有组合都加到上面的这颗树里面做实时计算,因为这种组合数会太多,且大多数的组合在大部分时间都不会有用户查看,但用户的行为却是不固定的,很有可能某一时刻用户就想查看到某种没有提前定义好的组合数据,这种情况下可以使用如上图的即时计算方法来解决,即时查询出所有简单特性,根据计算规则把简单特性的值立即计算出用户需要的数据。

图8业务全路径布控

在业务监控方面,我们对业务的全路径进行布控,监控点部署在用户访问路径的各个层,以保证任何一个层的异常都能及时有效的发现,通过高效的监控系统,以及全路径的布控,我们目前的异常主动发现率已可达到99%。

四、移动化

在当今移动化时代,监控必然也要提供移动端的支持,目前我们通过腾讯内部的企业号来实现移动端的能力。告警的发送分析处理、业务质量视图曲线的查看等功能都已经下放到移动端,甚至春节等特别节假日我们也会提供专项的移动端支持。

文章来源公众号:腾讯架构师(TencentArchitecture)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
裴泽良:海量存储与CDN的自动化运维
架构平台部提供的服务大家都使用过,微信QQ聊天的图片,朋友圈图片,QQ音乐里面的歌曲,腾讯游戏,应用宝里面的app的下载,腾讯云的COS对象存储,点播,直播,以及腾讯视频的点播,直播等产品。目前总存储量超过2EB,储备带宽超过100Tb,使用的服务器超过20W台,建设了1000多个OC机房,我们提供的服务总流量占据了腾讯90%以上的出口流量,负责托管的服务本身的运维人员只有50人。
TEG云端专业号
2018/09/25
8.9K4
小米的开源监控系统open-falcon架构设计,看完明白如何设计一个好的系统
早期,一直在用zabbix,不过随着业务的快速发展,以及互联网公司特有的一些需求,现有的开源的监控系统在性能、扩展性、和用户的使用效率方面,已经无法支撑了。
Java架构师必看
2021/07/12
8.6K0
腾讯海量监控体系经验分享
提及腾讯的海量监控的挑战,将近 20 套监控系统,指标有将近 300 多个,监控的实例超过 900 万。
腾讯大讲堂
2018/01/18
3.4K0
腾讯海量监控体系经验分享
腾讯业务监控的修炼之路「二」
织云平台团队
2017/10/25
3.8K0
腾讯业务监控的修炼之路「二」
监控系统选型,这篇不可不读!
目前我所经历的几家公司,监控系统都是自研的。其实业界有很多优秀的开源产品可供选择,能满足绝大部分的监控需求,如果能从中选择一款满足企业当下的诉求,显然最省时省力。
码哥字节
2020/09/24
3K0
监控系统选型,这篇不可不读!
AI 时代下的海量业务智能监控实践
作者丨李春晓:腾讯高级工程师,目前为腾讯SNG社交网络运营部社交平台业务运维组员工。 海量业务的挑战 互联网业务讲究“极致、口碑、快”,经历过长时间的演进,腾讯SNG社交平台产品用户访问量已经达到亿级、十亿级, 我们的业务监控、业务分析等数据也显示:业务前、后端成功率都已经达到99%, 99.9%以上。 但随之带来的挑战也是显而易见的,例如: 1. 长时间历史的发展,导致后端架构复杂,功能模块众多、监控系统多、告警量大,如何简化,让告警简单、有效? 2. 关键业务成功率, 0.01%的指标告警都可能引起成
织云平台团队
2018/01/26
4.1K0
腾讯最完整的监控体系介绍,看这篇就够了!
织云平台团队
2017/10/18
16.8K0
腾讯最完整的监控体系介绍,看这篇就够了!
深度剖析开源分布式监控CAT
CAT(Central Application Tracking)是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,基本接入了美团点评上海侧所有核心应用。目前在中间件(MVC、RPC、数据库、缓存等)框架中得到广泛应用,为美团点评各业务线提供系统的性能指标、健康状况、监控告警等。自2014年开源以来,除了美团点评之外,CAT还在携程、陆金所、猎聘网、找钢网等多家互联网公司生产环境应用,项目的开源地址是http://github.com/dianping/cat。 本文会对CAT整体设计、客户端、
美团技术团队
2018/03/12
2.3K0
深度剖析开源分布式监控CAT
云“战疫”:8天扩容100万核,我们这样做好监控
疫情当前,科技向善,腾讯应用都开始支撑各大远程工作、教育的场景,众所周知的“腾讯课堂”、“微信课堂”,“腾讯会议”在抗击疫情中做出了很大的贡献,数亿人成为了这些系统的用户。通过可视、互动的远程有效沟通、交流,一定程度保障了生产、学习工作的有序进行。
腾讯云可观测平台
2020/03/26
6600
云“战疫”:8天扩容100万核,我们这样做好监控
java应用监控之CAT简介
java应用监控之调用链跟踪选型之Zipkin、Pinpoint、SkyWalking、CAT
用户4361942
2019/05/24
2.6K0
SQL On Storm ——EasyCount系统概述
1. 摘要: TDW很好的解决了海量数据离线处理问题,但是在如下场景下:实时报表,实时监控,实时推荐,实时分析,TDW无法满足需求。而storm是应对这些场景的利器,但是storm开发的门槛较高,对于大多数使用TDW的同学来说,若是能有一套支持storm的SQL,想必那是极好的。故此本宫,不,本团队开发了EasyCount以飧大众。 EasyCount使用SQL描述业务的实时计算的需求,并将SQL转化为基于storm的topology。相对于传统SQL,实时SQL面临诸多挑战,EasyCount通过不同的方
腾讯大数据
2018/01/26
1K0
AI运维的实践探索(一):如何实现多维智能监控?
作者简介:吴树生,腾讯高级工程师。负责SNG大数据监控平台建设。近十年监控系统开发经验,具有构建基于大数据平台的海量高可用分布式监控系统研发经验。 导语:监控数据多维化后,带来新的应用场景。SNG的
织云平台团队
2017/12/07
4.2K0
AI运维的实践探索(一):如何实现多维智能监控?
Gartner推荐的容器监控系统管理实践——嘉为蓝鲸监控中心
在企业云原生转型加速推进的背景下,高效的容器监控已成为保障集群稳定性的关键刚需。嘉为蓝鲸全栈智能可观测中心・鲸眼系列的监控产品—— 嘉为蓝鲸监控中心,凭借在容器监控与运维监控领域的技术创新与实践积累,曾多次获得Gartner这一国际权威机构的推荐:
嘉为蓝鲸
2025/06/30
1160
Gartner推荐的容器监控系统管理实践——嘉为蓝鲸监控中心
天机阁——全链路跟踪系统设计与实现
小时光茶社 传说中天机阁里有一台掌控世间一切的机器,万物运行由此产生。本文的“天机阁”是一个基于链路跟踪的监控系统,后台开发人员能够通过“天机阁”洞察“天机”,快速解决问题。 摘要 为了支撑日益增长的庞大业务量,业界大量使用微服务架构。服务按照不同的维度进行拆分,互联网应用构建在不同的软件模块集上,这些软件模块可能是由不同的团队开发、可能使用不同的编程语言来实现、可能布在了几千台服务器,横跨多个不同的数据中心,分布式系统变得日趋复杂。 如何快速进行故障定位?如何准确进行容量评估?如何动态展示服务的链路?如
小时光
2019/06/26
7.6K1
天机阁——全链路跟踪系统设计与实现
海量存储第一弹 - 自动化运维
TEG云端专业号
2017/07/06
3.4K0
海量存储第一弹 - 自动化运维
大型互联网公司海量监控系统设计
"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。 网络平台部以构建敏捷、弹性、低成本的业界领先海量互联网云计算服务平台,为支撑腾讯公司业务持续发展,为业务建立竞争优势、构建行业健康生态而持续贡献价值! (一)背景 近些年来,随着互联网的迅猛发展,各大互联网公司的服务器数量不断膨胀,如今十万级别的服务器规模,已经不再罕见。再
鹅厂网事
2018/02/05
3.6K0
爱奇艺在日志实时数据监控的探索与实践
2019年6月爱奇艺会员规模突破1亿,爱奇艺的会员服务业务随之迅速增长,同时也带来了机器集群规模的增加,原有的监控体系也暴露出一些问题。数据监控体系是业务维持稳定服务的基石,会员日志监控体系形成闭环,从网络、应用、异常、页面加载多维度监控,极大提高了系统的成功率、稳定性,对会员视频播放、营销、下单等核心功能增强异常感知。
Spark学习技巧
2021/03/05
1.2K0
爱奇艺在日志实时数据监控的探索与实践
新时代运维监控能力的进化——天网云用户体验监控平台实践
本文介绍了互联网监控平台在腾讯社交网络事业群中的应用,通过监控平台实现实时监控、流量分析、异常事件预警等功能,并应用机器学习技术,实现自动化运营闭环,提高运维效率,保障业务质量。同时,该平台还支持多种接入方式,满足业务不同场景的监控需求,可广泛应用于互联网、移动互联网、工业互联网等领域。
织云平台团队
2017/01/05
5K0
新时代运维监控能力的进化——天网云用户体验监控平台实践
Flink在美团的应用与实践听课笔记
原始视频视频资源已经在优酷公开:2018.8.11 Flink China Meetup·北京站-Flink在美团的应用与实践
Java架构师必看
2020/04/22
5570
vivo服务端监控架构设计与实践
当今时代处在信息大爆发的时代,信息借助互联网的潮流在全球自由的流动,产生了各式各样的平台系统和软件系统,越来越多的业务也会导致系统的复杂性。
2020labs小助手
2022/02/21
1.3K0
vivo服务端监控架构设计与实践
推荐阅读
相关推荐
裴泽良:海量存储与CDN的自动化运维
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档