日志作为系统的重要的调试分析文件,是我们开发调试,运维监控,找错等。所以,必须需要建立一个日志分析平台,用于监控分析各个系统的日志。而业内最有知名的日志分析平台,则是ELK系统。是一整套完整的日志分析体系,官方地址为:https://www.elastic.co/cn/products
ELK,是Elasticsearch+Logstash+Kibana三个软件的简称,久而久之则称之为ELK,但是现在随着版本更迭,要完善整个日志分析系统,不单只需要这三个软件,而是多个软件的配合协助,构成一个完整的系统。
系统架构图如下:
ELK从5.0版本开始,统一版本信息,一套系统对应的版本号一致,以前的旧版本就很乱,各种兼容问题也比较麻烦,现在就简单多了,具体环境如下:
filebeat-5.64: 5.6.4版本,替代以前旧版本的logstash-agent,用于安装在各个主机,收集各个主机上的日志,实时采集内容发到redis队列。现在版本将这个采集器统一合并为beat,其中包含多个不用的软件,类似filebeat是采集日志文件,packetbeat是监控主机流量。。。等等,可以根据需求,安装不同的插件。
redis-4.0.1: 这里用redis做队列, 用做暂缓filebeat传过来的数据,避免因瞬间的传输量的飙升导致logstash的崩溃,类似于一个管道,让logstash能够定量的处理数据,不会受峰值流量的影响。
logstash-5.6.4: logstash是日志采集何过滤的软件,虽然也具备filebeat一样的日志采集功能,但logstash需要运行在java虚拟机上,更重量级,消耗资源。所以不推荐用开做数据采集,只用来做数据过滤,比如将采集的日志,通过各种插件,进行分类,分端,转换成json类的易于分析分类的信息,将其存储在elasticsearch中。
elasticsearch-5.6.4:是一个基于json的数据存储分析软件,可以分布式的拓展部署,存储的数据,用于kibana调用,实现日志的分析,展示。
kibana-5.6.4:日志分析平台的可视化界面,可以在这个界面上对系统进行管理,数据分析,监控等。配合x-pack中的其他插件,可以实现各种拓展功能。
x-pack: x-pack是一个拓展功能集合的