开源日志监控采集平台ELKF部署

一、ELKF介绍

 
 
 

1.kibana简介

       Kibana是一个使用 Apache 开源协议, 基于浏览器的 Elasticsearch 分析和搜索仪表板。 Kibana 非常容易安装和使 用。 整个 项目都是用 HTML 和 Javascript 写的, 所以 Kibana 不需要任何服务器端组件, 一个纯文本发布服务器就够了。 Kibana 和 Elasticsearch 一样, 力争成为极易上手, 但同样灵活而强大的软件。
 
 
 

2.elasicsearch简介

 
        Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动。
 
 
 
  在这里插入图片描述
 
 
 
 

3.logstash简介

 
       Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。
 
 
 
 
在这里插入图片描述
 
 
 
 

4.filebeat简介

 
         Filebeat是一个轻量级日志传输Agent,可以将指定日志转发到Logstash、Elasticsearch、Kafka、Redis等中。Filebeat占用资源少,而且安装配置也比较简单,支持目前各类主流OS及Docker平台,图示如下:

在这里插入图片描述

 
 
 
 

5.部署前注意事项


 1. filebest就是agent,它把采集的数据交给logstash,因此只需在需要收集日志的机器上安装filebeat即可。
 2. es的部署尽量独立安装,根据业务量及服务器配置调节es的jvm内存参数。
 3. kibana和logstash在一台机器部署即可,如果机器配置不太好建议分开装。
 4. ELKF机器最小配置建议4c,8G。服务版本需要一样。
 5. ELKF先后部署顺序尽量,1.logstash,2.es,3.kibana,4,filebeat。
 6. ELKF部署依赖jdk,且ELKF各组件版本如果大于等于7.0.0,jdk版本要在1.8.0_191或者以上版本才兼容。

 

二、部署logstash

      环境是Centos7,需要下载logstash安装包并上传服务器
      Logstash官方下载地址
      本专栏是基于官网最新版本进行搭建的,Logstash版本是7.1.1,如图所示:

 在这里插入图片描述
1.将logstash包上传到服务器
2.解压:

tar -zxvf logstash-7.1.1.tar.gz

3.重定向到指定目录:

mv ./logstash-7.1.1 /opt/logstash

4.修改配置文件vim /opt/logstash/config/logstash-sample.conf修改以下内容:
在这里插入图片描述
   字段解释:
             beats.port #是logstash配置接收filebeat的数据端口
            Output.elasticsearch #是配置在es中生成的索引名的规则
             Host #是指定es的地址和端口
             Index #是索引名称
            Output#一般指定多个,一个output对应一个索引
 
 
5.配置完成后启动logstash:

cd  /opt/logstash
nohup ./bin/logstash -f ./config/logstash-sample.conf &

6.验证是否启动成功:

 ps -aux|grep logstash

在这里插入图片描述

注意:一定使用nohup启动ELKF所有插件。不然可能即使监听,集群依然报错,无法访问。

三、部署elasicsearch

          需要搭建好前文中的Logstash,然后去官网下载ElasticSearch安装包
          ElasticSearch6.7.2官方下载地址
          版本和logstash一样即可

 
 
1.上传es安装包到服务器
2.解压:

tar -zxvf elasticsearch-7.1.1.tar.gz

3.重定向到指定目录:

mv ./elasticsearch-7.1.1  /opt/elasticsearch

4.修改配置文件vim /opt/elasticsearch/config/elasticsearch.yml修改以下内容:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
    字段解释:
          cluster.name: #指定es集群名称
          cluster.initial_master_nodes: #指定es集群节点,我们目前只有一台
          network.host: #es监听地址
          http.port: #es监听端口
          其他的参数不太清楚,按着配置即可。欢迎大佬解读。。。
          这里如果配置集群,不同ElasticSearch节点的node.namehttp.port唯一就好。
 
5. 修改/opt/elasticSearch/config/jvm.options调整es分配最大内存限制为2G:
    修改参数值:

  -Xms2g
  -Xmx2g

注意: 根据实际情况和服务器配置,修改这两个参数,这里我们限制最大内存为2G。

6.我们需要创建一个elk用户和组,因为ElasticSearch不能以root身份运行,否则将会报错,执行以下命令:

groupadd elk  ##创建组
useradd -g elk elk  ##创建用户,并把用户加入elk组

7.然后修改我们elasticsearch文件夹所属用户和组为elk

 chown -R elk:elk /opt/elasticsearch

8.修改服务器sysctllimit进程数限制,否则会报错:
修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效
在这里插入图片描述
                 修改为如上配置,然后exit,然后重新登录终端即可生效,命令查看:
在这里插入图片描述

                 修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144
                 执行命令sysctl -p生效
在这里插入图片描述
9.配置完成以上参数后,切换elk用户启动es:

su elk  #切换elk用户
cd /opt/elasticsearch/  #cd到es目录下
nohup /opt/elasticsearch/bin/elasticsearch -v &  #启动es,将详细信息输出至nohup.out

10.验证是否成功:ps出现以下信息并且netstat监听了9200和9300端口说明完成了。

ps -aux|grep elasticsearch

在这里插入图片描述
 
 
 
 

四、部署kibana

         需要搭建好前文中的Logstash、ElasticSearch,然后去官网下载Kibana安装包
         Kibana官方下载地址
         跟之前版本一致即可:7.1.1
 
 
         1.上传kibana安装包到服务器

    1. tar -zxvf kibana-7.1.1-linux-x86_64.tar.gz ##解压
    2. mv ./kibana-7.1.1-linux-x86_64 /opt/kibana  ##重定向到指定目录

4.修改配置文件:vim /opt/kibana/config/kibana.yml修改为以下内容:
在这里插入图片描述
在这里插入图片描述
字段解释:
      server.port #指定kibana对外端口
      server.host #指定访问的网段
      elasicsearch.hosts #指定es地址

5. /opt/kibana ##Cd到kibana目录
6.kibana:nohup ./bin/kibana & ## 启动

访问http://192.168.78.9:5601显示如下:
在这里插入图片描述
 
 
 
 

五、部署filebeat

搭建好前文中的Logstash、ElasticSearch、kibana,然后去官网下载filebeat安装包
Filebeat官方下载地址
版本和logstash一致即可

1.将filebeat安装包上传到要采集日志的服务器上:

2.tar -zxvf filebeat-7.1.1-linux-x86_64.tar.gz  ##解压
3.mv ./filebeat-7.1.1-linux-x86_64 /opt/filebeat  ##重定向到指定目录

4.修改配置文件:vim /opt/filebeat/filebeat.yml因为本次监控了nginx的日志,所以修改如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 
     字段解释:
            filebeat.inputs #指定要采集的日志路径
            type: #文件类型log
            paths: #指定nginx日志的路径
            fields: #要和logstash里的index的日志格式引用的key对上。
            app: #要和logstash的规则对上
           Logstash的index的日志规则是:logstash-%{[fields][app]}-%{+YYYY.MM.dd}
            Output.logstash #指定logstash地址可指定多个path,用于采集不同的日志文件

     5.启动filebeat:

 cd /opt/filebeat    ##cd到/opt/filebeat路径下
 nohup  ./filebeat -e -c filebeat.yml &   ##启动filebeat服务
 ps -ef |grep filebeat  ##查看进程

至此部署完成。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值