ELK(Elasticsearch + Logstash + Kibana,Elastic Stack)
2026-8-24 diaba
LK 是三款开源组件的组合:Elasticsearch + Logstash + Kibana,现在官方改称 Elastic Stack。 主要用于日志收集、存储、检索、可视化,也可做简单指标检索,信贷、后端研发、运维排查日志非常常用。
各组件职责
1. Elasticsearch(ES)
分布式搜索引擎,底层基于 Lucene。
- 核心:存储数据,提供全文检索、条件查询、聚合统计能力
- 数据以文档(JSON)存储,擅长模糊检索、按关键词快速查日志
- 不是关系数据库,不适合承担核心业务交易库;适合日志、链路、审计日志。
2. Logstash
数据管道,负责数据采集、过滤转换。
- 输入源:文件日志、TCP、Kafka、数据库等
- transform:过滤、字段提取、脱敏、时间格式化、丢弃脏数据
- 输出:写入 Elasticsearch,也可以输出到文件、Kafka
缺点:Logstash JVM开销大;生产环境经常用 Filebeat 替代它做采集。
3. Kibana
可视化 Web UI。
- 查询ES的数据,做检索、画图、仪表盘、告警
- 开发运维用来查系统错误日志、接口报错、监控大盘。
Filebeat(生产必提,属于Elastic Stack)
轻量级采集代理,部署在业务机器上,替代Logstash做日志采集
- 轻量,占用资源很小,逐行读取应用日志文件
- 发给 Kafka / Logstash / Elasticsearch
生产标准链路: 业务服务输出日志文件 → Filebeat采集 → Kafka消息队列 → Logstash做清洗转换 → Elasticsearch存储 → Kibana查看
为什么加Kafka:削峰。日志流量突增时保护ES,避免ES被打崩。
典型使用场景
- 应用日志排查:信贷服务、API报错、异常堆栈,按traceId检索整条调用链路日志
- 系统审计日志、ASR日志、请求payload日志存储检索
- 简单指标聚合,做监控仪表盘
- 安全:收集访问日志,识别异常访问
❗不适合:海量离线数仓(这个是Hive的领域);不适合高吞吐在线事务业务。
ELK vs Hive 简单对比
| 项目 | ELK(Elasticsearch) | Hive |
|---|---|---|
| 定位 | 实时检索、日志查询 | 离线数仓,海量ETL统计 |
| 数据延迟 | 秒级 | 分钟‑小时级T+1 |
| 擅长 | 关键词检索、traceId链路查询 | 大表Join、复杂聚合、风控样本加工 |
| 存储 | ES索引 | HDFS/对象存储 |
| 典型用途 | 查报错、排查线上问题 | 日终报表、特征加工 |
生产常见坑
- ES 内存、磁盘压力大;日志量巨大容易集群爆;需要做索引生命周期管理,旧日志自动删除/归档。
- 不要把ES当做MySQL使用,不适合高频更新事务数据。
- 直接用Logstash采集日志性能差,线上务必搭配Filebeat。
- 索引分片副本规划不合理,查询慢或者资源浪费。
信贷研发场景举例
信贷服务打印大量日志:放款请求、账务日志、报错堆栈。Filebeat收集日志进ES;开发在Kibana输入traceId,快速定位某一笔放款请求完整链路日志,排查线上故障。
一句话速记
ELK = Elasticsearch(存储检索) + Logstash(清洗管道) + Kibana(可视化);现在生产一般搭配Filebeat做轻量采集;主要用于日志收集检索排查问题,不是离线数仓,不能替代Hive。
标签: 监控
日历
个人资料
diaba 寻求合作请留言或联系mail: services@jiucaiyuan.net
链接
最新文章
存档
- 2026年8月(5)
- 2025年4月(17)
- 2025年3月(25)
- 2025年2月(20)
- 2025年1月(2)
- 2024年10月(1)
- 2024年8月(2)
- 2024年6月(4)
- 2024年5月(1)
- 2023年7月(1)
- 2022年10月(1)
- 2022年8月(1)
- 2022年6月(11)
- 2022年5月(6)
- 2022年4月(33)
- 2022年3月(26)
- 2021年3月(1)
- 2020年9月(2)
- 2018年8月(1)
- 2018年3月(1)
- 2017年3月(3)
- 2017年2月(6)
- 2016年12月(3)
- 2016年11月(2)
- 2016年10月(1)
- 2016年9月(3)
- 2016年8月(4)
- 2016年7月(3)
- 2016年6月(4)
- 2016年5月(7)
- 2016年4月(9)
- 2016年3月(4)
- 2016年2月(5)
- 2016年1月(17)
- 2015年12月(15)
- 2015年11月(11)
- 2015年10月(6)
- 2015年9月(11)
- 2015年8月(8)
分类
热门文章
- SpringMVC:Null ModelAndView returned to DispatcherServlet with name 'applicationContext': assuming HandlerAdapter completed request handling
- Mac-删除卸载GlobalProtect
- java.lang.SecurityException: JCE cannot authenticate the provider BC
- MyBatis-Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}
- Idea之支持lombok编译
标签
最新评论
- logisqykyk
Javassist分析、编辑和创建jav... - xxedgtb
Redis—常见参数配置 - 韭菜园 ... - wdgpjxydo
SpringMVC:Null Model... - rllzzwocp
Mysql存储引擎MyISAM和Inno... - dpkgmbfjh
SpringMVC:Null Model... - tzklbzpj
SpringMVC:Null Model... - bqwrhszmo
MyBatis-Improper inl... - 乐谱吧
good非常好 - diaba
@diaba:应该说是“时间的度量依据”... - diaba
如果速度增加接近光速、等于光速、甚至大于...
最新微语
- 用AI重构自己的工作方式。
2026-08-08 20:26
- 在每件事情上花费的东西,就是生命的一部分,而我们花费的这些东西要求立即得到回报,或者在一个长时间以后得到回报。
2025-01-23 15:46
- 诺曼·文森特说:“并不是你认为自己是什么样的人,你就是什么样的人。但是你的思想是什么样,你就是什么样的人。”
2025-01-23 15:44
- 从今天起,做一个幸福的人。喂马,砍柴,(思想)周游世界
2022-03-21 23:31
- 2022.03.02 23:37:59
2022-03-02 23:38

发表评论: