ELK Stack 初学者教程:你想知道的一切
已发表: 2020-03-24目录
介绍
当今世界是数据驱动的,这意味着无论是小型初创企业还是大型企业,都会产生大量数据。 业务数据、销售数据、客户数据和产品数据,其中大部分数据存储在数据库和 Web 服务器中。 在 Web 服务器内部,您可以在 Web 服务器日志中找到数据。 这些日志包含未结构化且可能难以理解的原始数据。
由于这些日志通常被大公司忽视,他们可能会丢失可以帮助他们增强业务的有价值的信息。 因此,处理所有这些日志数据很重要。 但是如果没有合适的工具,日志分析可能会很麻烦。
这就是 ELK Stack 的用武之地。
了解: Splunk 与 Elk:您应该选择哪一个?
什么是 ELK 堆栈?
ELK Stack 是一个强大的日志分析工具,它结合了三个工具——Elasticsearch、Logstash 和 Kibana 。 它们是三个开源项目,但它们共同提供了用于日志搜索、可视化和分析的端到端分析解决方案。 这些日志可能来自不同的系统。
该软件堆栈可帮助您从任何来源和格式获取数据。 然后,您可以实时执行搜索、分析和可视化这些数据以确定模式。 借助集中式日志记录,您可以识别网络服务器和应用程序的问题。 这意味着您可以从一个平台查找所有日志。 还可以检测到多个服务器中的问题。

ELK Stack 教程:架构
让我们仔细看看 ELK Stack 架构。 组件如下:
弹性搜索
这是软件堆栈的核心,基本上是一个 NoSQL 数据库。 它于 2010 年推出,基于Apache Lucene搜索引擎。 这个工具用 Java 编码,是开源的。 这个强大的分析引擎允许您存储、分析和搜索大量日志数据。 在 Elasticsearch 中通过搜索获取数据的最佳方式是利用其 REST API。
它的一些重要特点是:
- 集中存储数据以便快速查找
- 提供高级查询以进行更好的数据分析
- 您可以使用它来索引异构数据
- 提供近乎实时的搜索,这意味着您可以在文档被索引后立即找到它们。 因此,您可以实时更新和添加更多数据到文档中。
- 提供地理位置支持和多语言支持
- 使用多文档 API 处理单个记录
Elasticsearch 的一些重要组件包括:
- 索引——它们是具有相似特征的文档的逻辑分区
- 节点——这是一个 Elasticsearch 实例
- 分片——索引可以被分成水平的碎片或碎片
- 文档– JSON 对象,它们是存储单元并存储在 Elasticsearch 索引中
- 集群——节点的集合
阅读: 4 种类型的数据分析来改进业务决策
日志存储
这是一个获取数据输入并将其提供给 Elastic 搜索的工具。 最初,它用于收集和流式传输来自不同数据源的大量数据。 后来,它被包含在 ELK 堆栈中,然后它处理日志消息,增强它们并将它们发送到目的地。

Logstash使收集的数据可用于进一步使用。 它还有助于清理数据以供进一步使用,并且可以支持大量数据类型。 Logstash 有一个庞大的插件生态系统,您可以增强其功能。 一些流行的插件包括 Github、file、exec、heartbeat、http 和 iMac。
它有3个主要组成部分:
输入
这用于传递日志进行处理,以便机器可以理解。 有 50 多个输入插件用于收集和处理来自数据库和应用程序的数据。
输出
这包括消息字段的输入数据。 这被认为是已处理日志的决策者。
过滤器
这些是用于执行操作或事件的条件。 使用内部队列处理事件。
木花
这是 ELK Stack 中用于数据可视化的工具。 您可以使用它来搜索 Elasticsearch 索引,它是一个基于浏览器的简单界面。 使用它,您可以探索大量数据。 它有一个广泛的仪表板,其中包含许多功能,例如图形、地理空间数据和图表。 Kibana 可用于搜索、交互和查看索引中包含的 Elasticseach 数据。 了解有关数据可视化的更多信息。
Kibana 的重要特性如下:

- 在 Windows、Mac 和 Linux 上运行
- 提供索引数据的实时可视化
- 这在 Node.js 上运行,您将获得必要的包以及安装包
- 它可以使用图表和图形来描述历史信息
- 您可以开发和保存自己的图表
节拍
ELK 架构的另一个组件是 Beats。 它们是一组安装在服务器上用于获取指标和数据日志的日志传送器。 它是用 Go 编程语言编码的,是一个轻量级的工具。 一些不同类型的 Beats 包括:
- Filebeat:收集日志文件
- Packetbeat:收集网络数据
- Metricbeat:它收集服务和系统指标
- Winlogbeat:用于收集 Windows 事件日志文件
ELK Stack 教程:安装
现在,我们已经到了ELK Stack 教程的最后一部分。 让我们看看安装 ELK Stack 所需的步骤。
- 访问 ELK Stack 的官方网站 - https://www.elastic.co/downloads
- 点击下载 Elasticsearch
- 然后,点击下载Logstash
- 之后下载 Kibana
- 您将获得三个 zip 文件夹。 解压并按照官网说明单独下载。
结论
ELK Stack 被 Netflix、Medium 和 LinkedIn 等全球知名公司用于处理他们的日志数据。 这是因为该工具在从不同应用程序收集数据并将其聚合到单个实例中时效果很好。 它在垂直和水平缩放中也非常有用。 此外,它还支持 Python、Java、Perl 和 Ruby 等多种语言。
因此,如果您是一个努力处理日志数据的企业主,ELK 就是解决方案。 要了解基础知识,请随身携带此ELK Stack 教程。
如果您有兴趣了解有关大数据的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为工作专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目和作业,IIIT- B 校友身份、实用的实践顶点项目和顶级公司的工作协助。