Filebeat
1. 介绍¶
Beats是用于单用途数据托运人的平台。它们以轻量级代理的形式安装,并将来自成百上千台机器的数据发送到Logstash或Elasticsearch。(画外音:通俗地理解,就是采集数据,并上报到Logstash或Elasticsearch)
Filebeat是一个开源的文件收集器,也是一款轻量级的日志传输工具。采用go语言开发,重构logstash采集器源码,安装在服务器上作为代理来监视日志目录或特定的日志文件,并把它们发送到logstash或elasticsearch,然后在Kibana上实现可视化。
Beats对于收集数据非常有用。它们位于你的服务器上,将数据集中在Elasticsearch中,Beats也可以发送到Logstash来进行转换和解析。
为了捕捉(捕获)数据,Elastic提供了各种Beats:
Audit | Auditbeat |
---|---|
Log files | Filebeat |
Availability | Heartbeat |
Metrics | Metricbeat |
Network traffic | Packetbeat |
Windows event logs | Windowsbeat |
Beats可以直接(或者通过Logstash)将数据发送到Elasticsearch,在那里你可以进一步处理和增强数据,然后在Kibana中将其可视化。
2. filebeat 语法¶
2.1 input 配置¶
- yaml语法
- input_type
log stdin
demo
filebeat.prospectors: - input_type:log paths: - /var/log/apache/httpd-*.log - input_type:log paths: - /var/log/message - /var/log/*.log
2.2 output 配置¶
- console
- elasticsearch
- logstash
- kafka
- redis
- file
output.elasticsearch: hosts:["master:9200"] username:"admin" password:"cmz" output.console: pretty:true
2.3 filter 配置¶
- input时候处理
Include_lines exclude_lines exclude_files
- output前处理 -- Processor
drop_event drop_fields Decode_json_fields Include_fields
demo
processor: - drop_event: when: regexp: message: "^DBG:"
消息已DBG开头的就丢弃,也就是丢掉debug的日志
demo
processor: - decode_json_fields: fields:["inner"]
{"outer":"value","inner":"{\"data\":\"value\"}"} | V {"outer":"value","inner":"{"data":"value"}"}