需求
对每一台机器上都装一个filebeat,然后都指向同一个logstash,这时不同的filebeat传输的数据过来,需要输出到不同的索引,

办法
在filebeat的配置文件里添加fields.service: nginx(可自定义)
filebeat.prospectors:
- type: log
enabled: true
paths:
- /var/log/nginx-json/access.log
input_type: log
fields.document_type: nginx
fields.service: nginx
tags: ["nginx"]
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
output.logstash:
hosts: ["10.0.0.5:5044"]
在Logstash的配置文件里: 添加if [fields][service] == "nginx"{...}
output { if [fields][service] == "nginx"{ elasticsearch { hosts => ["http://localhost:9200"] index => "h5-nginx-%{+YYYY.MM.dd}" } } }