什么是 ELK Stack?

ELK Stack 是一个缩略词,用来描述由三个常见项目组成的堆栈:Elasticsearch、Logstash 和 Kibana。ELK Stack 通常被称为 Elasticsearch,它使您能够聚合来自所有系统和应用程序的日志,分析这些日志,并创建可视化来进行应用程序和基础设施监控、更快的故障排除、安全分析等。

E = Elasticsearch

Elasticsearch 是在 Apache Lucene 上构建的分布式搜索和分析引擎。对各种语言、高性能和无架构 JSON 文档的支持使 Elasticsearch 成为各种日志分析和搜索使用案例的理想选择。 

有关更多信息,请参阅什么是 Elasticsearch?

2021 年 1 月 21 日,Elastic NV 宣布,他们将改变软件许可策略,不在 Apache 2.0 版本 (ALv2) 许可下发布 Elasticsearch 和 Kibana 的新版本。相反,将在 Elastic 许可下使用 Elastic 许可或 SSPL 下提供的源代码提供新版本的软件。这些许可证不是开源的,不会为用户提供同样的自由。要获得一个安全、高质量且完全开源的搜索和分析套件,您可以使用 OpenSearch 项目,该项目是开源 Elasticsearch 和 Kibana 的社区驱动、ALv2 许可的分支。

L = Logstash

Logstash 是一个开源数据摄取工具,允许您从各种来源收集数据,转换数据,并将数据发送到您希望的目标。通过预构建的筛选器和对 200 多种插件的支持,Logstash 使用户能够轻松摄取数据,无论数据源或类型如何。 

Logstash 是一个轻量级、开源的服务器端数据处理管道,允许您从各种来源收集数据,进行动态转换,并将数据发送到您希望的目标。它最常用作 Elasticsearch 的数据管道,Elasticsearch 是一个开源分析和搜索引擎。由于它与 Elasticsearch 紧密集成,具备强大的日志处理功能并提供 200 多个预构建的开源插件来帮助您轻松地索引数据,因此 Logstash 是将数据加载到 Elasticsearch 的常用工具。

轻松加载非结构化数据

Logstash 让您能够轻松接收来自多种数据源 (包括系统日志、网站日志和应用程序服务器日志) 的非结构化数据。 

预构建的筛选条件

Logstash 可以提供预构建的筛选条件,因此您可以随时转换常见的数据类型、在 Elasticsearch 中对其编制索引并开始查询,而无需构建自定义数据转换管道。

灵活的插件架构

GitHub 上已经发布了 200 多个插件,因此您很有可能利用他人构建的插件来自定义自己的数据管道。但如果插件没有符合您的要求,您可以轻松地自行创建一个。

K = Kibana

Kibana 是一种数据可视化和挖掘工具,可以用于日志和时间序列分析、应用程序监控和运营智能使用案例。它提供了强大且易用的功能,例如直方图、线形图、饼图、热图和内置的地理空间支持。此外,它还提供了与 Elasticsearch 的紧密集成,后者是一款流行的分析和搜索引擎,这使得 Kibana 成为了可视化 Elasticsearch 中存储数据的默认之选。

2021 年 1 月 21 日,Elastic NV 宣布,他们将改变软件许可策略,不在 Apache 2.0 版本 (ALv2) 许可下发布 Elasticsearch 和 Kibana 的新版本。相反,将在 Elastic 许可下使用 Elastic 许可或 SSPL 下提供的源代码提供新版本的软件。这些许可证不是开源的,不会为用户提供同样的自由。为了确保开源社区和我们的客户继续拥有一个安全、高质量的完全开源的搜索和分析套件,我们推出了 OpenSearch 项目,该项目是开源 Elasticsearch 和 Kibana 的社区驱动、ALv2 许可的分支。OpenSearch 套件由一个搜索引擎 OpenSearch 和一个可视化和用户界面 OpenSearch 控制面板组成。

可以在本地、Amazon Elastic Compute Cloud(Amazon EC2)上运行 Kibana,也可以在 Amazon OpenSearch Service 的 Apache 2.0 许可版本(最高 7.10.2 版)上运行 Kibana。OpenSearch 控制面板是 Kibana 的开源替代服务,也可以进行自我管理。该控制面板源自 Kibana 的最新开源版本(7.10.2)。其中包含许多进步,并得到了 OpenSearch Project 的大力支持。使用本地或 Amazon EC2 部署,您需要负责预配置基础设施、安装 Kibana 或 OpenSearch 控制面板软件以及管理基础设施。使用 OpenSearch Service,Kibana 或 OpenSearch 控制面板作为完全托管的服务自动部署到您的域中,并自动承担管理集群的所有繁重任务。

交互式图表

Kibana 提供了直观的图表和报告,您可用来以交互方式浏览大量日志数据。您可以动态拖动时间窗口、对特定数据集进行缩放以及向下钻取报告,从数据中提取可操作的见解。

映射支持

Kibana 提供有强大的地理空间功能,这样您便可在数据上根据地理信息无缝地分层,并在地图上可视化结果。

预构建的聚合和筛选条件

使用 Kibana 预构建的聚合和筛选条件,您只需几个步骤即可运行各种分析,例如直方图、top-N 查询和趋势。

可轻松访问的控制面板

您可以轻松设置控制面板和报告并与他人分享。而需要您做的只是通过浏览器来查看和探究数据。

ELK Stack 的工作原理?

  1. Logstash 将摄取、转换数据并将其发送到正确的目的地。
  2. Elasticsearch 将为摄取的数据编制索引,并且分析和搜索这些数据。
  3. Kibana 会将分析结果可视化。

ELK 堆栈的作用?

ELK Stack 用于解决一系列问题,包括日志分析、文档搜索、安全信息和事件管理(SIEM)以及可观察性。它提供搜索和分析引擎、数据摄取和可视化。

为什么 ELK Stack 很重要?

ELK Stack 满足了日志分析空间的需求。随着越来越多的 IT 基础设施转移到公有云中,您需要一个日志管理和分析解决方案来监控此基础设施,以及处理任何服务器日志、应用程序日志和点击流。 ELK Stack 为您的开发人员和 DevOps 工程师提供了一个简单但稳固的日志分析解决方案,以较低的价格便可获得关于故障诊断、应用程序性能和基础设施监控的宝贵见解。

如何为 ELK Stack 选择正确的解决方案?

在 AWS 中,您可以选择在 EC2 上自行部署和管理 ELK Stack。但是,通过向上和向下扩展来满足您的业务要求,或者实现安全性和合规性,对于自我管理选项来说也是一个挑战。如果您希望开发人员或 DevOps 工程师利用时间构建创新应用程序或管理操作任务,例如部署、升级、软件安装和修补、备份以及监控,那么 OpenSearch Service 是一种完全托管的开源替代方案,可让您更轻松地在 AWS 上安全、经济高效地部署、操作和扩展 OpenSearch 集群。

哪些 AWS 产品支持您的 ELK Stack?

OpenSearch Service 支持 Apache 2.0 许可的 Elasticsearch(版本 1.5 至 7.10)和 Kibana(版本 1.5 至 7.10)的多个版本。OpenSearch Service 还支持与 Logstash 集成,以从来源收集和转换数据,然后将其加载到服务中。

AWS 提供哪些摄取工具?

AWS 有多种数据提取工具,例如 Amazon Kinesis Data FirehoseAmazon CloudWatch LogsAWS IoT,可让您灵活地选择满足自身使用案例要求的数据摄取工具。要了解更多信息,请参阅 Amazon OpenSearch Service 集成

OpenSearch 包括某些来自 Elasticsearch B.V. 和其他源代码且经 Apache 许可的 Elasticsearch 代码。Elasticsearch B.V. 不是该其他源代码的来源。ELASTICSEARCH 是 Elasticsearch B.V. 的注册商标

使用 AWS 的后续步骤

查看其他与产品相关的资源
了解有关 OpenSearch 的更多信息 
注册免费账户

立即享受 AWS 免费套餐。 

注册 
开始在控制台中构建

在 AWS 管理控制台中开始使用 AWS 混合云进行构建。

登录