Ubuntu 上 Filebeat 处理日志的完整流程
一 核心概念与职责
二 安装与配置文件位置
三 采集与输出配置示例
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/auth.log
output.elasticsearch:
hosts: ["localhost:9200"]
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/auth.log
output.logstash:
hosts: ["localhost:5044"]
input { beats { port => 5044 } }
output { elasticsearch { hosts => ["localhost:9200"] index => "filebeat-logstash-%{+yyyy.MM.dd}" } }
四 多日志按业务拆分索引
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/example.com.access.log
fields:
domain: example.com
fields_under_root: true
- type: log
enabled: true
paths:
- /var/log/nginx/api.example.com.access.log
fields:
domain: api.example.com
fields_under_root: true
output.elasticsearch:
hosts: ["localhost:9200"]
indices:
- index: "example-com-%{+yyyy.MM.dd}"
when.equals:
domain: "example.com"
- index: "api-example-com-%{+yyyy.MM.dd}"
when.equals:
domain: "api.example.com"
五 轮转归档与保留策略
/var/log/filebeat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
PUT _ilm/policy/logstash-policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "50gb",
"max_age": "7d"
}
}
},
"delete": {
"min_age": "30d",
"actions": {
"delete": {}
}
}
}
}
}