在项目中用到了ELK进行日志收集。本文简单梳理一下ELK部署流程,因为资源限制和技术水平有限,参考了很多其它博客(也用了其中一些图),仅供参考。
一、系统总体架构
- 构件说明
Filebeat:轻量级数据收集引擎,可以高效地从服务器收集数据并将数据推送到指定的输出上。支持多种输入数据源和输出方式。
Kafka:数据缓冲队列。有效地防止系统因为负荷过大而崩溃。
Logstash:数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。
Elasticsearch :分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。
Kibana :可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。
- 系统运行流程
Filebeat将会在每一个需要进行日志收集的服务上部署,我们将设置输入源为日志文件,同时作为生产者将内容输出到kafka中,logstash作为消费者从kafka中取出日志数据并进行处理后输出到elasticsearch以供检索,kibana以可视化的方式允许我们向elasticsearch发出查询请求,elasticsearch根据请求搜索出数据返回给kibana展示给我们。
二、系统搭建说明
1.资源说明
Filebeat: 6.2.4,Kafka: 2.11-1,Logstash: 6.2.4,Elasticsearch: 6.2.4,Kibana: 6.2.4
预装CentOS7的服务器3台假定命名为os1,os2,os3,预装CentOS7且部署了系统微服务的服务器若干。
注意:以下组件运行几乎都需要