Celery和RabbitMQ – 用于监测和标注报警的工具

我想我们已经达到了celery eventscelery fllower可用性的极限。 是否有一个好的工具来监视在RabbitMQ下运行的芹菜的状态?

特别是在下列情况下,我希望发出警报:

  • 我的队列正在备份
  • 消费者注册或取消注册

这也是很好的知道:

  • 当某种历史指标日志时,执行多less任务
  • 平均任务持续时间等

我根本不使用芹菜,而是使用了RabbitMQ一段时间。 现在我使用Diamond与RabbitMQ收集器发送统计到Graphite,然后监视每个队列的长度。 这将至less告诉你什么时候你的队列正在备份,尽pipe它不包括RabbitMQ使用的内存或磁盘阈值。 当消费者注册或取消注册时,不能保证告诉你,但可以告诉你有多less。 在我的情况下,如果有消费者,排队没有可怕的备份,那么没有足够的问题担心。

您可以使用发布/交付/重新发送/确认数量的统计数据来跟踪吞吐量的历史logging。

我跟踪任务持续时间,但是从我所看到的这只是一个客户端问题,将不得不在Celery中直接完成,因为StatsD工作得很好。 消费者(de)注册可能会与Celery + StatsD发布挂钩。

为了监视Graphite,我写了一个自己的工具作为权宜之计,但是裁判是有用的,Nagios有一个Graphite插件。