Elastic Stack

1. 简介

Elastic Stack是一个开源的数据分析和可视化平台,核心产品包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)等等。能够安全可靠地从任何来源获取任何格式的数据,然后对数据进行搜索、分析和可视化。以前叫ELK,就是现在的Elastic Stack

2. 核心产品

2.1 Elasticsearch

  • Elasticsearch是Elastic Stack的核心所在
  • 是一个分布式、RESTful 风格的搜索和数据分析引擎
  • 基于java开发,高性能和可伸缩性闻名,能够快速地存储、搜索和分析大量结构化和非结构化数据

image-20231112140134989

2.2 Logstash

  • 是一个用于数据收集、转换和传输的数据处理引擎,支持从各种来源(如文件、日志、数据库等)收集数据

  • 基于java开发,并对数据进行结构化、过滤和转换,然后将数据发送到Elasticsearch等目标存储或分析系统。

Screenshot of Arcsight

2.3 Kibana

  • 基于node.js开发,数据可视化和仪表盘工具,连接到Elasticsearch,通过简单易用的用户界面创建各种图表、图形和仪表盘
  • 帮助用户快速探索和理解数据,并进行强大的数据分析和可视化

screenshot-kibana-10-discover-explore-speed

2.4 Beats

  • 是轻量级的数据收集器,用于收集和发送各种类型的数据到Elasticsearch或Logstash
  • Beats提供了多种插件和模块,用于收集和传输日志、指标数据、网络数据和安全数据等

image-20231112135641249

2.5 beats和logstash比对

  • beats是用来优化logstash的,因为logstash消耗的性能比较多
  • 如果只是单纯的为了收集日志,使用logstash就有点大材小用了,另外有点浪费资源
  • 而beats是轻量级的用来收集日志的, 而logstash更加专注一件事,那就是数据转换,格式化,等处理工作

3. 总结

  • Elastic Stack的架构主要是将各个组件连接起来形成数据处理和分析的流程
  • 数据可以通过Logstash的输入插件进行收集和处理,然后通过输出插件将数据发送到Elasticsearch进行存储和索引
  • Kibana可与Elasticsearch进行连接,提供灵活的可视化界面,将数据分析结果以图表、仪表盘等形式展示出来
  • Beats作为数据收集器,可以直接收集数据并将其发送到Elasticsearch或Logstash
  • 整个Elastic Stack的架构是高度可扩展和灵活的,可以根据特定需求进行定制和扩展
  • 它被广泛应用于日志分析、实时监控、安全分析、商业智能和搜索等领域,为用户提供强大的数据处理和分析能力