LK 是三款开源组件的组合:Elasticsearch + Logstash + Kibana,现在官方改称 Elastic Stack。 主要用于日志收集、存储、检索、可视化,也可做简单指标检索,信贷、后端研发、运维排查日志非常常用。
分布式搜索引擎,底层基于 Lucene。
数据管道,负责数据采集、过滤转换。
缺点:Logstash JVM开销大;生产环境经常用 Filebeat 替代它做采集。
可视化 Web UI。
轻量级采集代理,部署在业务机器上,替代Logstash做日志采集
生产标准链路: 业务服务输出日志文件 → Filebeat采集 → Kafka消息队列 → Logstash做清洗转换 → Elasticsearch存储 → Kibana查看
为什么加Kafka:削峰。日志流量突增时保护ES,避免ES被打崩。
❗不适合:海量离线数仓(这个是Hive的领域);不适合高吞吐在线事务业务。
项目 | ELK(Elasticsearch) | Hive |
|---|---|---|
定位 | 实时检索、日志查询 | 离线数仓,海量ETL统计 |
数据延迟 | 秒级 | 分钟‑小时级T+1 |
擅长 | 关键词检索、traceId链路查询 | 大表Join、复杂聚合、风控样本加工 |
存储 | ES索引 | HDFS/对象存储 |
典型用途 | 查报错、排查线上问题 | 日终报表、特征加工 |
信贷服务打印大量日志:放款请求、账务日志、报错堆栈。Filebeat收集日志进ES;开发在Kibana输入traceId,快速定位某一笔放款请求完整链路日志,排查线上故障。
ELK = Elasticsearch(存储检索) + Logstash(清洗管道) + Kibana(可视化);现在生产一般搭配Filebeat做轻量采集;主要用于日志收集检索排查问题,不是离线数仓,不能替代Hive。