自定义 Filebeat 配置文件
一 配置文件结构与位置
二 最小可用配置模板
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["localhost:9200"]
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
setup.ilm.enabled: false
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.logstash:
hosts: ["192.168.10.28:5044"]
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
三 常用自定义场景与关键参数
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/access.log
include_lines: ["404"]
- type: log
enabled: true
paths:
- /var/log/nginx/access_json.log
json.keys_under_root: true
json.overwrite_keys: true
- type: log
enabled: true
paths:
- /var/log/nginx/access_json.log
fields:
log_type: "access"
fields_under_root: true
- type: log
enabled: true
paths:
- /var/log/nginx/error.log
fields:
log_type: "error"
fields_under_root: true
output.elasticsearch:
hosts: ["localhost:9200"]
index: "nginx-%{[log_type]}-%{+yyyy.MM.dd}"
processors:
- add_host_metadata:
when.not.contains.tags: forwarded
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~
四 校验与应用配置
sudo filebeat test config
sudo filebeat test output
sudo filebeat -e -c /etc/filebeat/filebeat.yml
sudo systemctl restart filebeat
sudo systemctl status filebeat
sudo journalctl -u filebeat -f
sudo service filebeat restart
sudo service filebeat status
五 排错与最佳实践