文章目录
- 前言
- [一、什么是ELK 框架?](#一、什么是ELK 框架?)
-
- [1. Elasticsearch --- 日志存储和搜索引擎的核心](#1. Elasticsearch — 日志存储和搜索引擎的核心)
- [2. Logstash --- 数据结算和流程处理工厂](#2. Logstash — 数据结算和流程处理工厂)
- [3. Kibana --- 数据分析和可视化平台](#3. Kibana — 数据分析和可视化平台)
- 二、ELK系统工作流程图
- 总结
前言
在服务架构日益复杂、微服务化和分布式环境盛行的今天,一个可搜索、可视化、可扩展的日志分析系统已成为项目开发、运维监控、业务运营的关键基础设施。ELK 作为业界主流日志分析方案,以其强大的功能和良好的生态,成为众多企业的首选。
本篇文章将介绍 ELK 的基本概念、核心组件的作用,以及它为何成为日志系统的首选方案。
一、什么是ELK 框架?
ELK 由三个核心组件构成,形成了一套完整的日志收集、存储、分析和可视化体系:
1. Elasticsearch --- 日志存储和搜索引擎的核心
- 基于 Lucene 构建的分布式搜索引擎
- 支持高效的全文检索、字段级查询、聚合分析
- 数据以 JSON 格式存储,查询接口友好
- 支持分片和副本机制,天然适合分布式部署和高可用架构
2. Logstash --- 数据结算和流程处理工厂
-
多数据源支持(文件、JSON、CSV、消息队列、JDBC 等)
-
灵活的 pipeline 配置 (input → filter → output)
-
支持丰富的过滤器(grok、date、geoip、mutate 等)
3. Kibana --- 数据分析和可视化平台
支持 DSL 搜索、类 SQL 搜索(KQL)
便捷地创建 dashboard 和统计图表
支持定时查询、自动刷新
二、ELK系统工作流程图
为了更方便理解ELK体系的工作流程,我们整理一个日志系统的整体流程图
- 应用服务器产生日志,通过
Filebeat
收集日志,推送到队列或直接发往Logstash
Logstash
处理、清洗、解析日志,将数据写入 Elasticsearch。Kibana
作为交互界面,供运维、研发、业务团队检索、分析和可视化日志。
总结
本篇博客简要介绍了 ELK 体系的架构、组件职责及整体工作流程。接下来的文章中,我们将基于 Golang 实战,搭建完整可用的 ELK 日志系统 demo,包括数据采集、处理、存储、可视化查询等全流程。