什么是 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 的工作原理?
- Logstash 将摄取、转换数据并将其发送到正确的目的地。
- Elasticsearch 将为摄取的数据编制索引,并且分析和搜索这些数据。
- 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 Firehose、Amazon CloudWatch Logs 和 AWS IoT,可让您灵活地选择满足自身使用案例要求的数据摄取工具。要了解更多信息,请参阅 Amazon OpenSearch Service 集成。
OpenSearch 包括某些来自 Elasticsearch B.V. 和其他源代码且经 Apache 许可的 Elasticsearch 代码。Elasticsearch B.V. 不是该其他源代码的来源。ELASTICSEARCH 是 Elasticsearch B.V. 的注册商标