Skip to content

ELK Stack

ELK Stack 是 Elasticsearch + Logstash + Kibana 三件套的日志聚合与全文检索事实标准(后来加 Beats 成为「ELK+Beats」或称 EFK/Elastic Stack)。它用 Beats(轻量 agent)从各机器采集日志/指标,经 Logstash(或直接)解析、转换、过滤,存进 Elasticsearch(分布式全文检索引擎,倒排索引),用 Kibana 做可视化与检索。相比 Loki(只索引 label 不索引内容),ELK 的优势是全文检索能力强大——倒排索引让任意关键词、复杂聚合、模糊匹配都能秒级返回,适合「日志即数据」的深度检索场景(审计、安全分析、业务埋点)。代价是存储与索引成本高(每个 token 都建倒排),大规模日志下 ES 集群成本远高于 Loki。

ELK Stack 的全部考点围绕日志采集流水线展开:①三大组件职责(Beats 采集 → Logstash 解析转换 → Elasticsearch 存储检索 → Kibana 可视化);②Beats 家族(Filebeat 采日志文件、Metricbeat 采指标、Heartbeat 探活、Packetbeat 采网络、Auditbeat 采审计);③Logstash(input/filter/output 管道,grok 正则解析、mutate 改字段、多输出);④Elasticsearch 核心(倒排索引、分片副本、集群、mapping、聚合);⑤Kibana(Discover 检索、Dashboard 大盘、Visualize 可视化、Alerting);⑥与 Grafana LGTM 对比(ELK 全文检索强但贵,Loki 省存储但弱检索)。本叶是可观测性日志层的总览与地基,讲清它的流水线架构、Beats 家族、ES 全文检索原理、与 Loki 的取舍——后续 Sentry/Jaeger 从错误与追踪维度补齐。

评价

优点

  • 全文检索强大:ES 倒排索引让任意关键词、模糊匹配、复杂聚合秒级返回,是 Loki(只索引 label)做不到的
  • 生态成熟:Beats 采集 + Logstash 解析 + ES 存储 + Kibana 可视化,完整流水线开箱即用
  • 分布式可扩展:ES 分片(shard)+ 副本(replica)水平扩展,PB 级数据可承载
  • Kibana 检索体验好:Discover 的 Lucene/KQL 查询、字段过滤、时间轴下钻,是日志检索的标准体验
  • 多用途:除了日志,还做全文搜索(站内搜索)、指标(Metricbeat)、安全(SIEM)、APM

缺点

  • 存储与索引成本高:每个 token 建倒排索引,存储膨胀(1GB 日志可能要 2-3GB 索引),大规模日志下成本远高于 Loki
  • 运维复杂:ES 集群(JVM 调优、分片均衡、脑裂、版本升级)+ Logstash(资源消耗)+ Kibana 三组件运维重
  • 资源消耗大:ES 是 JVM 应用,吃内存(建议堆内存 32GB 上限),Logstash 解析时 CPU/内存占用高
  • 不适合纯指标监控:ES 做时序指标不如 Prometheus 专精(无 PromQL、聚合成本高),指标监控应选 Prometheus
  • 写入吞吐有限:ES 的写入要建索引,吞吐不如专门的时序库(Loki/ClickHouse)

本叶地图

  • 入门 —— ELK 是什么、三大组件职责、Beats 家族、日志采集流水线、ES 倒排索引、Kibana 检索、与 Loki 对比
  • 日志流水线 —— Filebeat 采集 + Logstash input/filter/output 管道(grok/mutate)+ ES 存储 + Kibana Discover
  • 与 Grafana LGTM 对比 —— ELK vs Loki(全文检索 vs 省存储)、ELK vs Prometheus(日志 vs 指标)、选型决策
  • 参考 —— Beats 家族速查、Logstash 过滤器插件、ES 聚合、Kibana 查询语法、易错点

幻灯片地址

ELK Stack

测试题

ELK Stack 测试题