Я думаю, мы достигли предела удобства использования celery events
и celery fllower
. Есть ли хороший инструмент для мониторинга состояния Celery, работающего под RabbitMQ?
В частности, хотелось бы что-то бить тревогу, когда:
Было бы также полезно знать:
Я вообще не использую Celery, но какое-то время использовал RabbitMQ. Прямо сейчас использую Алмаз с помощью сборщика RabbitMQ для отправки статистики в Graphite и последующего отслеживания длины каждой очереди. Это, по крайней мере, сообщит вам, когда ваши очереди копируются, хотя оно не включает пороговые значения памяти или диска, используемые RabbitMQ. Не гарантируется, что вам сообщат, когда потребители регистрируются или отменяют регистрацию, но он может сказать вам, сколько их. В моем случае, если есть потребители и очереди не поддерживаются ужасным образом, тогда нет достаточно большой проблемы, чтобы беспокоиться об этом.
Есть статистика по количеству публикаций / доставок / повторных доставок / подтверждений, которые вы можете использовать для отслеживания истории пропускной способности.
Я отслеживаю продолжительность задачи, но из того, что я видел, это действительно проблема на стороне клиента, и ее нужно будет делать непосредственно в Celery, для чего StatsD действительно хорошо работает. Потребительская (де) регистрация может быть возможна с некоторыми хуками в публикации Celery + StatsD.
Для мониторинга Graphite я написал мой собственный инструмент как временный промежуток, но Судья полезен, и для Nagios есть плагин Graphite.