智能
助手
最大化  清空记录 停止  历史记录
翻译选中文本
选中一段文本后进行翻译
名词解释
选中一段文本后进行名词解释
知识图谱生成
通过图谱展示知识信息
登录用户在知识浏览页面可用
答案生成
AI自动回答一个问答功能中的问题
登录用户在问答浏览页面,且问题开放回答中可用
知识摘要
自动为当前知识生成摘要
知识浏览页面可用
知识问答
针对当前知识进行智能问答
知识浏览面可用
2025-12-10 22:37:11 版本 : 1. Elastic Stack 简介
作者: 文艺范儿 于 2025年12月10日 发布在分类 / Elastic Stack / Elastic Stack 下,并于 2025年12月10日 编辑
 历史版本

备注 修改日期 修改人
创建版本 2025-12-10 22:37:11[当前版本] 文艺范儿

1. Elastic Stack 简介

Elastic Stack(以前称为 ELK Stack)是一套由 Elastic NV 公司开发的开源数据管理和分析软件套件。它是一组强大工具的集合,专门用于从任何来源、任何格式的数据中实时地搜索、分析和可视化数据。

Elastic Stack 是一个功能完整、易于扩展的数据可观测性平台。它将数据采集、处理、存储和可视化无缝集成,使企业和开发者能够从海量杂乱的数据中快速提取有价值的信息,广泛应用于运维、安全和业务分析等领域。

官网:https://www.elastic.co/cn

1.1 核心组成

Elastic Stack 主要由四个核心产品组成,首字母缩写为 ELK

  1. Beats

  2. Logstash

  3. Elasticsearch

  4. Kibana

它们在整个数据处理流程中扮演着不同的角色,协同工作,形成了一个完整的数据管道。

粘贴图片

1. Beats:轻量型数据采集器

Beats 是一个平台,由多种单一的、轻量级的数据采集器组成。它们被安装在需要收集数据的服务器上,负责从成百上千台机器和系统收集数据并发送给 Logstash 或 Elasticsearch。

常见的 Beats 包括:

  • Filebeat:最常用,用于收集和转发日志文件。

  • Metricbeat:用于收集系统和服务级的指标(如 CPU、内存、Redis、Nginx 等)。

  • Packetbeat:用于网络数据包分析,监控应用流量。

  • Winlogbeat:专门用于收集 Windows 事件日志。

  • Auditbeat:收集审计数据,监控服务器的完整性。

特点:占用资源少,使用 Go 语言编写,部署简单。


2. Logstash:数据加工处理管道

Logstash 是一个强大的数据处理引擎,用作数据管道。它能够动态地从多种数据源采集数据,并对数据进行转换和 enrichment(丰富),然后将其发送到指定的“存储库”(通常是 Elasticsearch)中。

Logstash 的管道包含三个阶段:

  1. Input(输入):从数据源(如 Beats、Kafka、数据库、文件等)获取数据。

  2. Filter(过滤):解析、转换和丰富数据。这是最核心的阶段,常用插件包括:

    • grok:解析非结构化的日志数据并将其结构化。

    • mutate:对字段进行修改,如重命名、删除、替换。

    • date:解析日期字段。

    • geoip:根据 IP 地址添加地理信息。

  3. Output(输出):将处理后的数据发送到目的地,最常见的是 Elasticsearch,也可以是 Redis、Kafka、电子邮件等。

特点:功能强大,但相对重量级,需要 JVM 来运行。


3. Elasticsearch:搜索和分析引擎

Elasticsearch 是整个栈的核心。它是一个分布式、RESTful 风格的搜索和分析引擎。它接收来自 Logstash 或 Beats 的数据,并以其强大的倒排索引技术进行存储和索引,从而提供近乎实时的搜索能力。

核心特性:

  • 分布式和高可用性:数据被分片(Shard)并在集群中的多个节点上进行复制(Replica),实现水平扩展和故障转移。

  • 近实时搜索:数据索引后,在很短的延迟内(约 1 秒)即可被搜索到。

  • 强大的 REST API:所有操作(索引、搜索、集群管理)都可以通过简单的 RESTful API 完成。

  • 倒排索引:使用倒排索引数据结构,使得全文搜索效率极高。

  • 多租户:支持多个索引,可以用于不同的项目和应用程序。

角色:负责海量数据的存储、索引和快速检索。


4. Kibana:数据可视化平台

Kibana 是为 Elasticsearch 设计的开源分析和可视化平台。它提供了一个用户友好的 Web 界面,允许用户通过图表、图形、地图等方式探索和可视化存储在 Elasticsearch 中的数据。

主要功能:

  • 数据探索(Discover):直接查询和浏览 Elasticsearch 中的原始数据。

  • 可视化(Visualize):创建各种图表,如柱状图、折线图、饼图、指标图等。

  • 仪表盘(Dashboard):将多个可视化组件组合成一个综合的监控视图。

  • Canvas:创建像素级完美的、基于数据的演示文稿。

  • Machine Learning:集成机器学习功能,自动检测数据中的异常。

  • APM:应用性能监控,用于追踪应用程序的性能问题。

  • Logs:专门的日志管理界面。

角色:将 Elasticsearch 中的数据转化为有商业价值的洞察力。


1.2 典型工作流程

以一个 网站访问日志分析 为例:

  1. 采集Filebeat被安装在 Web 服务器上,监控 Nginx 的访问日志文件,并将新的日志行发送给 Logstash

  2. 处理Logstash接收到日志后,使用 grok过滤器将杂乱的日志行解析成结构化的字段(如 client_iptimestamprequest_methodstatus_code等),然后使用 geoip过滤器根据 client_ip添加地理位置信息。最后,将处理好的数据发送到 Elasticsearch

  3. 存储与索引Elasticsearch接收数据,进行索引,并将其存储在集群中。

  4. 可视化:运维人员在 Kibana中创建一个仪表盘,包含:

    • 一个地图,显示全球访问者的分布。

    • 一个折线图,显示每分钟的请求量。

    • 一个饼图,显示 HTTP 状态码的比例。

    • 一个数据表,列出访问量最高的 URL。


1.3 核心优势与应用场景

优势:

  • 开源且功能强大:社区活跃,功能丰富。

  • 易扩展:组件清晰,可以水平扩展以处理海量数据。

  • 近实时性:从数据摄入到可查询,延迟极低。

  • 一站式解决方案:覆盖了从数据采集到可视化的完整链路。

应用场景:

  • 日志管理与分析(最主要):运维监控、故障排查、安全分析。

  • 应用搜索:为网站或应用提供强大的搜索引擎。

  • 指标分析:基础设施和应用程序性能监控。

  • 安全分析(SIEM):使用 Elastic Stack 构建安全信息和事件管理系统。

  • 业务智能:分析业务数据,生成报表和洞察。

1.4 版本区别

架构变化对比

特性 7.x 8.x 9.x

默认安全

可选

强制开启

进一步增强

集群协调

新子系统

稳定优化

云原生优化

向量搜索

基础支持

kNN搜索

增强向量

配置复杂度

中等

简化

进一步简化

云集成

基础

改进

深度集成

历史版本-目录  [回到顶端]
    文艺知识分享平台 -V 5.2.5 -wcp