一. 前言
日志对于一个程序的重要程度不用过多的言语修饰,本篇将以实战的方式讲述开源微服务全栈项目 有来商城 是如何整合当下主流日志解决方案 ELK
+Filebeat
。 话不多说,先看实现的效果图,绝不搞些浪费大家时间且没意义的东西。
二. Elastic Stask 技术栈
1. 为什么引入 Filebeat ?
ELK
作为分布式日志解决方案让人为之津津乐道,即使没有实践过也能耳熟,可见其火热程度。 Beats
作为数据采集器后来加入进来 Elastic 家族,ELK
正式更名为 Elastic Stack
。 在属于 ELK
的那个时代,数据采集是由 Logstash
完成,还有比 Filebeat
更为强大的过滤处理能力,这样便不禁让人心生疑问,为什么还要引入 Filebeat
呢?是多此一举吗?先看下官方给 Beats
的解释:
轻量型,从源头采集,简单明了。
Beats 能够采集符合 Elastic Common Schema (ECS) 要求的数据,如果您希望拥有更加强大的处理能力,Beats 能够将数据转发至 Logstash 进行转换和解析。
其中重点的关键字从源头收集,更加轻量。
Logstash
拥有比 Filebeat
更为丰富的功能,但能力越大,背负的越多,意味着 Logstash
作为采集工具会比 Filebeat
占用更多的系统资源。其中有个依据Logstash
默认的堆内存大小是 1G,Filebeat
占用内存仅仅大概是 10M 左右。
2. ELK +Filebeat 日志解决方案流程
Filebeat
会定时监听事先指定的日志文件,如果日志文件有变化,会将数据推送至 Logstash
,经过 Logstash
过滤筛选处理将我们想要的日志数据存入ElasticSearch
,最终通过 Kibana
将数据呈现出来。
三. 环境准备
实战环境这里我使用 有来商城 线上云服务器做的,因服务器资源有限所以做了堆内存保守的设置,大家可以用虚拟机测试。
|
---|