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

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

готовой интеграции этой БД с Zabbix не существует

А как же glaber ?

Мы имели в виду из коробки - Zabbix не поддерживает Clickhouse. Спасибо!

Следующая проблема, которую вам нужно будет решить - наполнение ValueCache.

ClickHouse очень латентен при выполнении запросов.

И будет проблема - старт будет еще хуже, чем у ванильного заббикса.

В разы хуже. Если айтемов хотя бы 1-2млн, то стагнация на час или больше.

Как только пойдут первые данные, начнут считаться триггеры, триггерам нужны еще данные, а их в кеше нет, и в итоге все процессы history_syncer будут ожидать медленных ответов клика, так как он их будет наполнять по одному айтему.

Поточностью тоже не решить - очень быстро, примерно на 40-70 спрашивающих потоках на ноду Клика, суммарная скорость ответов только деградирует

Дальше есть три варианта действий:

  1. Заранее наполнить весь ValueCache сделав на старте один массовый запрос. Недостаток - неизвестно заранее, сколько метрик с какой глубиной нужно в кеше, и вообще, нужна ли метрика в кеше. В заббиксе в ValueCache хранятся только те метрики, которые в триггерах и в calculated значениях использовались.

  2. Иногда сохранять ValueCache, чтобы обеспечить холодный запуск. Идея рабочая, нам здорово помогает

  3. Сделать watchdog в момент записи истории: в случае, если сервер тратит слишком много времени на ожидание чтения - не читать такие данные, возвращать ошибку. Это самый простой и действенный способ - требуется буквально 4ре строчки в реализации истории, получаете мнгновенный страт. С таким решением сервер в первые 20 минут работы при такой реализации пропускает через себя примерно на 2 порядка (в 100-200раз!) больше данных и считает триггеров, чем если бы он не пропускал операции чтения из кеша.

Можно получить полный код реализации?

Пока не дадим. Спасибо!

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