多个Filebeat输入到Logstash设置不同的索引


需求

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM