ELK+FileBeat 7.14.0版本安装、部署及使用

一、下载

从官网下载最新版本:https://www.elastic.co/cn/downloads/

当前最新版本为7.14.0,下载linux-x86_64版本:

elasticsearch-7.14.0-linux-x86_64.tar.gz   

kibana-7.14.0-linux-x86_64.tar.gz

filebeat-7.14.0-linux-x86_64.tar.gz

logstash-7.14.0-linux-x86_64.tar.gz

将下载的安装包上传到服务器的指定位置

二、elasticsearch安装部署

解压es安装包到/usr/local/文件夹下

sudo tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz  /usr/local/

进入elasticsearch-7.14.0/config/文件夹,编辑elasticsearch.yml文件

需设置上图7处地方。

es不能使用root用户启动,必须用其他用户,并且给这个用户赋予操作elasticsearch-7.14.0文件夹的权限

sudo chown -R dl:123456 /usr/local/elasticsearch-7.14.0/

启动前需要先配置一些环境:

1、配置可打开的文件描述符的最大数

sudo vi /etc/security/limits.conf

添加:

* soft nofile 65536

* hard nofile 65536

并重新登录dl用户

2、配置文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量

sudo vi /etc/sysctl.conf

 

在文件末尾添加

vm.max_map_count=655360

然后执行

sudo sysctl -p

 

使用dl用启动es:

在/usr/local/elasticsearch-7.14.0/文件夹下执行

./bin/elasticsearch

浏览器打开http://192.168.2.129:9200/,如出现下图,则说明启动成功

ctrl+C即可停止es服务

当然也可以后台启动

./bin/elasticsearch &  

三、logstash安装部署

解压logstash到/usr/local/目录下

sudo tar -zxvf logstash-7.14.0-linux-x86_64.tar.gz  /usr/local/

进入logstash-7.14.0/config目录下编辑logstash-sample.conf文件,当然也可以新建一个配置文件,这里以logstash-sample.conf为例

在input->beats->port默认是5044,后面部署的filebeat的日志都会发送到这里,所以filebeat里面的配置要和这里的保持一致

输出到es里的配置增加了action, 配置了es的hosts,另外配置一个index,这里的索引不能使用大写字母

运行logstash:

在logstash-7.14.0文件夹在执行

sudo ./bin/logstash -f ./config/logstash-sample.conf

注意:

  1. 需要在logstash运行的机器上防火墙开放5044端口
  2. Logstash启动时依赖于es,因此es要先于logstash启动

四、filebeat安装部署

filebeat是一个轻量级的日志采集服务,可以将采集的日志发送到es或者logstash,这里测试时将filebeat部署在另外一台服务器上ip:192.168.2.173

解压filebeat到指定位置

sudo tar -zxvf filebeat-7.14.0-linux-x86_64.tar.gz  /usr/local/

进入filebeat-7.14.0-linux-x86_64文件夹,编辑filebeat.yml文件,这里只设置了输入格式为log的路径,同时把enable设置为true

这里的outputs设置,采用输出到logstash后再输入es的方式,因此将es output的配置注释,将logstash的配置打开并配置logstash的hosts

运行filebeat:

在filebeat-7.14.0-linux-x86_64文件夹下执行

./filebeat -e -c ./filebeat.yml

注意:

filebeat运行时要访问logstash,因此logstash要先于filebeat启动

五、kibana安装部署

将kibana安装包解压到/usr/local/目录

sudo tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz  /usr/local/

进入kibana-7.14.0-linux-x86_64/config文件夹,编辑kibana.yml文件

简单配置这4项

Kibana不能使用root用户启动,必须用其他用户,并且给这个用户赋予操作kibana-7.14.0-linux-x86_64文件夹的权限

sudo chown -R dl:123456 /usr/local/kibana-7.14.0-linux-x86_64/

启动kibana:

在kibana-7.14.0-linux-x86_64文件夹下执行

./bin/kibana

防火墙开放5601端口,网页访问http://192.168.2.129:5601/

六、ELK+Filebeat实际使用

场景:

在2.129和2.173两台机器上都部署filebeat,分别采集日志,发送到2.129机器上的logstash上,logstash可以做过滤或者分组,然后把日志数据发送给2.129机器上的es,最后由2.129机器上的kibana进行日志可视化展示。由于需要对129和137上的日志做区分,因此在filebeat的配置文件中分别设置日志的tags。

173的filebeat.yml文件

129的filebeat.yml文件

当然,可以在General里设置tags,也可以在inputs下面的每个type下设置fields,tags是对整个filebeat打标签,filelds则可对具体每个type打标签

Logstash对日志进行分组,不同的filebeat获取的日志生成不同的索引

注意:

  1. 索引的命名不能以logs开头,新版本会把logs开头的自动作为Data Streams

在logstash的配置文件中根据tags属于哪个filebeat,然后发往es的时候生成不同的index。

登录kibana,找到Management->Stack Management->Index Management可以看到,配置的两个索引elklog-129-2021.08.24和elklog-173-2021.08.24显示在indices下

 

找到Management->Stack Management->Index patterns->Create index pattern,创建索引模板,Index pattern name输入elklog-*,点击下一步选择过滤器,然后创建

找到Analytics->Discover,在左上角选择elklog-*,即可显示日志

或者在Observability->Stream页面,输入框输入_index : elklog*,回车,即可以查看日志。

点击Stream live按钮即可查看实时日志

也可以根据日志关键字搜索,message : "Hello"

七、ELK+Filebeat+Kafka集群实际使用

场景:

    在2.129、2.173和2.185三台机器上搭建Kafka集群,在2.129、2.173和2.185三台机器上都部署filebeat,分别采集日志,发送到kafka集群,由2.129机器上的logstash接收kafka消息做过滤或者分组,然后把日志数据发送给2.129机器上的es,最后由2.129机器上的kibana进行日志可视化展示。由于需要对129、137和185上的日志做区分,因此在filebeat的配置文件中分别设置日志的tags,参见第六大点。

  关于kafka集群的搭建详见我另一篇帖子https://www.cnblogs.com/bigfaceWei/p/15393971.html

  增加Kafka集群和第六点不一样的地方在于filebeat和logstash的配置

  filebeat.yml文件:

    

  注释掉Logstash Output,添加kafka的配置,意思是将采集的日志输出到kafka集群

  logstash-sample.conf文件:

    

 

   logstash的input改成kafka集群,输出做一下筛选和分组,发送到elasticsearch,最后由kibana进行可视化展示。

posted @ 2021-08-24 11:41  韋大脸  阅读(1281)  评论(0编辑  收藏  举报