1、加载外部配置文件
1.1 Input config
filebeat.config.inputs:
enabled: true
path: inputs.d/*.yml
inputs.d目录下的配置文件示例:
- type: log
paths:
- /var/log/mysql.log
scan_frequency: 10s
- type: log
paths:
- /var/log/apache.log
scan_frequency: 5s
1.2 Module config
filebeat.config.modules:
enabled: true
path: ${path.config}/modules.d/*.yml
外部配置文件示例:
- module: apache
access:
enabled: true
var.paths: [/var/log/apache2/access.log*]
error:
enabled: true
var.paths: [/var/log/apache2/error.log*]]
2、filebeat配置样例
filebeat.inputs:
- type: log
paths: /var/log/nginx/access.log
tags: ["nginx-log"]
#fields:
# source: access
output.elasticsearch:
hosts: ["192.168.101.46:9200"]
index: "nginx-log-*"
indices:
- index: "nginx-log-v%{[agent.version]}-%{+yyyy.MM.dd}"
#when.equals:
# fields:
# source: "access"
when.contains:
tags: "nginx-log"
filebeat.config.modules:
path: /data/es/filebeat/modules.d/*.yml
reload.enabled: true
reload.period: 10s
setup.kibana:
host: "192.168.101.46:5601"
setup.ilm.enabled: false
setup.template.enabled: false
setup.template.name: "ngnix-log"
setup.template.pattern: "ngnix-log-*"
#setup.dashboards.index: "nginx-log-*"
setup.template.overwrite: true
when.contains: 包含
when.equals: 等于
# 相关模板字段意义:
setup.template.name: “nginx” # 设置一个新的模板,模板的名称
setup.template.pattern: “nginx-*” # 模板匹配那些索引,这里表示以nginx开头的所有的索引
setup.template.enabled: false # 关掉默认的模板配置
setup.template.overwrite: true # 开启新设置的模板
setup.ilm.enabled: false # 索引生命周期管理ilm功能默认开启,开启的情况下索引名称只能为filebeat-*, 通过setup.ilm.enabled: false进行关闭;如果要使用自定义的索引名称,同时又需要启用ilm,可以修改filebeat的模板
使用默认索引时要写入事件的索引名称。默认为“filebeat-%{[agent.version]}-%{+yyyy.MM.dd}”,例如“filebeat-8.0.0-rc1-2022-01-20”。如果更改此设置,还需要配置 setup.template.name 和 setup.template.pattern 、setup.ilm.enabled: false选项