FileBeat 安装
简介
-
此文档只介绍linux版本的安装,其它操作系统环境的安装参见官方文档
-
下载包需要有Internet,如果没有Internet,需要提前准备安装包。
安装准备
7.6.1版Linux安装
下载安装包
- rpm 包
# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-x86_64.rpm
# rpm -vi filebeat-7.6.1-x86_64.rpm
- tar包
# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-linux-x86_64.tar.gz
# tar xzvf filebeat-7.6.1-linux-x86_64.tar.gz
安装目录
类型 | 描述 | 默认位置 | 配置项 |
---|---|---|---|
home | Home of the Filebeat installation. | path.home |
bin|The location for the binary files.|{path.home}/bin|
config|The location for configuration files.|{path.home}|path.config
data|The location for persistent data files.|{path.home}/data|path.data
logs|The location for the logs created by Filebeat.|{path.home}/logs|path.logs
- rpm包安装后路径 类型|描述|配置项 ---|---|--- home| Home of the Filebeat installation.|/usr/share/filebeat
bin|The location for the binary files.|/usr/share/filebeat/bin
config|The location for configuration files.|/etc/filebeat
data|The location for persistent data files.|/var/lib/filebeat
logs|The location for the logs created by Filebeat.|/var/log/filebeat
- tar包安装后路径 类型|描述|配置项 ---|---|--- home| filebeat家目录.|{extract.path}
bin|可执行文件目录.|{extract.path}
config|配置文件目录.|{extract.path}
data|持久化数据文件位置.|{extract.path}/data
logs|日志文件位置.|{extract.path}/logs
- 更多配置路径参见目录配置
配置
-
默认配置文件名称:filebeat.yml,所有的配置项样例文件:filebeat.reference.yml
-
日志文件路径
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
所有/var/log下以.log结尾的日志都会被filebeat harvest
/var/log/*/*.log: 采集/var/log的子目录以.log结尾的日志,不采集/var/log下的日志,也不支持递归
- 发送到ES配置
output.elasticsearch:
hosts: ["myEShost:9200"]
- 是否启用logstash作为输出
output.logstash:
enabled: true
默认值为:true
- 发送到logstash配置
output.logstash:
hosts: ["127.0.0.1:5044","10.3.3.3:5044]
- compression_level-logstash是否启用压缩
output.logstash:
compression_level: 0
取值范围:0-9,默认值:3, 0-禁用gzip压缩,值越大压缩越好,网络开销小,但是cpu消耗高
- escape_html-logstash:是否escape html
output.logstash:
escape_html: false
默认值:false
- worker-logstash:发布事件到logstash的worker
output.logstash:
worker: 3
- loadbalance-logstash:负载均衡
output.logstash:
loadbalance: true
hosts: ["127.0.0.1:5044","10.3.3.3:5044]
index: filebeat
默认值为:false,当为false时,只有在一个主机不可用时,才会选择发送到其它logstash,如果为:true,进行负载
- ttl-logstash: 连接到Logstash的生存时间,之后将重新建立连接
output.logstash:
ttl: 0
默认值为:0,表示禁用
- index-logstash 要向其写入事件的索引根名称。
output.logstash:
index: rds
默认为filebeat名称。例如,“filebeat”生成“[filebeat-]7.6.1-YYYY.MM.DD”索引(例如,“filebeat-7.6.1-2017.04.26”)
- timeout-logstash 相应超时时间
output.logstash:
timeout: 30
默认值:30秒
- bulk_max_size-logstash 单个日志存储请求中要大容量处理的最大事件数。默认值为2048
output.logstash:
bulk_max_size: 2048
The maximum number of events to bulk in a single Logstash request,默认值为:2048
- backoff.init 网络错误,重新连接间隔
output.logstash:
backoff.init: 1
默认为:1秒钟,每失败一次会自动更增加,直至达到:backoff.max
- backoff.max 网络错误,重新连接最大间隔
output.logstash:
backoff.max: 60
默认为:60秒
- kibana 配置
setup.kibana:
host: "mykibanahost:5601"
如果es和kibana在同一个虚机上,不用配置此项
ES中加载index template
-
加载索引模板需要连接到Elasticsearch。如果输出不是Elasticsearch,则必须手动加载模板
-
filebeat会自动加载推荐的template
-
加载一个不同的模板
setup.template.name: "your_template_name"
setup.template.fields: "path/to/fields.yml"
- 覆盖一个存在的模板
setup.template.overwrite: true
- 禁用自动的模板加载
setup.template.enabled: false
- linux 手工加载模板
./filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
- linux 导出模板
./filebeat export template > filebeat.template.json
启动filebeat
- chown root filebeat.yml
- ./filebeat -e
FileBeat 送ES样例
output.elasticsearch:
hosts: ["http://localhost:9200"]
indices:
- index: "warning-%{[agent.version]}-%{+yyyy.MM.dd}"
when.contains:
message: "INFO"
- index: "error-%{[agent.version]}-%{+yyyy.MM.dd}"
when.contains:
message: "ERR"
结语
-Filebeat中logstash 配置 -Filebeat中es 配置 -Filebeat中kafka 配置