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