Как говорится в названии, можете ли вы рассказать мне о различиях между Прометеем и Zabbix?
Какая разница между Прометеем и Zabbix?
Ответ 1
Zabbix написан на C и PHP, это более классический мониторинг.
Prometheus написан на Go, рекомендуется для облачного мониторинга, мониторинга SaaS/openstack.
НО вы можете использовать оба, Прометей быстрее, потому что база данных zabbix занимает меньше места (потому что написано в c). Zabbix вы можете большинство вещей в webgui.. в Prometheus вы должны редактировать файлы, такие как Nagios.
UPDATE: вот немецкая статья про Прометея: http://www.linux-magazin.de/Ausgaben/2016/03/Prometheus
Ответ 2
Оба Zabbix и Prometheus могут использоваться в различных сценариях мониторинга, без какой-либо конкретной специализации в любом из них. Zabbix старше, чем Prometheus, и, вероятно, более стабильный, с более готовыми к использованию решениями.
Zabbix имеет ядро, написанное на C и webUI на основе PHP, также использует "агенты" (клиентские программы), написанные на C. Прометей написан на языке Go.
Zabbix хранит данные в СУБД (MySQL, PostgreSQL, Oracle, sqlite) выбора пользователя. Prometheus использует собственную базу данных, встроенную в бэкэнд-процесс (это не реляционная база данных, специально предназначенная для хранения данных мониторинга аналогичным образом до OpenTSDB).
Zabbix по умолчанию использует модель "pull", когда сервер подключается к агентам на каждом мониторе, агенты периодически собирают информацию и отправляют ее на сервер. Альтернатива - это режим "активных проверок", когда агенты устанавливают соединение с сервером и отправляют ему данные, когда это необходимо. Прометей предпочитает "тянуть" модель, когда сервер собирает информацию с клиентских машин. Но Prometheus Push Gateway может использоваться в случаях, когда нужна модель "push".
Prometheus требует, чтобы приложение предназначалось для клиентской библиотеки Prometheus (доступно на разных языках программирования) для подготовки показателей. Но для мониторинга системы или программного обеспечения, которое невозможно измерить, существует официальный "экспортер черного ящика" , который позволяет зондировать конечные точки по целому ряду протоколов; Кроме того, широкое распространение сторонних "экспортеров" и инструменты доступны, чтобы помочь выявить метрики для Prometheus (аналогично "агенты" для Zabbix). Одним из таких инструментов является телеграф (https://github.com/influxdata/telegraf).
Zabbix использует собственный протокол связи tcp между агентами и сервером. Прометей использует HTTP с буферами протоколов (+ текстовый формат для удобства использования с curl).
Zabbix предлагает свой собственный webUI для визуализации. Prometheus предлагает базовый инструмент для изучения собранных данных и визуализации его в простых графиках на своем родном сервере, а также предлагает минимальный конструктор панели инструментов PromDash. Но Prometheus разработан и предназначен для поддержки современных визуализирующих инструментов, таких как Grafana.
Zabbix поддерживает оповещение в своем ядре. Prometheus предлагает решение для оповещения, которое отделено от его ядра в Alertmanager.
Ответ 3
Zabbix думает в терминах машин, поэтому вы ограничены мыслями о вещах в этих терминах. Оповещения могут запускаться на основе простой математики.
У Prometheus нет такого ограничения, вы можете думать о сервисах или центрах обработки данных. Предупреждения могут быть вызваны любым допустимым выражением, например, средняя задержка слишком высока, или диски будут заполняться через 4 часа.
https://blog.raintank.io/evolving-from-machines-to-services/ объясняет большую разницу между машинным и сервисным мониторингом.