通过K8S部署dubbo微服务接入ELK架构

WHAT :ELK是三个开源软件的缩写,分别是:

  • E——Elasticsearch:分布式搜索引擎,提供搜集、分析、存储数据三大功能。
  • L——LogStash:对日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。
  • K——Kibana:为 Logstash 和 Elasticsearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
  • 还有新增的FileBeat(流式日志收集器):轻量级的日志收集处理工具,占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具,用来替代部分原本Logstash的工作。收集日志的多种方式及原理

WHY : 随着容器编排的进行,业务容器在不断的被创建、摧毁、迁移、扩容缩容等,面对如此海量的数据,又分布在各个不同的地方,我们不可能用传统的方法登录到每台机器看,所以我们需要建立一套集中的方法。我们需要这样一套日志手机、分析的系统:

  • 收集——采集多种来源的日志数据(流式日志收集器)
  • 传输——稳定的把日志数据传输到中央系统(消息队列)
  • 存储——将日志以结构化数据的形式存储起来(搜索引擎)
  • 分析——支持方便的分析、检索等,有GUI管理系统(前端)
  • 警告——提供错误报告,监控机制(监控工具)

这就是ELK

ELK Stack概述

c1/c2 :container(容器)的缩写

filebeat :收集业务容器的日志,把c和filebeat放在一个pod里让他们一起跑,这样耦合就紧了

kafka :高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。filebeat收集数据以Topic形式发布到kafka。

Topic :Kafka数据写入操作的基本单元

logstash :取kafka里的topic,然后再往Elasticsearch上传(异步过程,即又取又传)

index-pattern :把数据按环境分(按prod和test分),并传到kibana

kibana :展示数据