Filebeat简介
简介Filebeat是一个轻量级日志传输Agent,可以将指定日志转发到Logstash、Elasticsearch、Kafka、Redis等中。Filebeat占用资源少,而且安装配置也比较简单,支持目前各类主流OS及Docker平台。具体可以参考官网:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-gett...
简介
Filebeat是一个轻量级日志传输Agent,可以将指定日志转发到Logstash、Elasticsearch、Kafka、Redis等中。Filebeat占用资源少,而且安装配置也比较简单,支持目前各类主流OS及Docker平台。
具体可以参考官网:https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html
配置示例
根据使用版本参考官网,5.x和6.x略有区别。
1.定义日志路径:
5.x:
filebeat.prospectors:
- input_type: log
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
6.x:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
注:/var/log/*/*.log可以抓取子目录下的.log后缀的所有日志,不抓取/var/log本目录下的日志。目前不支持递归抓取目录下所有子目录中的所有日志
2.配置output
直接输出到Elasticsearch
output.elasticsearch:
hosts: ["myEShost:9200"]
6.x中新增:
如果使用kibana dashboard的filebeat模板,就配置kibana endpoint。如果Elasticsearch和Kibana部署在一起,这一步可以跳过。
setup.kibana:
host: "mykibanahost:5601"
配置filebeat使用Logstash
前提条件:使用Logstash作为output来对filebeat收集的数据进行附加处理,必须先配置Logstash来接收filebeat发来的事件。5和6也是有区别的,下面以5.x为例。
beat发送事件到Logstash,Logstash使用beats input插件接收到事件后,使用Elasticsearch output插件发送到Elasticsearch。这个插件使用API可以很有效率的建索引。Logstash监听5044端口接收beat传输并在索引到Elasticsearch中。下面这种配置其实和Beat直接发送到Elasticsearch其实一样。Logstash可以收集、丰富转换数据,具体参考Logstash介绍。
#----------------------------- Logstash配置--------------------------------
input {
beats {
port => 5044
}
}
# The filter part of this file is commented out to indicate that it is
# optional.
# filter {
#
# }
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" #比如"logstash-nginx-access-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
#-------------------Filebeat---------- Logstash output --------------------------------
output.logstash:
hosts: ["127.0.0.1:5044"]
配置Kafka Output
发送事件到Kafka:
output.kafka:
# initial brokers for reading cluster metadata
hosts: ["kafka1:9092", "kafka2:9092", "kafka3:9092"]
# message topic selection + partitioning
topic: '%{[type]}'
partition.round_robin:
reachable_only: false
required_acks: 1
compression: gzip
max_message_bytes: 1000000
Elasticsearch中加载index template
如果启用Elasticsearch output,默认filebeat会自动加载推荐的模板文件filebeat.template.json。可以通过如下配置不同的模板。
output.elasticsearch:
hosts: ["localhost:9200"]
template.name: "filebeat"
template.path: "filebeat.template.json"
template.overwrite: false
更多推荐
所有评论(0)