MAC搭建ELK日志搜索系统,单机多节点,filebeat + elasticsearch + logstash + kibana 20190725

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u012888052/article/details/97245168

一、搭建单机单节点

二、单机多节点大致架构

  • 单机 = 在一台机器上搭建
  • 多节点 = 多个不同的服务

此教程,是基于2个filebeat、2个logstash、2个es、1个kibana搭建,实际可无限扩展的。
PS:下图是网上找的,意思和教程一样,数量差的多了点,再画图太费事了,还望理解下。

在这里插入图片描述

二、搭建单机多节点

如果软件已经启动了,请全部关掉,避免产生多余的报错,影响搭建。

1、文件变动

  • 当上一步(单机单节点)搭建完成后,拷贝elk文件夹,并将拷贝的文件夹命名为elk2,原始文件夹命名为elk1,方便后续区分,如图
    在这里插入图片描述
  • 进入elk1文件夹,将logs文件夹下的日志文件重命名为“order.log”,里面内容清除,后续手动再添加新的日志
  • 进入elk2文件夹,将logs文件夹下的日志文件重命名为“request1”,并拷贝一份,命名为“request2”,里面内容清除,后续手动再添加新的日志
  • 删除elk2文件夹中的kibana文件夹,elk1文件夹的kibana不变,因为可视化工具留一个就够用了,改后如图:
    在这里插入图片描述

2、配置变动

filebeat配置文件:

  • 进入elk1文件夹的filebeat文件夹,编辑filebeat.yml文件,修改读取日志文件的路径,并增加参数tags(用于后面区分日志是哪个路径读取的,并设置相关的索引),如图:
    在这里插入图片描述

  • 修改完数据的入口,接下来我们修改数据的出口,logstash的输出路径改为下图,(后面会将本机第二个logstash的端口修改为“5045”):
    在这里插入图片描述

      记得保存刚刚修改的文件!
    
  • 接下来进入elk2文件夹的filebeat文件夹,编辑filebeat.yml文件,修改读取日志文件的路径(这里配置的是两个日志文件),并分别增加参数tags

  • 两个不同的tags可用于后续的索引创建,区分来源。当然,如果两个文件记录的是同一份属性的日志,可以设置为同样的tags,看公司具体业务
    在这里插入图片描述

  • 接下来,同样修改数据的出口,和elk1文件夹中的配置是一样的,如图:
    在这里插入图片描述

      记得保存刚刚修改的文件! 	
    

logstash配置文件:

  • 进入elk1文件夹的logstash文件夹,编辑logstash-sample.conf文件,beat输入的地方不需要修改,输出到es的地方,根据之前设置的tags进行区分,分别建立索引,如图:
    在这里插入图片描述
  • 进入elk2文件夹的logstash文件夹,编辑logstash-sample.conf文件,beat输入的地方将端口改为“5045”,避免启动时,端口冲突。这里也对应了之前设置filebeat配置文件的数据输出端口
    在这里插入图片描述

elasticsearch配置文件:

	注意,这里配置比较麻烦,博主在搭建过程中,花费的时间最多,里面隐藏了一些注意点(隐藏的坑),很容易出问题
  • 进入elk1文件夹的elasticsearch文件夹,编辑config文件夹下的elasticsearch.yml
  • cluster.name 设置集群名称,两个es配置的集群名称必须一致
  • node.name 设置节点名称,两个es配置的节点名称必须不一致
  • node.master 是否存储数据,根据实际需求来设置
  • node.max_local_storage_nodes 单机最大节点数,根据需求来设置
    在这里插入图片描述
  • http.port 对外端口,这里是默认的9200
  • transport.tcp.port 集群内通讯接口,这里设置的是默认的9300
  • discovery.zen.ping.unicast.hosts 集群中基于主机 TCP 端口的其他 Elasticsearch,端口为内部通讯的端口
    在这里插入图片描述
  • 接下来配置另外一个es服务,进入elk2文件夹的elasticsearch文件夹,编辑config文件夹下的elasticsearch.yml
  • 对外端口修改为9201,对内端口修改为9301,其他同上。端口不修改的话,是启动不起来的,因为同一台机器会报端口冲突
    在这里插入图片描述
  • 修改完es的配置文件,还有一个隐藏的注意点,需要将elk2中nodes文件夹删除掉,因为里面有之前记录的数据,不删除启动的话,会和elk1中的数据文件冲突,造成第二个节点注册不上。
    在这里插入图片描述

3、依次启动

4、验证是否成功

  • 为了验证是否成功,我们需要将日志文件修改,触发日志监听这个事
  • 分别打开order.log、request1.log、request2.log,手动写入对应的日志
    在这里插入图片描述
  • 当写入日志后,可以看到filebeat的日志已经监听到文件变动,并进行处理了
    在这里插入图片描述
  • 正常的话,es中会创建order的索引。同理,更改request1.log、request2.log的日志,会分别创建对应的索引,改动的数据也会存到es中
    在这里插入图片描述
  • 接下来配置kibana,对应三个新的索引,步骤参考单机kibana配置方式
  • 单机单节点搭建传送门:https://blog.csdn.net/u012888052/article/details/96856283
  • 配置好之后,打开kibana,选择对应的索引字段,可以看到刚刚同步的数据
    在这里插入图片描述

好了,elk简单的搭建案例就到这里,如果中途遇到报错,还请自行百度解决。如果教程中有漏掉、错误的点,还请联系作者指出,博主非专业运维,纯属兴趣爱好
喜欢还请点个赞,转载还请注明出处,谢谢了
QQ:820155406

猜你喜欢

转载自blog.csdn.net/u012888052/article/details/97245168