引言
前面的文章中我们已经搭建过了单机版本的ELK日志收集系统,可参考我的博客(一)ELK单机版日志系统搭建——docker方式_北溟的博客-CSDN博客(docker搭建ELK单机版日志系统),从该篇起我将陆续推出EKL集群版本的日志系统搭建教程,该教程我会分为几个系列文章一一介绍,力求能够最大限度的完整性记录ELK集群的搭建过程。该集群我依然会采用docker容器的方式搭建,因为原理是一样的,这里就不准备虚拟机或者实体机作为搭建环境了,资源有限。闲话少说,在本篇中我主要说明一下我的ELK集群的一个整体架构,以及需要应用到的技术,后面的章节将会使用图文的方式讲解具体的搭建过程,好了,我们开始正文。
正文
-
架构设计
经过综合分析,整理了网上的一些ELK集群的架构方案设计,最终拟定的ELK架构方案如下:
该方案使用轻量级的filebeat实现日志的收集,然后转发给kafka消息队列中间键分发消息到logstash集群中,由于logstash耗费的资源比较大,所以我们不直接通过logstash收集日志,而是通过kafka分发日志到logstash中,经过过滤然后将数据写入es集群服务器中,使用分片的方式存储数据,避免数据的丢失,这里我们也会同步安装一下es-head插件,方便我们查看es集群。最后我们通过视图工具kibana实现数据的查询与一些数据的统计,以及系统监控等,当然为了不暴露kibana的真实服务地址,我们最后通过nginx反向代理的方式实现kibana服务的访问。
该ELK集群我们统一采用的软件版本号是7.11.1,所以在开始后续的篇章内容时我们可以提前下载好相关的软件镜像,以减少我们拉取软件镜像的时间。
结语
以上就是我的ELK集群架构方案,后面的集群搭建过程我们也围绕这个架构一一展开。好了,今天的博客就到这里了,敬请期待,我们下期见。