Слушаю очередной курс по "Прометею" (Prometheus). Заморочился в основном для того, чтобы разобраться что это в принципе за зверь такой и чего вокруг него так много хайпа. Попутно пытаюсь провести некие сравнения оного с Заббиксом (Zabbix).
По ходу пьесы наткнулся на более-менее внятную статью на тему преимуществ того и другого инструмента
вот здесь. С выводами оттуда по большей части согласен. Здесь немного подытожу, перефразирую своими словами.
Главная фича "Прометея" - заточенность под динамически изменяемые среды: контейнеры, облака, поды, кубернетес, autodiscovery, IaaC, микросервисы, хипстеры, смузи и всё вот это. Если приложение умеет отдавать инфу о своём состоянии по URLу "/metrics", всё остальное происходит автомагически. Его обнаруживают, прицепляют и понеслась. Всё же остальное в сравнении с Zabbix-ом является, скорее, недостатками.
- Работа только по pull-модели, если без применения отдельных сущностей / костылей типа "pushgateway".
- Если хочется мониторить самописное приложение, то в нем изначально необходимо предусматривать выдачу метрик.
- Возможность собирать / хранить только однородные величины (значения временных рядов).
- Короткий срок хранения метрик (неделя-две). Можно конечно прикрутить какой-нибудь кликхаус для статистики, но Zabbix это умеет "из коробки".
- Невозможно нормально раздать права на просмотр метрик / управление конфигурацией, если ты админишь систему не в одно рыло.
- Чтобы поставить на мониторинг "голое железо", протухание SSL-сертификатов / лицензий и т.п., нужно искать нужный exporter, который будет выдавать данные в понятном Прометею формате. Но чем он в таком случае принципиально отличается от Zabbix Agent-а?
Одним словом, Прометей - это про мониторинг отдельных приложений и бизнес-метрик на короткой дистанции. Заббикс - универсальный комбайн "всё-в-одном".
В общем, лично я не вижу куда бы его пристроить в рамках текущих должностных обязанностей и бизнес-задач. Тем более, что руководство требует, чтобы весь мониторинг был бы сосредоточен в одном месте. То есть, чтобы дежурным инженерам не приходилось бы держать открытыми два-три сайта и/или черпать информацию об инцидентах из нескольких разных источников.
Хотя, у Заббикса есть тоже слабое место, даже несколько. В частности, он очень плохо прожёвывает ситуации, когда на один хост приходится несколько десятков тысяч метрик. Вот в таких случаях как раз имеет смысл отдельно замониторить "говорливое" приложение Прометеем, а уже агрегированную статистику и/или алерты потом подтянуть в Zabbix-е. Можно будет таким заняться, но что-то сомневаюсь, что руки когда-нибудь дойдут.
Всем удобного и информативного мониторинга.