根据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检查并发送电子邮件。希望对此有所澄清。
由于
答案 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.前往那里获取更多详细信息。
答案 1 :(得分:0)
A1 您may pass queue name:
Sidekiq::Queue.new('my_queue').size
A2 我没有使用Pingdom,所以我可以建议: