我有一个logstash实例处理端口5044上的传入请求。
然后,我有filebeat和metricbeat发送数据。
问题是由于过滤器,当前logstash被配置为仅接受filebeat文件:
input {
beats {
port => "5044"
}
}
filter {
grok {
match => {...
}
output { ...
当然,metricbeat数据也将被丢弃。
通过定义该过滤器的异常(exception),是否可以包括metricbeat数据?我的想法是在metricbeat上添加标签,以便被识别....有可能吗?
最佳答案
您可以使用条件中的@metadata.beat
字段按节拍类型进行过滤。
就像这样:
filter {
if [@metadata][beat] == "filebeat" {
filters for filebeat
}
if [@metadata][beat] == "metricbeat" {
filters for metricbeat
}
}
如果要将每个节拍的数据存储在不同的索引中,也可以在
output
块中使用相同的条件。