首发于 智能日志分析

阿里10PB/天日志系统设计和实现

ArchSummit全球架构师峰会是InfoQ中国团队推出的重点面向高端技术管理者、架构师的技术会议,本文是ArchSummit 2019深圳站,在运维新突破主题上分享《阿里10PB/天日志系统设计和实现》的PPT和文字版。

为什么要做日志系统



在10年开始,本人参与了飞天分布式系统的建设,主要从事神农监控模块,我们发现在分布式环境中, 问题排查比较困难。例如,在上千台机器的集群上,当一个job 跑得慢了,或者跑失败了,很难定位原因,不能快速确定到底是哪个模块出现异常,还是机器硬件故障,或者内核问题,抑或本身达到资源使用上限导致。

为了定位问题,往往需要登录机器,查看各种散落的信息,有时候为了简便, pssh + grep的命令组合,来查询日志,而这样的操作也存在风险,当系统负载本身较高时,全量扫描操作可能把机器直接打死。当时,一个简单的想法是,能否有一个统一的平台,将散落的信息集中采集,提供查询,满足业务快速定位问题的需求。

日志系统需求技术选型



经过多年的演进,我们总结一个通用的日志系统需要满足这样几个需求:

虽然,以上的每个功能,都有多种开源解决方案,但是这些方案更多以单独软件的方式提供,一个完整的日志平台,需要使用多套软件进行拼接。而在百万级服务器、一天数十PB、万级应用场景下,对系统的规模、稳定性、可运维性都提出了很大挑战,很难直接使用这些软件完成。针对这种情况,我们从零开始构建一套日志平台,以服务的形式,供用户直接使用,主要聚焦于实时场景,希望日志从产生到最终的查询、分析,可以在秒级时间内完成。

日志系统及上下游



随着日志系统的完善,基本打通了日志从产生到消费使用的各个环节:

采集 :

存储&消费 :

查询&分析

可视化

接下来,重点介绍日志系统服务端在设计和实现中遇到的技术挑战和我们的设计思路,在之前,先看一下当前系统规模。

当前规模



以上是当前的系统规模,而技术上的挑战,很大一部分都是由于规模引起的。

核心挑战和方案选择



核心挑战:

针对以上挑战,我们考虑日志的特点,以及日志场景业务的需求,做了如下取舍权衡:

最终,根据以上的取舍权衡,我们在系统设计上,大规模使用HDD磁盘来存储数据,用到很少SSD磁盘;部署大规模的集群,不同用户可以共享集群资源;系统性能、稳定性、Qos等问题,则尽量通过技术手段来解决。

HDD 支持百亿级查询



系统大量使用了HDD作为存储介质,如何使用HDD支持百亿的查询,就需要充分考虑当前系统的劣势和优势:

因此,考虑劣势和优势之后,通过扩大单次查询资源使用,来支持大范围数据查询,为了有更好的交互体验,每次查询时间会进行限制,尽快返回结果,如果查询数据范围太大,将采用迭代模式。上次查询的结果缓存在Cache中,下次查询可以复用之前的结果,从而得到更完整的结果。

而从数据写入到最终查询过程的几个主要环节,系统也做了特定的优化:

通过以上几个阶段处理,使得日志系统在HDD磁盘基础上,也能支持百亿级的查询。

多租户下稳定性



在多租户共享集群资源的情况下,保障服务质量尤为重要,通过多年的发展,我们也遇到和解决了很多问题,总结一下设计上需要重点考虑的因素:

接下来,介绍为了保证系统服务质量,具体的一些设计思路。

单机异常影响



上图是一个最基础的分布式模型,数据通过vip写入,经由Nginx转发到后端进程进行处理,每个后端进程负责多个数据分区。 当1%的机器出现问题时,比如从正常的20ms上升到5秒,对于系统的影响会有多大?通过计算,可以发现数据写入平均延时,从20ms 上升到69.8ms, 最大吞吐下降超过70%,如果客户端有足够的并发进行数据写入,则数据还能正常写入,只是个别请求延时较高;如果并发不够,由于最大吞吐下降70%,数据在客户端将出现堆积,导致数据不能全部写入。

由此可见,在分布式环境中,单机的稳定性,对于整体服务的质量影响也非常明显。接下来介绍保证单机服务质量的几个手段。

自动消除热点



系统内部,通过实时数据收集和统计后,自动做出调整,来消除系统中存在的热点,主要有以下两个手段:

通过以上两种方式,在大部分情况能保证整体集群之间的负载均衡。

主动防御全局秒级流控



在自动热点消除外,系统还设计了主动防御机制,来抵御异常流量。上图中第三个节点的X分区是热点,同时不允许分裂。当大量流量发送到该节点后,就算拒绝所有流量,该节点的网络也会成为瓶颈。因此,系统需要有更好的方式来抵御异常流量:

通过以上机制,能保证任意一个节点,不会被异常流量打爆,线上实际观察结果,穿透到后端的异常流量,只占正常流量的1~3%。

多租户资源隔离



在单节点内部,日志系统也使用了多种手段,进行资源隔离,保障服务稳定。

日志场景:交互式分析



在日志场景中,数据的交互式分析非常重要和有价值,日志系统在支持海量文本、数值查询的基础上,也支持SQL 92语法的Adhoc的查询,所有的查询结果以可视化形式,展现在报表上,并且,为了方便使用,任意查询页面或报表可嵌入到用户自己的可控制台,用户无需登陆阿里云可以直接查看分析数据。

问题调查的通用手段



通常,Metric、Tracing、Logging是问题调查的三大主要数据来源,可以将一般问题调查手段分为以下几个方式:

而人工进行这些操作的时候,往往存在效率底下,重复操作等问题,同时当猜测的组合维度很多时,会存在维度爆炸,光靠个人很难确保看全所有信息。

针对这类问题, 日志系统也尝试使用机器学习等方式,自动探测异常信息,将繁琐杂乱的数据进行整理,使其更加有序,重点信息突出。以下,通过两个例子进行相关功能介绍。

智能分析:日志聚类



这个是一个真实的线上例子,当时一个500台规模的集群,多个模块在报错,短短几分钟内,产生了上亿的日志,如何从这么多数据中,定位导致问题的根本原因。在这之前,我们通用采用的调查模式是,首先查看各类指标,观察是否有异常,之后从日志中,查询各类错误日志,当有大量异常日志时,需要不停过滤掉无关的错误日志,期待找到有价值的信息。

对此,系统提供了智能日志聚类功能,可以在数秒内,将上亿日志根据其相似性进行聚类,提取各类日志的功能模式。在这个样例中,首先根据ERROR这个关键词,从上亿日志中,过滤出3千多万错误日志,得到这样几个聚类结果:

从这个样例中,通过智能日志聚类,我们快速定位到异常产生的根源,进行fix。日志聚类这个功能,就是针对现实环境中,海量日志问题排查所设计,快速将杂乱信息有序化,提取重要信息,配合支持对历史数据进行比较等功能,使我们可以真正一眼看尽上亿日志。

智能分析:时序场景



在时序场景下,通过数据的建模,提供包括异常检查、时序预测、大规模时序数据层次聚类等一些列函数,来满足多种场景需求:

而在根因分析场景,通过频繁集和差异集的方式,用于快速定位和异常最相关的数据集合,如样例中,将出现错误(status >= 500)的访问数据集,定义为异常集合A,在这个集合发现90%的请求,都是由ID=1002引起,所以值得怀疑,当前的错误和ID=1002有关,同时为了减少误判,再从正常的数据集合B(status <500)中,查看ID=1002的比例,发现在集合B中的该ID比例较低,所以更加强系统判断,当前异常和这个ID=1002有非常高的相关性。

日志系统设计总结

以上是日志系统主要功能和系统设计思路,以及在日志场景下特色功能介绍,从中,可以看到该系统主要的设计思路:

实际使用样例



上图是阿里内部,使用日志服务的一个典型样例:

以上是架构师峰会上分享的主要内容,感兴趣的同学,可以扫描以下二维码进行技术讨论。


资讯网周易眼皮跳东床快婿seo优化关键词快美容公司的起名南海网站建设公司公司网站建设设计给咖啡品牌起名伤感励志说说李玉刚艺术签名生辰八字算命图片咨询公司起什么名字合适周公解梦梦见小孩撒尿姓蒲起名孙姓宝宝起名大全男给姓程的女生起什么名字好潜力的网站建设建筑装饰公司起名大全免费女孩起名13笔画的字有好听的婚庆公司起名适合推广营销的网站城堡名seo工具是什么2对2交换新生儿免费起姓名生辰八字85电影天堂中国起名实用大全 明字辈周易64卦怎么起卦造梦西游外传最新破解版下载周公解梦收到花今天生的女孩子起什么名字少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

资讯网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化