filebeat的安装及配置

概述:Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch、logstarsh或者redis中存放。

相关连接

一、filebeat安装

  本次安装filebeat使用的是已经下载至本地的tar包,只需要解压即可使用。

tar xf filebeat-6.2.2-linux-x86_64.tar.gz

  filebeat可以起多个进程,运行依赖于.yml 配置文件。文件中定义filebeat读取的日志文件,以及输出方式。安装完成之后,会有一个模板 filebeat.yml,我们可以自定义 .yml 文件的名称,只需要启动的时候接入配置文件即可。

  启动多个进程,需要使用参数 --path.data /xxx/xxx 来重定向进程路径。

二、应用场景

场景一:Filebeat采集数据,写入到logstash

  filebeat配置文件:out-logstash.yml

filebeat:
  prospectors:
    -
      paths:
        -  /var/log/named/namequery.log

output.logstash:
    hosts: ["logstashIP:5044"]

  启动filebeat

./filebeat -e -c out-logstash.yml --path.data /apps/data/filebeat/out-logstash/

  logstash配置

input {
    beats {
        port => 5044
    }
}

output {
    stdout {
        codec => "rubydebug"
    }
}

 

场景二:Filebeat采集数据,写入到redis,然后logstash从reids队列中拉取数据

  filebeat配置文件:out-redis.yml

filebeat:
  prospectors:
    -
      paths:
        - /var/log/named/namequery.log

output.redis:
     hosts: ["redis_1IP","redis_2IP","redis_3IP"]
     loadbalance: false                      # 数据只是往一个redis里丢,如果这个redis挂了,就会自动将数据丢在另一个redis中,如果为yes,则将数据均分到各个redis中
     port: 6379
     key: "dns-ct"
     db: 0
     timeout: 3

   启动filebeat

./filebeat -e -c out-redis.yml --path.data /apps/data/filebeat/out-redis/

  logstash配置

此处需要进行解释,第二套应用场景是将一个文件丢如三个redis,因为为开启负载均衡,所以只会有一个redis读取到文件,而安装部署的时候就将每台服务器安装了logstash和redis,并且logstash将数据处理之后将数据全部输出至同一个es集群。

input {
  redis {  
    host => "localredisIP"  
    port => 6379  
    key => "dns-ct"  
    data_type => "list"  
    }  
}
output {
    stdout {
        codec => "rubydebug"
    }
}

 

posted @ 2018-06-28 18:50  隔壁王师傅  阅读(914)  评论(0编辑  收藏  举报