filebeat-1-连通logstash

类似flume, 但功能更为强大

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

当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。

安装配置: 

filebeat的安装配置非常简单

1, 下载

这儿使用的版本是 5.5.2

2, 定义日志路径配置

进入到解压目录下, 然后修改  filebeat.yml

- input_type: log

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/nginx/*.log
    #- c:\programdata\elasticsearch\logs\*
  encoding: utf-8
  document_type: my-nginx-log
  scan_frequency: 5s
  harvester_buffer_size: 16384
  max_bytes: 10485760
  tail_files: true

  #exclude_lines: ["^DBG"]
  #include_lines: ["^ERR", "^WARN"]

这儿可以配置多个路径, 并且使用正则进行日志抽取时的过滤

3, 输出日志路径: 

filebeat的输出可以有多种目的地, es, logstash

elasticsearch: 

#-------------------------- Elasticsearch output ------------------------------
#output.elasticsearch:
  # Array of hosts to connect to.
 # hosts: ["localhost:9200"]

  # Optional protocol and basic auth credentials.
  #protocol: "https"
  #username: "elastic"
  #password: "changeme"

logstash: 

#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["www.wenbronk.com:5044"]

4, 启动logstash

nohup ./filebeat -c ./filebeat.yml &

logstash 和 filebeat 连通: 

这儿我们以 nginx的日志为例, nginx的安装可见: 

http://www.cnblogs.com/wenbronk/p/6557482.html

1, 配置logstash并启动

input {
    beats {
        port => "5044"
    }
}
output {
    stdout {
        codec => rubydebug
    }
}

启动: 

./bin/logstash -f ./config/logstash_conf.conf 

 

2, 配置filebeat并启动

cat filebeat.yml | grep -v '^$' | grep -v '#'

 

 3, 然后浏览器访问, 即可以看到logstash的 控制台进行了输出, 证明连通 

 

参考: http://www.ywnds.com/?p=9776

posted @ 2017-08-22 12:29  bronk  阅读(592)  评论(0编辑  收藏  举报