Я пишу журналы в файл журнала из своего приложения Django, оттуда я отправляю эти журналы в elasticsearch. Поскольку я также хочу разделить поля, я использую logstash между filebeat и elasticsearch.
Вот пример поля журнала:
2019-03-19 13:39:06 файл журнала INFO save_data {'field1': None, 'time': '13: 39: 06 ',' mobile ':' 9876543210 ',' list_item ': "[{' item1 ' : 10, 'item2': 'путь / к / файлу'}] ", 'response': '{some_complicated_json}}', 'field2': 'некоторые данные', 'date': '19 -03-2019 ', 'field3': 'некоторые другие данные'}
Я попытался написать шаблон соответствия GROK, но все поля попадают в поле message
:
%{TIMESTAMP_ISO8601:temp_date}%{SPACE} %{WORD:logfile} %{LOGLEVEL:level} %{WORD:save_data} %{GREEDYDATA:message}
Как я могу написать шаблон соответствия GROK, который может разложить указанную выше запись в журнале.