elasticsearch 过滤器在 logstash 中不起作用

elasticsearch filter not working in logstash

我使用的是 Logstash 版本 2.4.0。

我有一个索引 listOfIps,类型为 ip,其中有一个字段为 ip

我在 logstash 配置中使用以下配置部分来检查 ip 是否存在于我的索引中并将其复制到新字段。

 elasticsearch {
                    hosts => ["1.2.3.4:9200"]
                    query => "ip:0.1.2.7"
                    fields => {"ip" => "ip_found_on_es"}
          }

但它不起作用。 Elasticsearch 上存在 ip 0.1.2.7 ,但我仍然无法获得预期的结果。 我在这里做错了什么?

elasticsearch {
            hosts => ["localhost:9200"]
            user => elastic #use if x-pack is enabled
            password => elastic #use if x-pack is enabled
            index => "listOfIps" 
            query => "ip:0.1.2.7"
            enable_sort => false
            fields => {"ip" => "ip_found_on_es"}
        }

尽量给出具体的索引,因为如果你不指定任何 logstash 将查询所有索引,这会减慢你的工作。

一个原因可能是您的索引没有将@timestamp 附加到每个被索引的文档,并且logstash 尝试根据@timestamp 字段对您的结果进行排序。 您可以使用 "enable_sort => false"

禁用排序

谢谢,请告诉我它是否有效。