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的 控制台进行了输出, 证明连通