Logstash指纹过滤器不工作

Logstash指纹过滤器不工作,logstash,Logstash,我有一个logstash过滤器,它从XML负载中提取api令牌字符串。我不想在elasticsearch中存储实际的API令牌,我想存储哈希版本。我的筛选文件如下所示: filter { xml { source => "xml_request" store_xml => "false" force_array => "false" xpath => [ "//authentication/apiK

我有一个logstash过滤器,它从XML负载中提取api令牌字符串。我不想在elasticsearch中存储实际的API令牌,我想存储哈希版本。我的筛选文件如下所示:

filter {

    xml {
        source => "xml_request"
        store_xml => "false"
        force_array => "false"
        xpath => [ "//authentication/apiKey/text()", "api_key" ]
    }

    if [api_key] =~ /.+/ {
        fingerprint {
            method => "SHA256"
            key => "some_random_string"
            source => "api_key"
            target => "api_key"
        }
    }
}

不幸的是,指纹过滤器似乎无法工作,因为
api_key
值始终是来自XML输入的值,而不是经过哈希处理的值。我已尝试将
目标
字段设置为要测试的新字段(例如
api\u key\u hashed
),但新字段未显示。有人能帮我解释一下吗?

我不知道这是否有帮助,但你可以试试:

  fingerprint {
    add_field => {
      "apikey" => "%{api_key}"
       remove_field => [ "%{api_key}" ]
    }
    add_field => {
      "api_key" => "%{apikey}"
      remove_field => [ "%{apikey}" ]
    }
  }
否则,您可以尝试: 或