一、简介
ELK是三个开源软件的缩写,分别为elasticsearch、logstash、kibana,elasticsearch是一个基于Lucene和Restful接口的分布式搜索引擎,logstash主要是用来日志的搜集、过滤和分析的工具,kibana是一个为elasticsearch和logstash提供良好的数据分析、检索、汇总可视化Web界面的工具,现在ELK已经被广泛应用到日志分析平台的搭建。而Spring Cloud作为现在最热门的微服务架构,其分布式的日志输出如果使用传统方式来进行分析查看会非常麻烦,可以直接用ELK来为其日志提供友好的服务,而kafka作为现在大数据消息队列的标准可以作为Spring Cloud与ELK之间的桥梁。
二、架构设计
如上图所示,我们的服务可以输出日志到kafka,然后logstash去kafka集群中消费日志数据,进行过滤处理后把日志存储在elasticsearch中,然后用户通过kibana去分析elasticsearch中数据。由于kafka、elasticsearch、logstash都可以配置集群,为日志系统提供了高可用性和高性能性。
三、日志格式的设计
由于业务场景的不同可能需要根据业务来做出相应的设计,笔者只给出一个基础的格式,以log4j2为例 <Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS}
Spring Cloud ELK+kafka日志分析平台(一) 搭建
最新推荐文章于 2024-05-14 23:29:14 发布