网易X工行:云原生日志系统 Loggie 正式开源!

3,149 阅读8分钟

近日,由网易和中国工商银行联合发起的云原生日志系统Loggie项目(github.com/loggie-io/loggie/)正式开源。这是网易数帆向云原生日志痛点发起的一次冲锋,也是团队联合合作伙伴践行“架构开放,内核开源”技术理念、把控制权交给客户的又一行动。

Loggie项目:破解云原生日志之痛

企业数字化转型浪潮中,采用云原生技术解决数字化软件研发、运维新挑战已成主流选择,然而在云原生环境下,**容器大规模及频繁动态迁移、日志存储多样性、Kubernetes元信息查询等特点,**迫使日志管理方式发生变化。随着业务实践的深入,日志方面存在的人肉运维越来越多、功能开发难以扩展和难以支撑更大规模等问题逐渐浮出水面,业界既有的开源方案未能满足需求,比如:

性能不达标,或者扩展功能开发效率低,未达到很好的平衡

对容器化场景支持有限

大部分开源项目均未提供一套完整的日志解决方案

在此背景下,面向云原生场景的Loggie应运而生。**Loggie是一个基于Golang的轻量级、高性能、云原生日志采集Agent和中转处理Aggregator,**支持多Pipeline和组件热插拔,提供了:

一栈式日志解决方案:同时支持日志中转、过滤、解析、切分、日志报警等

云原生的日志形态:快速便捷的容器日志采集方式,原生的Kubernetes CRD动态配置下发

生产级的特性:基于长期的大规模运维经验,形成了全方位的可观测性、快速排障、异常预警、自动化运维能力

结合网易数帆长期的业务实践,Loggie形成了如下几大特点:

• 可扩展、热插拔:配置不同的Source/Interceptor/Sink,拥有中转、过滤、解析、切分、日志报警等能力,可使用Golang快速自研插件

• 强隔离:多Pipeline设计,减少互相干扰,可同时发送多个不同数据源

• 轻量级、高性能:基于Golang,极少的资源占用,强大的吞吐性能

• 可靠性保障:完善的日志可观测性,原生Prometheus metrics支持,还有限流等Interceptor

• 云原生:配置中心集成Kubernetes,创建CRD实例即可采集容器日志

同时,基于Loggie的流式数据传输设计,我们可以灵活使用Loggie的Pipeline。

从使用形态上可划分为:

• Agent形态:每个节点一个或者每个Pod一个,用于采集日志或者其他数据

• Aggregator形态:用于中转、转发和处理,可独立部署成集群

可以应用在:

• 数据采集:采集容器日志、节点日志,采集Prometheus metrics、Kubernetes Events等

• 数据中转:作为中转机去做数据的聚合、转发、分流

• 数据处理:进行流式数据的切分、转换、处理

• 日志报警:进行异常日志的检测与报警

......

此外,利用Loggie的设计,用户也可以快速开发一个Source、Sink或Interceptor组件,复用Loggie的能力,避免大量重复的开发工作,比如:

在Kubernetes集群中可方便、直接的使用CRD下发配置,并且支持自动reload、支持指定Loggie集群,无需考虑部署、配置更新等问题

依赖Loggie提供传输过程的稳定性和可靠性,保证at-least-once和重试机制,避免数据丢失,以及数据量过多或过大造成的隐患

使用Loggie提供的一系列监控指标,比如队列长度、传输延迟、发送QPS等,可快速接入Prometheus,同时还可使用一些系统内置的快速排障的接口与能力

使用可插拔的Interceptor可用于自定义的数据处理、格式转换等,避免过多的定制化代码开发

Loggie生态:携手伙伴强化系统能力

**Loggie萌芽于网易严选业务的实际需求,成长于严选与数帆的长期共建,持续发展于网易数帆与网易新闻、中国工商银行的紧密协作。**广泛的生态,使得项目能够基于业务需求不断完善、成熟。

在Loggie之前,网易严选采用的是开源的日志解决方案。由于业务同时存在虚拟机、物理机、容器等多种日志采集场景,**需要应对相当于平峰期10倍+的大促流量,严选在采集性能、资源隔离、可观测性、异常发现及自动化运维等方面都遇到了非常大的痛点。**因此,2019年,严选与数帆开始共建面向云原生的全新日志系统Loggie。

网易数帆轻舟产品总经理陈谔表示:

Loggie是我们云原生实践的一项重要成果,项目遵循云原生社区标准构建,同时兼容传统技术架构,融合工商银行等不同行业应用场景的经验,企业采用Loggie能够统一日志管理,为云原生应用平滑落地保驾护航。Loggie的成熟得益于网易数帆与业务共建,我们相信开源将使得项目能够适应更多行业场景,丰富开源技术生态,促进云原生技术发展。

网易高级技术专家、严选中台负责人王国云表示:

Loggie已经在网易严选的混合生产环境中经过了2年多的充分验证。现在,在集团的大力支持下,我们将Loggie开源,一方面,希望可以填补社区在一站式日志解决方案上的空白,帮助到更多遇到同类问题的企业;另一方面,也希望可以借助社区的力量,使Loggie项目不断壮大,获得更持续更健康的发展。

后续,严选将基于自身业务场景及在云原生实践方面的技术积累,持续参与Loggie项目的开发与管理工作,也期待有更多志同道合的伙伴参与进来。

中国工商银行已经建成同业规模最大的企业级云平台,**核心应用100%入云,容器集群超100个,运行容器超30万个。工商银行2017年开始建设企业级日志中心,日志中心实现对应用各类日志收集、清洗、格式化及存储,支撑用户检索、下载,日均日志容量达45TB;基于标准化日志数据打造轻量级运营服务,**快速有效支持业务交易率、耗时等基础运营指标的实时获取,同时还提供移动端、前台等便捷的用户视图。

工商银行软件开发中心云计算实验室主任王鑫表示:

在社区贡献方面,工商银行作为Loggie项目参与单位,结合日志平台建设经验,并在采集目标发现、日志拦截处理、组件自监控等核心模块进行深度定制开发。后续,工商银行将持续参与Loggie社区的工作,计划在日志输出扩展、流式处理等模块继续深入研究,反哺开源社区。

Loggie未来:满足可观测性更多需求

Loggie已经广泛应用于网易内部、中国工商银行以及网易轻舟众多的商业客户环境中。在网易严选业务的实测中,Loggie消耗的CPU仅为之前方案的1/4,同时发送吞吐量为后者的1.6~2.6倍,并且在多Pipeline采集下甚至达到了200MB/s+极限吞吐量

Loggie开源发布之后,**网易数帆开源的自研云原生项目已达6个,**还包括云原生软件定义存储系统Curve、多租户可视化Kubernetes管理平台KubeCube、云原生运维诊断系统KubeDiag、高性能云原生API网关Hango、智能网格管理器Slime等。陈谔此前曾表示:网易数帆在云原生领域的一系列开源工作,旨在为客户引入云原生技术栈提供便利,通过企业级增强基础组件的开源,帮助客户解决云原生基础设施的管控、维护、稳定性等问题。

Loggie的开源,意味着网易数帆在云原生开源版图的可观测性领域也落下重子,形成了更加完善的布局。

未来,Loggie**将提供更多组件与功能扩展,推出轻量级的流式处理能力,不断解决云原生日志的更多痛点,满足可观测性方向的更多需求。**对该领域感兴趣的朋友,欢迎了解Loggie项目,共同参与建设Loggie社区!

了解更多

Loggie项目地址:github.com/loggie-io/l…

Loggie项目文档:loggie-io.github.io/docs/

数帆自主开源总览:sf.163.com/opensource