ELK知识学习
Elk(Elasticsearch, Logstash, Kibana)是一套用于日志收集、存储、分析和可视化,是由Elastic公司开发的开源软件组合。
ELK 各组件分工明确、协同工作,形成 “数据流入→处理→存储→分析→可视化” 的完整链路,先逐一理解每个组件的核心定位与功能。

Elasticsearch:是一个分布式的搜索和分析引擎。它能够处理大量的数据,并提供快速、准确的搜索结果,支持复杂的数据分析和可视化。核心作用是存储结构化数据(如日志)并提供高效的搜索、聚合分析能力。
Logstash:是一个日志收集和处理工具。核心作用是从多源采集日志,进行清洗、转换后,输出到 ES、Kafka 等目标存储。它的工作流程遵循 “Input → Filter → Output” 三阶段模型。
Kibana:Kibana 是基于 Web 的可视化工具,与 ES 深度集成,核心作用是通过 “图表、仪表盘、搜索” 等方式,让用户直观地分析 ES 中的数据(如日志、指标)。
filebeat:****最常用的beat工具,采集日志文件(替代 Logstash 的 file 输入,资源占用极低,适合部署在所有应用服务器)。
基础工作流程(Filebeat + Logstash + ES + Kibana)
最经典的 “日志采集→处理→存储→可视化” 链路: 采集:Filebeat 部署在应用服务器,监控日志文件,实时采集原始日志; 传输:Filebeat 将原始日志发送到 Logstash(或通过 Kafka 解耦); 处理:Logstash 通过 Filter 插件(grok、date 等)将非结构化日志解析为结构化数据; 存储:Logstash 将处理后的结构化数据写入 ES 集群(按时间分索引,如每天一个索引); 分析与可视化:Kibana 连接 ES,通过 Discover 查询日志、创建可视化图表和监控仪表盘。
集群架构部署(生产场景)
-
ES 集群:至少 3 个节点(1 个主节点 + 2 个数据节点),主节点负责集群管理,数据节点存储分片和处理查询,确保高可用和水平扩展;
-
Logstash 集群:多台 Logstash 服务器,前端通过 Kafka 或 Load Balancer 分发数据,避免单点故障,提升处理能力;
-
Filebeat 分布式部署:每台应用服务器部署 1 个 Filebeat,采集本地日志后发送到 Kafka 或 Logstash;
-
Kibana 高可用:部署 2 个 Kibana 节点,前端通过 Nginx 做负载均衡,确保 Web 界面不中断。
大概步骤:
-
环境系统规划
-
配置系统环境(防火墙、主机、内核参数调优【网络、内存】、优化资源限制)
-
下载安装ELK(版本必须相同)
-
创建特定用户启动主节点和其他节点(yml文件)
-
启动主节点,保存用户密码,启动其他节点(服务发现)等待加入集群
-
负载均衡多节点启动logstash集群和kibana集群
-
nginx负载均衡kibana

被折叠的 条评论
为什么被折叠?



