作者:董文启
应用程序日志是由软件应用程序记录的事件文件, 它一般包含错误,信息事件和警告。一个良好的日志系统有助于快速发现问题,定位问题,同时也为业务分析起到一定的作用。
传统ELK系统
ELK系统是目前比较流行的日志解决方案,由Elasticsearch、Logstash、Kibana组成,目前三个组件都归属于Elastic。
Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。
自2010年发布以来,Elasticsearch已迅速成为最受欢迎的搜索引擎,常用于日志分析,全文搜索和业务分析等业务场景。
Logstash 将日志收集后发送到Elasticsearch中进行存储,用户访问Kibana提供的UI界面查询数据。
Choerodon中的日志系统
总览
和ELK类似,Choerodon选用了Elasticsearch存储日志数据,并由Kibana展示数据。Choerodon平台运行在Kubernetes平台之上,同时也管理多个Kubernetes集群,为了让日志系统尽可能的不影响业务系统,Choerodon使用了比Logstash更轻量的由C语言编写的fluent bit替代采集端工具Logstash。fluent bit通过Deamonset的方式运行在Kubernetes集群中的每一个可调度的节点上,实时采集日志,发送到Elasticsearch中,一般情况下,从日志产生到Kibana中可以查看到的延迟不超过1秒钟。精简结构图如下:
先看一下查看界