У меня есть свободный клиент, который перенаправляет журналы в logstash и, наконец, просматривается через Kibana. Я пробовал несколько конфигураций, чтобы обновить отметку времени для записи времени из файлов журнала. Однако не повезло в этом.
Вот мой раздел анализа файла конфигурации fluentd,
<parse>
# @type none
@type multiline
format_firstline /^\[([\w]+)\s*\]\s*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/
format1 /\[(?<loglevel>[\w]+)\s*\]\s*(?<logtime>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\s*\[(?<thread>[^\]]*)\]\s*(?<class>[^ ]*)\s+-\s*(?<message>.*)/
time_key logtime
time_type string
time_format %Y-%m-%d %H:%M:%S
keep_time_key true
</parse>
Почему эта конфигурация не работает? Временная метка в кибане по-прежнему fluent_time, а не мое время входа.
Я также попытался добавить time_key в раздел 'inject' внутри 'match', как показано ниже, это тоже не сработало. Ссылка - Как добавить метку времени и ключ для поиска эластичности, используя свободный
<inject>
time_key @logtime
time_type string
time_format %Y-%m-%d %H:%M:%S
</inject>
Кроме того, я также попробовал record_transformer, как указано ниже, но это тоже не сработало. Справочник - https://docs.fluentd.org/v0.12/articles/filter_record_transformer#renew_time_key-(optional,-string-type)
<filter pattern>
@type record_transformer
<record>
renew_time_key ${record["logtime"]}
</record>
</filter>
Я также пытался использовать и без '@' время входа в систему при каждой попытке. Я также попытался добавить компоненты time_key в раздел 'source', но это тоже не сработало.
Версия Fluentd и ruby - fluentd-1.0.2 ruby = "2.4.2"
На данный момент я в тупике. Что мне не хватает? Любое предложение приветствуется!