问题:
我已经拥有的内容:
input { http { host => "0.0.0.0" port => "5000" } } output { elasticsearch { hosts => "elasticsearch:9200" } }
我需要什么:
input { http { host => "0.0.0.0" port => "5000" } http { host => "0.0.0.0" port => "7070" } }
答案 0 :(得分:8)
您可以为每个输入设置一个类型,并使用该类型生成索引名称:
input {
http {
host => "0.0.0.0"
port => "5000"
type => "A"
}
http {
host => "0.0.0.0"
port => "5001"
type => "B"
}
}
使用该类型可能就足够了,因为您可以使用它来过滤记录。但是您可能还需要将每种类型的记录存储在不同的索引中,因为每种类型可能对同一字段使用不同的类型。这会导致映射冲突。
output {
elasticsearch {
hosts => "elasticsearch:9200"
index => "%{[type]}-%{+YYYY.MM.dd}"
}
}
答案 1 :(得分:2)
我已经解决这个。
我需要在 logstash:部分的 docker-compose.yml 文件中添加端口,例如:
ports: - "5000:5000" - "7070:7070"
还
type => "A"
很好用。