ELK速查表入门到精通,这份后端学习路线请收好

2026-08-05 来源: 点击量

这是一份为您整理的 ELK (Elastic Stack) 速查表,涵盖了核心组件、生产架构、常用查询语法及性能优化等关键信息,方便您快速查阅。

ELK速查表入门到精通,这份后端学习路线请收好


一、核心组件速查

表格

下载为表格

导出为图片

组件核心作用生产环境关键点

Elasticsearch分布式存储与搜索引擎集群部署、合理设置分片与副本、JVM内存优化

Logstash日志处理与清洗管道仅做数据处理,不直接采集日志,避免资源浪费

Kibana可视化与查询界面配置权限控制、创建监控面板、设置告警规则

Filebeat轻量级日志采集器部署在应用服务器,资源占用极低,是生产环境首选

二、生产架构速查

标准数据流:Java应用 → Filebeat (采集) → Logstash (清洗) → Elasticsearch (存储) → Kibana (展示)

小型/测试环境:单节点部署所有组件,架构为 Java服务 → Filebeat → ES → Kibana。

生产高可用架构:

Filebeat: 每台应用服务器以 Sidecar 模式部署。

Logstash: 部署 2-3 个节点,组成集群处理日志。

Elasticsearch: 至少 3 个节点,分离主节点与数据节点。

Kibana: 部署 2 个节点,前置负载均衡器。

 三、KQL 查询语法速查

KQL (Kibana Query Language) 是 Kibana Discover 页面的默认查询语言,语法简洁高效。

表格

下载为表格

导出为图片

查询需求KQL 语法示例说明

精确匹配status: 200查询字段 status 值为 200 的文档

模糊搜索message: "error timeout"在 message 字段中搜索包含 "error timeout" 的文档

多条件 ANDstatus: 500 and service: "order"同时满足两个条件

多条件 ORstatus: 404 or status: 502满足任一条件

排除条件 NOTnot status: 200排除 status 为 200 的文档

通配符user.name: admin*匹配 user.name 以 "admin" 开头的文档

嵌套字段user.name.keyword: "john_doe"对 keyword 类型字段进行精确匹配

 四、性能优化速查

字段类型选择

text: 用于全文检索,会被分词。适用于日志内容 (message)。

keyword: 用于精确匹配、聚合和排序,不分词。适用于状态码、IP、用户名、TraceID 等。

索引生命周期管理 (ILM)

为日志索引配置 ILM 策略,自动执行 滚动 (Rollover)、收缩 (Shrink)、删除 (Delete) 操作,避免磁盘爆满。

写入优化

使用 Bulk API 批量写入,避免单条写入。

在 Logstash 中合理配置 pipeline.workers 和 pipeline.batch.size,根据 CPU 和内存调整。

查询优化

查询时指定 时间范围,避免全索引扫描。

优先使用 keyword 字段进行过滤和聚合,避免对 text 字段进行聚合。

避免使用高开销的查询,如 wildcard 或 regexp,除非必要。

五、常见问题排查速查

表格

下载为表格

导出为图片

问题现象可能原因排查方向

日志丢失1. Filebeat 采集端问题

2. Logstash 处理瓶颈

3. ES 写入拒绝1. 检查 Filebeat 日志和注册文件

2. 检查 Logstash 队列是否堆积

3. 检查 ES 集群状态和磁盘水位

查询很慢1. 查询范围过大

2. 对 text 字段聚合

3. 分片过多/过少1. 缩小时间范围

2. 改用 keyword 字段

3. 检查分片策略,考虑 Reindex

CPU/内存高1. 查询过于复杂

2. 写入压力过大

3. JVM 配置不合理1. 优化查询语句

2. 检查并调整 Logstash 批处理参数

3. 确保 ES JVM 堆内存不超过物理内存 50%

磁盘爆满1. 未配置 ILM

2. 日志量突增1. 立即配置或删除旧索引

2. 分析日志来源,考虑采样或过滤

相关文章
  • Go架构方案详解:大厂面试必问的核心知识点
    Go架构方案详解:大厂面试必问的核心知识点

    既然你已经具备了扎实的网站开发与运维底层能力,那我们就跳过基础的语法科普,直接从架构设计、工程化规范和高并发实战的角度,为你梳理一套生产级的 Go 架构方案。在云原生和高并发场景下,Go 语言的优势在于其轻量级的协程模型和编译级效率。但“能用 ...

  • 手把手后端日志实战教程:手把手打造企业级项目
    手把手后端日志实战教程:手把手打造企业级项目

    既然涉及到底层排查,那我们就直接上服务器运维最硬核的手段。在 WordPress 开发中,后端日志主要分为 WordPress 自身的 PHP 调试日志 和 服务器环境日志 两个层面。以下是手把手的实操指南:第一步:开启 WordPress 核心调试日志这是排查插件冲突、主题代码报错最直...

  • Go部署教程入门到精通,这份后端学习路线请收好
    Go部署教程入门到精通,这份后端学习路线请收好

    Go语言因其编译后生成单一可执行文件的特性,部署起来非常轻量且高效。根据应用场景的不同,Go项目的部署通常分为“轻量级单机部署”、“Docker容器化部署”以及“Kubernetes集群部署”三种主流方案。以下为您梳理这三种方案的实操步骤与核心要点:一、 轻量级...

  • Go架构教程对比分析:帮你做出最优技术选型
    Go架构教程对比分析:帮你做出最优技术选型

    GraphQL 是由 Facebook 开发并于 2015 年开源的一种用于 API 的查询语言和运行时。它提供了一种更高效、灵活和强大的方式来处理 API 请求,允许客户端精准地请求所需的数据,从而有效减少数据传输并提高效率。一、 GraphQL 与 REST 的核心区别与传统的 REST API 相比,GraphQ...

  • 【推荐】Cron框架最佳实践,大厂都在用
    【推荐】Cron框架最佳实践,大厂都在用

    Cron 框架是一种用于定义和调度自动化任务(定时任务)的系统或工具。它的核心是基于 Cron 表达式(一种描述“任务在什么时间执行”的领域特定语言),由调度器(Scheduler)在匹配的时间点自动触发并执行相应的代码逻辑。Cron 框架广泛应用于后端开发中,典型的应用场景...

  • 为什么限流详解这么重要?深度剖析底层原理
    为什么限流详解这么重要?深度剖析底层原理

    限流(Rate Limiting)是分布式系统和API管理中至关重要的防御机制,其核心目的是控制客户端在特定时间内的请求数量,以保障系统稳定性、防止恶意攻击并确保资源公平分配。以下为您详细解析限流的核心算法、实现方案及最佳实践。一、 核心限流算法对比业界常用的...