在logstash中映射和翻译cookie的正确方法是什么?

在logstash中映射和翻译cookie的正确方法是什么?,logstash,Logstash,我的输入是来自IIS服务器的日志,其中包含cookies。我希望我的输出(elasticsearch)具有如下字段: "cookies": { "cookie_name": "cookie_value" } 另外,对于一些cookie,我希望它们的值被字典中的其他值替换 基本上,我认为以下过滤器配置解决了我的问题: kv { source => "cookie" target => "cookies" trim => ";" include

我的输入是来自IIS服务器的日志,其中包含cookies。我希望我的输出(elasticsearch)具有如下字段:

"cookies": {
  "cookie_name": "cookie_value"
}
另外,对于一些cookie,我希望它们的值被字典中的其他值替换

基本上,我认为以下过滤器配置解决了我的问题:

kv {
    source => "cookie"
    target => "cookies"
    trim => ";"
    include_keys => [ "cookie_name1","cookie_name2" ]
}
translate {
    field => "cookies.cookie_name1"
    destination => "cookies.cookie_name1"
    dictionary_path => "/etc/logstash/dict.yaml"
    override => "true"
    fallback => "%{cookies.cookie_name1}"
}

问题是,我不知道这样做是否正确,以及它是否会起作用(尤其是
cookies.cookie\u name
部分)。

正确的方法是:

kv {
    source => "cookie"
    target => "cookies"
    field_split => ";+"
    include_keys => [ "cookie_name1","cookie_name2" ]
}
translate {
    field => "[cookies][cookie_name1]"
    destination => "[cookies][cookie_name1]"
    dictionary_path => "/etc/logstash/dict.yaml"
    override => "true"
    fallback => "%{[cookies][cookie_name1]}"
}