Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)

时间:2020-12-27 20:30:40

Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储以后使用

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

什么是filebeat?
Filebeat是一个轻量级的托运人,通过socket的方式,用于转发和集中日志数据。Filebeat作为代理安装在服务器上,监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

本文的filebeat作用是采集特定目录下的日志,并将其发送出去,但是它只能采集并无法对数据进行筛选,这时候就用到logstash了,logstash拥有众多插件可提供过滤筛选功能,由于logstash本身是基于jdk的,所以占用内存较大,而filebeat相较下,占用的内存就不是很多了。

所以可采用如下的方案采集筛选日志:
1、每个项目都伴随着一个filebeat采集日志,你只需给他配置日志所在目录(可用正则匹配)即可,它会进行监视,如有新增日志会自动将日志采集发送到你配置的输出里,一般配置的输出有kafka和redis、logstash、elasticsearch,这里为了筛选格式,采用logstash进行处理。

2、配置filebeat多模块,为众多项目配置日志目录路径进行日志采集并发送到logstash筛选过滤在转发给elasticsearch。

Docker 安装 ElasticSearch 
Docker 安装 Filebeat 
Docker 安装 Logstash 
Docker 安装 Kibana