Как правильно отобразить и перевести файлы cookie в logstash? - PullRequest
0 голосов
/ 18 октября 2019

Мой вход - журнал с сервера IIS с включенными файлами cookie. Я хочу, чтобы мой вывод (asticsearch) имел поле наподобие этого:

"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_nameчасть).

1 Ответ

0 голосов
/ 21 октября 2019

Правильный способ сделать это:

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]}"
}

https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html#logstash-config-field-references
https://www.elastic.co/guide/en/logstash/7.4/plugins-filters-kv.html
https://www.elastic.co/guide/en/logstash/7.4/plugins-filters-translate.html

...