zoukankan      html  css  js  c++  java
  • 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进行可视化展示。

  • 相关阅读:
    javascript无提示关闭窗口,兼容IE,Firefox
    vbs简单制作U灵大盗带发送功能的代码
    正则表达式提取网址、标题、图片等一例(.Net Asp Javascript/Js)的实现
    在asp.net中保持Session的有效期
    批处理编程 介绍
    IIS日志清理CMD版,VBS版,JS版,WSH版
    正则表达式提取图片地址
    用U盘安装GNU/Linux
    三核浏览器Lunascape新版发布
    黑客基础之DOS(最齐全)
  • 原文地址:https://www.cnblogs.com/bigfaceWei/p/15179643.html
Copyright © 2011-2022 走看看