采集器采集源( 阿里正式开源可观测数据采集器iLogtail)
优采云 发布时间: 2021-12-25 17:15采集器采集源(
阿里正式开源可观测数据采集器iLogtail)
11月23日,阿里正式开源可观察数据采集器iLogtail。iLogtail作为阿里巴巴内部可观察数据采集的基础设施,承载了阿里巴巴集团和蚂蚁的日志、监控、trace、事件等各种可观察数据的采集。iLogtail运行在服务器、容器、K8s、嵌入式等多种环境中。等。它支持数百个可观察数据的采集
。已经有数千万次安装,每天采集
数十 PB 的可观察数据。广泛应用于在线监控、问题分析/定位、运行分析、安全分析等各种场景。
一个 iLogtail 和可观察性
可观察性并不是一个新概念,而是从IT系统中的监控、故障排除、稳定性构建、运行分析、BI、安全分析等逐步演化而来。与传统监控相比,可观察性是核心进化是采集
尽可能多的可观察数据以达到白盒的目的。iLogtail的核心定位是observable数据采集器,可以采集
尽可能多的observable数据,帮助observable平台打造各种上层应用场景。
2.阿里巴巴Observable数据采集的挑战
对于可观察数据的采集,开源的Agent有很多,比如Logstash、Filebeats、Fluentd、Collectd、Telegraf等,这些Agent的功能非常丰富。这些Agent的组合再进行一定的扩展,基本可以满足各种内部数据采集的需要。但由于性能、稳定性、控制等关键挑战不尽人意,我们最终选择进行自研:
1、资源消耗:目前阿里有上百万台主机(物理机/虚拟机/容器),每天产生几十PB的可观察数据,降低每1M的内存和每1M/s的性能。改善对于我们的资源节约来说是巨大的,节约的成本可能是几百万甚至几千万。目前很多开源代理的设计更注重功能而不是性能,改造现有的开源代理基本不可行。例如:
2、 稳定性:稳定性是一个永恒的话题。除了保证数据采集的准确性,数据采集的稳定性还必须保证采集到的Agent不能影响业务应用,否则影响将是灾难性的。至于稳定性建设,除了Agent本身的基本稳定性外,还有很多目前开源Agents还没有提供的特性:
3、 可控:可观察数据的应用范围很广。几乎所有的业务、运维、BI、安全等部门都会用到它,各种数据都会在一台机器上生成。同一台机器产生的数据也会被多个部门的人使用。比如2018年,我们计算了一下,平均一个虚拟机上要采集
100多个不同类型的数据,设计10多个不同部门的人需要去。使用这些数据。除了这些,还有很多其他的企业级功能需要支持,比如:
基于以上背景和挑战,我们从2013年开始逐步优化和改进iLogtail以解决性能、稳定性、可控性等问题,并经历了多次双十一、双十二、的测试春晚红包等物品。目前iLogtail支持Logs、Traces、Metrics等多种数据的统一采集。核心功能如下:
三大 iLogtail 发展历程
秉承阿里人简约的特点,iLogtail的命名也很简单。我们一开始就期望有一个统一的工具来记录Tail,所以叫做Logtail。加“i”的原因主要是当时使用了inotify技术。,日志采集的延迟可以控制在毫秒级,所以最后叫做iLogtail。从2013年开始,iLogtail的整个发展过程大致可以分为三个阶段,分别是飞天5K阶段、阿里集团阶段和云原生阶段。
1个飞天5K舞台
作为中国云计算领域的里程碑,2013年8月15日,阿里巴巴集团正式运营5000(5K)服务器规模的“飞天”集群,成为国内首家自主开发*敏*感*词*云计算的企业。通用计算平台。全球首家对外提供5K云计算服务能力的公司。
飞天5K项目始于2009年,从最初的30台逐步发展到5000台,不断解决系统的规模、稳定性、运维、容灾等核心问题。这个阶段iLogtail诞生的时候,是从5000台机器的监控、问题分析、定位(现在称为“可观察性”)开始的。在从 30 到 5000 的飞跃中,可观察到的问题面临诸多挑战,包括单机瓶颈、问题复杂性、故障排除的难易程度和管理复杂性。
在5K阶段,iLogtail本质上解决了单机、小规模集群到*敏*感*词*运维监控的挑战。iLogtail现阶段的主要特点是:
2 阿里小组赛
iLogtail在阿里云飞天5K项目中的应用,解决了日志统一采集和监控的问题。当时阿里巴巴集团、蚂蚁等还缺乏一套可靠的日志采集
系统,于是我们开始推广iLogtail作为集团和蚂蚁的日志采集
基础设施。从一个相对独立的项目比如5K到一个全集团的应用,并不是简单的复制问题,而是我们要面对的是更多的部署、更高的要求、更多的部门:
百万级运维问题:此时整个阿里巴巴和蚂蚁的物理机和虚拟机都超过了百万。我们希望用1/3的人力来运营和维护百万级的Logtail。更高的稳定性:iLogtail 一开始采集
的数据主要用于故障排查。集团广泛的应用场景对日志可靠性的要求越来越高,比如计费计量数据、交易数据,还需要满足双十一、双十二等超大数据流的压力测试。多部门、多团队:从服务5K团队到近千个团队,不同的团队会使用不同的iLogtail,一个iLogtail也会被多个不同的团队使用。
经过与阿里、蚂蚁数年的合作打磨,iLogtail在多租户和稳定性方面取得了长足的进步。iLogtail现阶段的主要特点是:
日志保存采集方案原理(详见《iLogtail技术分享(一):Polling+Inotify组合下的日志保存采集方案》)
多租户隔离的整体流程(详见《iLogtail技术分享(二):多租户隔离技术+双十一实战效果》)
3 云原生阶段
随着阿里巴巴所有IT基础设施的全面云化,以及iLogtail产品SLS(日志服务)在阿里云上的正式商用,iLogtail开始全面拥抱云原生。从阿里巴巴内部的商业化和对外提供各行业公司的服务来看,iLogtail面临的挑战重点不是性能和可靠性,而是如何适应云原生(容器化、K8s、适应云环境)以及如何兼容有了开源协议,碎片化的需求如何处理。这个阶段是iLogtail发展最快的时期,经历了很多重要的变化:
iLogtail Kubernetes日志采集原理(详见《Kubernetes日志采集原理解析》)
iLogtail插件系统整体流程(详见《iLogtail插件系统介绍》)
四大开源背景与期待
闭源构建的软件永远跟不上时代的潮流,尤其是在如今的云原生时代。我们坚信开源是iLogtail最好的发展策略,也是释放其最大价值的方式。作为observable领域最基础的软件,我们开源iLogtail,希望与开源社区一起建设,持续优化,努力成为世界一流的observable数据采集器。对于 iLogail 未来的发展,我们期待:
与其他开源采集软件相比,iLogtail在性能和资源消耗上具有一定的优势。与开源软件相比,在每天几千万次部署和几十PB数据的规模下,每年减少100TB内存和1亿CPU。核小时数。我们也希望这款采集软件能够为更多企业提高资源效率,实现可观测数据采集的“共同繁荣”。目前iLogtail只在阿里巴巴内部和极少数云上的公司(虽然有几万,但这个数字在全球几千万家公司面前还是很小的),相对来说还有几个场景。我们希望有更多不同行业、不同特点的公司能够使用iLogtail,并提出更多数据源、处理、输出目标的需求,丰富iLogtail支持的上下游生态。性能和稳定性是iLogtail最基本的追求。我们也希望通过开源社区吸引更多优秀的开发者共同构建iLogtail,不断提升这个可观察数据采集
器的性能和稳定性。
链接摘要:
1)阿里正式开源可观察数据采集
器iLogtail:
2) 《iLogtail 技术分享(一):Polling + Inotify 日志保存采集方案组合》:
3)《iLogtail技术分享(二):多租户隔离技术+双十一实战效果》:
4) 《Kubernetes 日志采集
原理解析》:
5) 《iLogtail 插件系统介绍》:%26designs/Overview.md
作者 | 袁毅
原文链接: