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. 分析日志来源,考虑采样或过滤
-
ELK速查表入门到精通,这份后端学习路线请收好这是一份为您整理的 ELK (Elastic Stack) 速查表,涵盖了核心组件、生产架构、常用查询语法及性能优化等关键信息,方便您快速查阅。一、核心组件速查表格下载为表格导出为图片组件核心作用生产环境关键点Elasticsearch分布式存储与搜索引擎集群部署、合理设置分片与...