filebeat-1-连通logstash

时间:2021-11-08 11:32:53

类似flume, 但功能更为强大

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

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

filebeat-1-连通logstash

安装配置:

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 => ""
}
}
output {
stdout {
codec => rubydebug
}
}

启动:

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

2, 配置filebeat并启动

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

filebeat-1-连通logstash

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

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