В чем разница между Прометеем и Заббиксом?

Как и было сказано в названии, можете ли вы рассказать мне о различиях между Prometheus и Zabbix?

3 ответов


Zabbix написан на C и PHP, его более классический-мониторинг..

Prometheus написан в Go, рекомендуется для облачного мониторинга SaaS/openstack..

но вы можете использовать оба, Prometheus быстрее из-за того, что база данных zabbix имеет меньший размер(потому что она написана на c). Zabbix вы можете большинство вещей в webgui .. в prometheus вы должны редактировать файлы, такие как nagios..

обновление: вот немецкая статья о Прометее: http://www.linux-magazin.de/Ausgaben/2016/03/Prometheus


Zabbix и Prometheus могут использоваться в различных сценариях мониторинга, без какой-либо специализации в любом из них. Zabbix старше Prometheus и, вероятно, более стабилен, с более готовыми к использованию решениями.

Zabbix имеет ядро, написанное на C и webUI на основе PHP, также использует "агенты" (клиентские программы), написанные в с. Прометей написан на языке го.

Zabbix хранит данные в СУБД (MySQL, PostgreSQL, Oracle, sqlite) пользователя выбор. Prometheus использует собственную базу данных, встроенную в бэкэнд-процесс (это нереляционная база данных, специально разработанная для хранения данных мониторинга таким же образом до OpenTSDBмодель данных).

Zabbix по умолчанию использует модель "pull", когда сервер подключается к агентам на каждой машине мониторинга, агенты периодически собирают информацию и отправляют ее на сервер. Альтернативой является режим" активных проверок", когда агенты устанавливают соединение с сервером и отправляют данные к нему, когда это нужно. Прометей предпочитает "вытягивать" модель, когда сервер собирает информацию с клиентских машин. Но!--13-->Prometheus Push Gateway может использоваться в случаях, когда необходима модель" push".

Prometheus требует, чтобы приложение было инструментировано с клиентской библиотекой Prometheus (доступной на разных языках программирования) для подготовки метрик. Но для мониторинга системы или программного обеспечения, которые не могут быть инструментированы, есть официальная "черный ящик экспортер" это позволяет зондировать конечные точки по целому ряду протоколов; кроме того, широкое распространение сторонние "экспортеры" и инструменты доступны, чтобы помочь выставить метрики для Prometheus (подобно "агенты" для Zabbix). Одним из таких инструментов является telegraf (https://github.com/influxdata/telegraf).

Zabbix использует собственный tcp-протокол связи между агентами и сервером. Prometheus использует HTTP с буферами протокола (+текстовый формат для удобства использовать с завитком).

Zabbix предлагает собственный webUI для визуализации. Prometheus предлагает базовый инструмент для изучения собранных данных и визуализации их в простых графиках на своем собственном сервере, а также предлагает минимальный Dashboard builder PromDash. Но Prometheus разработан и поддерживается современными инструментами визуализации, такими как Grafana.

Zabbix поддерживает оповещение в своем ядре. Prometheus предлагает решение для оповещения, которое отделено от его ядро в Alertmanager приложение.


Zabbix думает в терминах машин, поэтому вы ограничены мыслями о вещах в этих терминах. Оповещения могут быть вызваны на основе простой математики.

Prometheus не имеет этого ограничения, вы можете думать с точки зрения услуг или центров обработки данных. Предупреждения могут быть вызваны любым допустимым выражением, например, средняя задержка слишком высока или диски заполнятся через 4 часа.

https://blog.raintank.io/evolving-from-machines-to-services/ объясняет больше разница между машинным и сервисным мониторингом.