监视rails应用程序中的特定sidekiq队列

时间:2018-04-12 10:32:08

标签: ruby-on-rails sidekiq sidekiq-monitor

根据https://github.com/mperham/sidekiq/wiki/Monitoring的sidekiq监控文档,如果我们需要监控队列积压,我们将以下内容添加到config/routes.rb

require 'sidekiq/api'
match "queue-status" => proc { [200, {"Content-Type" => "text/plain"}, [Sidekiq::Queue.new.size < 100 ? "OK" : "UHOH" ]] }, via: :get

监控延迟

match "queue-latency" => proc { [200, {"Content-Type" => "text/plain"}, [Sidekiq::Queue.new.latency < 30 ? "OK" : "UHOH" ]] }, via: :get

Q1。我的应用程序中有多个队列,名为order_submission,mailers,critical和default。 如果我想监视特定队列的积压或延迟,请说“order_submission&#39;我怎么能这样做?

Q2。文档还说We have a Pingdom check every minute which fires off an email if the response == 'UHOH'代表以下

match "queue-status" => proc { [200, {"Content-Type" => "text/plain"}, [Sidekiq::Queue.new.size < 100 ? "OK" : "UHOH" ]] }, via: :get

我知道Pingdom服务用于测试网址以测试性能和可用性,但我不清楚是什么意思是已经有每分钟运行的pingdom检查并发送电子邮件。希望对此有所澄清。

由于

2 个答案:

答案 0 :(得分:2)

如果要监视sidekiq中的各个队列,可以借助sidekiq_queue_metrics gem来进行。它提供以下功能:

  • 查看所有队列的统计信息
  • 查看单个队列的摘要
  • 查看单个队列的失败以及回溯。

每个队列的失败次数也是可配置的。

这是您使用此宝石的方式。

require 'sidekiq_queue_metrics'

Sidekiq.configure_server do |config|
  Sidekiq::QueueMetrics.init(config)
end

Also I have written a blog on this rubygem.前往那里获取更多详细信息。

enter image description here

答案 1 :(得分:0)

A1 may pass queue name

Sidekiq::Queue.new('my_queue').size

A2 我没有使用Pingdom,所以我可以建议:

  1. 检查他们的文档,他们是否可以解析回复。
  2. 当状态为时更改响应状态确定,选择一个from the list