clickhouse в одно поле с типом JSON как сделано здесь https://clickhouse.com/blog/nginx-logs-to-clickhouse-fluent-bit. Чтобы сразу структурированные логи лить. На сколько это рационально с целом? Или лучше будет в таблице сделать кучу полей из лога (как сделано пример тут https://medium.com/datadenys/using-vector-to-feed-nginx-logs-to-clickhouse-in-real-time-197745d9e88b)
Первый вариант интересен с точки зрения что формат логов может поменяться и в целом при изменении формата нигде ничего отдельно донастраивать не придется. Не надо новые поля в таблу добавлять, адаптировать vector и тд. Но не понятно что с производительностью
+ понятно что есть elk например для этого. Но хочется именно ch заюзать ибо оно настроено и работает
А почему не совместить? Хранить сразу всё + вынести те поля, по которым наиболее частые запросы?
через mv? Типа кидать сырой лог и потом его через mv обрабатывать?
Как вариант. Ну или через агрегатора логов.
mv как я понял это триррер на помент попадания данных в таблу. Те не очень подходит в контексте того, что мы можем не знать что нам понадобится
А про агригатор логов не читал - поиду поресечу что это. ps ой я думал это фича ch какая то )
В данном случае - fluent или vector, как по ссылкам. Всё равно им логи собираются, можно и выдернуть нужное.
Обсуждают сегодня