本篇已加入《

1.2 ELK日志处理流程

   上图展示了在Docker环境下,一个典型的ELK方案下的日志收集处理流程:

  由于Logstash在数据收集上并不出色,而且作为Agent,其性能并不达标。基于此,Elastic发布了beats系列轻量级采集组件。

  这里我们要实践的Beat组件是Filebeat,Filebeat是构建于beats之上的,应用于日志收集场景的实现,用来替代 Logstash Forwarder 的下一代 Logstash 收集器,是为了更快速稳定轻量低耗地进行收集工作,它可以很方便地与 Logstash 还有直接与 Elasticsearch 进行对接。

  本次实验直接使用Filebeat作为Agent,它会收集我们在第一篇《

二、ELK套件的安装

  本次实验我们采用Docker方式部署一个最小规模的ELK运行环境,当然,实际环境中我们或许需要考虑高可用和负载均衡。

  首先拉取一下sebp/elk这个集成镜像,这里选择的tag版本是640(最新版本已经是7XX了):

  注:由于其包含了整个ELK方案,所以需要耐心等待一会。

  通过以下命令使用sebp/elk这个集成镜像启动运行ELK:

复制代码
docker run -it -d --name elk \     -p 5601:5601 \     -p 9200:9200 \     -p 5044:5044 \     sebp/elk:640
复制代码

  运行完成之后就可以先访问一下 http://[Your-HostIP]:5601 看看Kibana的效果:  

  Kibana管理界面

Kibana Index Patterns界面

  当然,目前没有任何可以显示的ES的索引和数据,再访问一下http://[Your-HostIP]:9200 看看ElasticSearch的API接口是否可用:

ElasticSearch API

  Note:如果启动过程中发现一些错误,导致ELK容器无法启动,可以参考《Docker启动ElasticSearch报错》及《ElasticSearch启动常见错误》一文。如果你的主机内存低于4G,建议增加配置设置ES内存使用大小,以免启动不了。例如下面增加的配置,限制ES内存使用最大为1G:

复制代码
docker run -it -d --name elk \     -p 5601:5601 \     -p 9200: