ELK速查表入门到精通,这份后端学习路线请收好
这是一份为您整理的 ELK (Elastic Stack) 速查表,涵盖了核心组件、生产架构、常用查询语法及性能优化等关键信息,方便您快速查阅。
一、核心组件速查
表格
下载为表格
导出为图片
组件核心作用生产环境关键点
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 语言的优势在于其轻量级的协程模型和编译级效率。但“能用 ...
-
手把手后端日志实战教程:手把手打造企业级项目既然涉及到底层排查,那我们就直接上服务器运维最硬核的手段。在 WordPress 开发中,后端日志主要分为 WordPress 自身的 PHP 调试日志 和 服务器环境日志 两个层面。以下是手把手的实操指南:第一步:开启 WordPress 核心调试日志这是排查插件冲突、主题代码报错最直...
-
Go部署教程入门到精通,这份后端学习路线请收好Go语言因其编译后生成单一可执行文件的特性,部署起来非常轻量且高效。根据应用场景的不同,Go项目的部署通常分为“轻量级单机部署”、“Docker容器化部署”以及“Kubernetes集群部署”三种主流方案。以下为您梳理这三种方案的实操步骤与核心要点:一、 轻量级...
-
Go架构教程对比分析:帮你做出最优技术选型GraphQL 是由 Facebook 开发并于 2015 年开源的一种用于 API 的查询语言和运行时。它提供了一种更高效、灵活和强大的方式来处理 API 请求,允许客户端精准地请求所需的数据,从而有效减少数据传输并提高效率。一、 GraphQL 与 REST 的核心区别与传统的 REST API 相比,GraphQ...
-
【推荐】Cron框架最佳实践,大厂都在用Cron 框架是一种用于定义和调度自动化任务(定时任务)的系统或工具。它的核心是基于 Cron 表达式(一种描述“任务在什么时间执行”的领域特定语言),由调度器(Scheduler)在匹配的时间点自动触发并执行相应的代码逻辑。Cron 框架广泛应用于后端开发中,典型的应用场景...
-
为什么限流详解这么重要?深度剖析底层原理限流(Rate Limiting)是分布式系统和API管理中至关重要的防御机制,其核心目的是控制客户端在特定时间内的请求数量,以保障系统稳定性、防止恶意攻击并确保资源公平分配。以下为您详细解析限流的核心算法、实现方案及最佳实践。一、 核心限流算法对比业界常用的...