Logstash grok разделяет значения в строке cookie

Хотите разделить следующую информацию о файлах cookie с помощью grok в разных полях.

Случай 1

id=279ddd995;+user=Demo;+country=GB

Вывод

{ "id": "279ddd995", "user": "Демо", "страна": "GB", }


person AppVault    schedule 07.04.2016    source источник


Ответы (2)


попробуйте следующий шаблон grok

filter {
    grok {
         match => ["message", "id=(?<id>[^;]+);.*?user=(?<user>[^;]+);.*?country=(?<country>[^;]+).*?"]
    }
}
person Кирилл Полищук    schedule 07.04.2016

Ваши данные удобно представлены в виде пар ключ/значение. Вместо того, чтобы создавать регулярное выражение для каждого поля, вы можете использовать фильтр kv{}, чтобы разделить их на части. Это имеет дополнительные преимущества общей обработки любых ключей в любом порядке.

person Alain Collins    schedule 07.04.2016