Elastic Stack(一):企业架构及各组件简介

1、Elastic Stack 简介

  Elastic Stack 目前是企业中应用最广泛的日志收集分析检索的一套解决方案,它能够完成从分布式环境从收集各类型日志、指标 和 跟踪信息,并进行过滤清洗,存储到分布式搜索和分析引擎中,最终在可视化界面展示给用户进行查看的一系列任务。

  Elastic Stack 早期被称作 ELK,是由三个组件:Elasticsearch、Logstash 和 Kibana 组成。但由于在后期又加入其它组件,例如轻量级的收集工具 Beats ,所以更名为 Elastic Stack。

 

2、企业架构

  2.1 架构一:收集日志

  Beats 组件(filebeat)从分布式环境中的主机节点上采集日志数据发送给 Logstash 集群,Logstash 根据配置将数据清洗过滤后再发送给 Elasticsearch 并编入索引,最后再 Kibana 中配置仪表盘、画布等从 Elasticsearch 中读取数据将它们可视化。工作流程如下图:

 

 

   2.2 架构二:监控系统运行指标

  这种架构中所应用到的 Beats 组件不再是 filebeat,而是 Metricbeat 或者 Heartbeat,收集到的数据是系统指标和系统是否可达数据,并且 Elastic Stack 与 Kafka 等第三方 MQ 组件联用,防止瞬间流量爆发导致系统崩溃,起到削峰平滑流量的作用,而此时,Logstash 则可以单独作为数据传输管道使用,如下图:

 

 

 

 

 3、各组件作用

  • Elasticsearch:核心数据存储和数据检索引擎,天然支持数据分片和复制,可以轻松实现扩容,在很多情况下也被当成 NoSQL 数据库独立使用。
  • Logstash:用于数据清洗、数据传输,可以适配多种输入和输出数据源,同时还提供了丰富的过滤器插件。
  • Kibana:用于数据可视化和数据分析,可以为 Logstash 和 Elasticsearch 提供 web 界面。
  • Beats:采集数据,包含很多 beat 组件,如:Metricbeat 采集服务指标、Filebeat 采集日志文件、Packetbeat 采集网络流量、Heartbeat 采集健康检查等。可以直接将数据发送给  Elasticsearch 或通过 Logstash 发送给 Elasticsearch。

 

posted @ 2020-12-04 14:17  hengistwu  阅读(371)  评论(0)    收藏  举报