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