需求
对每一台机器上都装一个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}" } } }