ELFK日志结构

日志结构

一, 工具介绍

1.Filebeat:filebat是一个用于转发和集中日志数据的轻量级shipper。作为代理安装在服务器上,filebeat监视指定的日志文件或位置,收集日志事件,并将它们转发给ElasticSearch或logstash进行索引。
2.Logstash:Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到存储库。
3.ElasticSearch:Elasticsearch 是基于 JSON 的分布式搜索和分析引擎,专为实现水平扩展、高可靠性和管理便捷性而设计。
4.Kibana:Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供全方位配置和管理 Elastic Stack。
5.kafka: 是一个分布式消息队列。

二, 已安装服务地址

kibana http://118.31.173.26:5601/
ElasticSearch : http://118.31.173.26:9200/

三, 参考结构

1. logback 直接输出到 logstash

	结构: Service -> Logstash -> Elasticsearch
	说明: logback.xml 配置 logstash 远程地址 ,由服务发送至 logstash 
		
	优点: 使用简单.
	缺点: logstash相对filebeat需要很多内存, 远程发送失败,则需系统日志文件手动补充.

2. filebeat 直接输出 ES

	结构: logfile -> filebeat -> Elasticsearch
	说明: logback.xml 配置 输出到指定目录的日志文件中, filebeat 扫描该文件
	
	优点: 可扩展,可解耦.
	缺点: filebeat 不具备日志解析功能, 需要走 ES 管道(pipeline)定义解析规则,
		相应服务下 都得安装一个filebeat
	

3. filebeat > logstash > ES

	结构: logfile -> filebeat -> logstash  -> Elasticsearch
	说明: logback.xml 配置 输出到指定目录的日志文件中, filebeat 扫描该文件
	
	优点: logstash备日志解析功能,可扩展,可解耦.
	缺点: logstash相对filebeat需要很多内存

4. filebeat > logstash > MQ > ES

	结构: logfile -> filebeat -> logstash  -> MQ -> Elasticsearch
	说明: logback.xml 配置 输出到指定目录的日志文件中, filebeat 扫描该文件,
		  MQ 消息队列 可采用 kafka/RabbitMq/... 等消息队列
	
	优点: logstash备日志解析功能,可扩展,可解耦. 可支持大体量服务
	缺点: 体量较大,可做集群, 根据项目结构选择

其他相关资料

Bbos-ES:

https://ci.bbossgroups.com/
https://github.com/bbossgroups/bboss-elasticsearch

ES-pipeline

https://www.jianshu.com/p/770e790c9e96

Grok常用表达式

https://www.lz80.com/4784.html
posted @ 2021-12-01 14:11  栋_RevoL  阅读(139)  评论(0编辑  收藏  举报