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。

浙公网安备 33010602011771号