Как стать автором
Обновить

Комментарии 18

Используете ли вы полнотекстовый поиск в Clickhouse?

Например, надо найти все get запросы, с ip клиента, которые содержали в URL символы «fh=63» за последнею неделю

Если используете, то через какие GUI?
т.е. используете и разовые запросы делаете sql синтаксисом через redash или tabix.

Пока что еще не использовали.

Мы у нас в компании тож быстренько запилили складывать логи в клик. Да пакует хорошо. Да в графане можно накидать борды. Но от sql быстро устаёшь а иногда надо очень быстро выловить какието логи с аналитикой. И до сих пор ничего не находил такого что бы можно отдать было и девелоперу и аналитику и тестеру… но на последнем HL парни ECommPay
поделились интересной разработкой. сделали некую прослойку между кибаной и кликом которая прикидывается Эластиком :). Надеюсь видео с HL будет скоро доступно. Там парни рассказывает что их побудило и какие были трудности. Сам проект доступен тут: github.com/ITECOMMPAY/kibouse

Вы можете написать статью/пост/инструкцию по использованию kibouse? Было бы классно!

На первом слайде нарисовано, что эластик не сжимает данные. Но это не так: «Does Elasticsearch automatically compress? Yes. The default compression is LZ4, but you can use DEFLATE, which is higher compression at the cost of more CPU to compress further, and a slightly slower indexing rate.» discuss.elastic.co/t/does-elasticsearch-automatically-compress-data/93161/2
Возможно, Вы правы и ElasticSearch сжимает какие-то данные. При этом даже по указанной Вами ссылке после сжатия объём данных в индексе ElasticSearch всё равно превышает исходный в 2-3 раза. При этом типичные текстовые логи ClickHouse сжимает в 5-10 раз, то есть в итоге ClickHouse в среднем хранит логи эффективнее ElasticSearch в 10-20 раз.

Спасибо за статью! Делал аналогичное с помощью Logstash, логика получилась весьма не простой. Обработка различных ситуаций с 499 — не совсем очевидная и тривиальная задача. Да, я видел, что в конфигурации используется proxy_ignore_client_abort, но там тоже могут проскакивать 499 с полупустым $upstream_status. Плюс есть забавные спец-эффекты, которые могут кому-то не понравиться. А если по теме, то не совсем понятно зачем используется avg(), когда CH имеет quantile().


PS: прошу прощения за возможные опечатки, пишу с телефона и не совсем удобно видеть всю мою писанину.

Спасибо за комментарий. avg() используется в качестве примера. Читатель может изменить запросы.

Тогда немного другой вопрос. Вы ранее использовали альтернативы, например, ELK-стек? Если да, то какова разница по «тактильным» ощущениям? Также, если ваша текущая «схема» используется в продакшене, какие впечатления от ее использования? Есть ли какие-то нюансы?

Нет, не использовали.

Писал для себя схожую систему https://github.com/andrylavr/seslog.
Приятно порадовало использование LowCardinality, возможно возьму на вооружение.

А вы записываете данные в clickhouse пачками?

Да, разумеется. Иначе бы оно столько не держало =D

Вопрос автору! А есть ли какие-нибудь бесплатные альтернативы по анализу логов, утилизации CPU, памяти, MySQL, с настраиваемыми алёртами и советами по оптимизации?

Слишком широкий вопрос.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации