Найти в Дзене
serveradmin.ru

Сравнение Zabbix vs Prometheus

К своим статьям по Zabbix регулярно получаю комментарии о том, что это устаревший продукт и надо переходить на Prometheus -  там все современно, модно, молодёжно. Я знаком с этим мониторингом, ставил его, тестировал, поэтому могу провести обзорное сравнение Zabbix vs Prometheus. Последний хороший продукт, не хочу заниматься критикой и убеждением кого-то в том, что Zabbix лучше, хуже и т.д. Сравнивать их в лоб не имеет смысла, так как это разные продукты под разные задачи. Они схожи тем, что оба считаются системами мониторинга, но у них масса отличий. Авторизация и аутентификация Простой пример значительной разницы между Prometheus и Zabbix. На обучении по Прому (1,5 года назад) я спросил у лектора, как обеспечить аутентификацию и авторизацию пользователей. Про второе вообще ничего не сказал, а насчет первого предложил настроить ограничения на firewall или сделать basic_auth при проксировании через nginx. Сравните это с готовой системой пользователей и групп в Zabbix, где можно настроит
Оглавление

К своим статьям по Zabbix регулярно получаю комментарии о том, что это устаревший продукт и надо переходить на Prometheus -  там все современно, модно, молодёжно. Я знаком с этим мониторингом, ставил его, тестировал, поэтому могу провести обзорное сравнение Zabbix vs Prometheus. Последний хороший продукт, не хочу заниматься критикой и убеждением кого-то в том, что Zabbix лучше, хуже и т.д. Сравнивать их в лоб не имеет смысла, так как это разные продукты под разные задачи. Они схожи тем, что оба считаются системами мониторинга, но у них масса отличий.

Авторизация и аутентификация

Простой пример значительной разницы между Prometheus и Zabbix. На обучении по Прому (1,5 года назад) я спросил у лектора, как обеспечить аутентификацию и авторизацию пользователей. Про второе вообще ничего не сказал, а насчет первого предложил настроить ограничения на firewall или сделать basic_auth при проксировании через nginx. Сравните это с готовой системой пользователей и групп в Zabbix, где можно настроить права доступа вплоть до отдельной группы или хоста.В Prometheus вам эту задачу придется решать отдельно, даже не знаю как. Возможно есть какие-то готовые удобные решения, о которых я не слышал. Если есть, прошу подсказать. Статью пишу в том числе для того, чтобы собрать обратную связь и расширить свои знания по упоминаемым продуктам.

Панель мониторинга

zabbix dashboard
zabbix dashboard

Zabbix сразу включает в себя панель мониторинга с возможностью настраивать Dashboards. Этот функционал присутствует изначально и ничего дополнительно устанавливать и настраивать не придется. Для Prometheus вам придется использовать сторонние приложения для визуализации данных. Согласен, что это не проблема, так как интеграция с Grafana очень простая. А последняя дает удобную визуализацию, лучше чем встроенная в Zabbix. Но тем не менее, это принципиальное отличие Zabbix от Prometheus, о котором стоит упомянуть.

Prometheus это только значения временных рядов

текстовые данные в zabbix
текстовые данные в zabbix

Идем далее. Еще одно отличие Prometheus от Zabbix в том, что первый хранит у себя только значения временных рядов. Он не подходит для текста, логов, журналов событий. Да, согласен, что для логов лучше использовать специализированные продукты, типа ELK. Но это отдельное, большое и сложное приложение, которое вот так с пол тычка не поставишь для того, чтобы к примеру мониторить логины по ssh или winbox.

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

Так что важное отличие Prometheus от Zabbix - последний поддерживает сбор и хранение разнородной информации, в том числе в текстовом виде.

Уведомления

поддержка различных способов оповещений в zabbix
поддержка различных способов оповещений в zabbix

В истории с уведомлениями тоже наглядно видна разница Zabbix от Prometheus. У первого огромное количество встроенных уведомлений и интеграций с различными сервисами. В случае с Prometheus вам придется решать этот вопрос отдельно. К примеру, с помощью alertmanager. Я не берусь оценивать его функционал и возможности, так как знаком очень поверхностно. Но на первый взгляд, настройка будет посложнее, чем аналогичная через web интерфейс заббикса. Туда по дефолту завезли в том числе уведомления в telegram.

Долгосрочное хранение данных

долгосрочные тренды в мониторинге
долгосрочные тренды в мониторинге

Изначально Prometheus был рассчитан на краткосрочное (неделя-две) хранение метрик и работы с ними. У него для этого есть TSDB, отлично оптимизированная под временные ряды и добавление данные по модели pull. То есть это продукт для оперативного мониторинга. Если вы хотите хранить исторические данные месяцы и годы, вам придется искать какое-то отдельное решение для этого. Они существуют, их относительно много, но придется отдельно потрудиться, чтобы выбрать что-то подходящее и настроить.

В Zabbix с этим проще. Он изначально рассчитан на долгосрочное хранение. Конечно, там есть свои сложности с высокой нагрузкой на базу (это его узкое место, так как там честный SQL) и долгосрочным хранением больших объемов. Но тем не менее, эти вопросы прорабатываются и развиваются. К примеру, 5-я версия Zabbix поддерживает в качестве базы данных PostgreSQL + TimescaleDB.

Zabbix способен объять всю инфраструктуру

сбор данных по протоколу modbus
сбор данных по протоколу modbus

Zabbix можно считать системой мониторинга общего назначения, на которую можно замкнуть всю инфраструктуру. Например, настроить мониторинг ssl сертификатов и время делегирования домена. Недавно я решал задачу мониторинга промышленных контроллеров, которые отдают данные по протоколу ModBus. Заббикс его поддерживает после установки дополнительного модуля. Как такие вещи сделать в Prometheus, я даже не представляю.

Таким образом, у вас есть универсальная система мониторинга, которая объединяет в себе вообще всю инфраструктуру. Плюс, можно сразу подключить какие-то внешние метрики через API удаленных систем. У Prometheus все же более узкая специализация под конкретные задачи.

В чем преимущество Prometheus?

Прочитав мое сравнение этих двух систем мониторинга, может показаться, что Zabbix по всем статьям лучше Prometheus. Конечно, это не так. Стоит принять во внимание то, что Zabbix я использую очень давно и хорошо знаю, поэтому я не объективен. На мой взгляд, Prometheus похож на некий framework, на базе которого строится полноценная система мониторинга. Вот его наиболее сильные стороны:

  • Prometheus query language. Это свой язык запросов, очень крутая штука, аналогов которой вроде и нет нигде. С его помощью очень удобно и быстро можно построить запрос на выборку данных. В Zabbix ничего и близко нет.
  • Service discovery. Прометеус отлично подходит для динамических систем, например Kubernetes. Он автоматически находит необходимые таргеты и ставит на мониторинг.
  • Exporters. Формат данных Prometheus поддерживает огромное количество софта. Они сразу из коробки выдают все метрики для Prometheus. Вам остается их только направить в него. Zabbix движется в этом направлении, создает шаблоны для приема данных с экспортеров prometheus, пишет свои шаблоны, но тут он в роли сильно отстающего.
  • Highload. За счет TSDB, Prometheus может принять и обработать несравнимо больше метрик, чем Zabbix. Правда, актуально это становится для тех, у кого реально очень высокая нагрузка.

Вот преимущества Prometheus, которые сходу пришли мне на ум. Думаю, этот список можно дополнить. Поделитесь в комментариях информацией, которую я упустил.

Заключение

На этом по сравнению Zabbix vs Prometheus у меня все. Сел писать небольшую заметку в Telegram, но, как обычно, не смог ограничиться его форматом. Чтобы раскрыть тему, нужна полноценная статья, которая в итоге и получилась. Надеюсь, она вам была полезна. Про Прометеус не так много информации на русском языке, в отличие от Zabbix. Так что если не знакомы с продуктами, быстро сравнение сделать не получится, придется погружаться.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.