【问题标题】:Monitoring a particular sidekiq queue in a rails application在 Rails 应用程序中监控特定的 sidekiq 队列
【发布时间】:2018-09-22 11:20:36
【问题描述】:

根据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" =&gt; proc { [200, {"Content-Type" =&gt; "text/plain"}, [Sidekiq::Queue.new.latency &lt; 30 ? "OK" : "UHOH" ]] }, via: :get

Q1。我的应用程序中有多个队列,称为 order_submission、mailers、critical 和 default。 如果我想监控特定队列的积压或延迟,请说“order_submission”,我该怎么做?

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 服务用于点击 url 以测试性能和可用性,但我不清楚这意味着什么意味着已经存在每分钟运行并发送电子邮件的 pingdom 检查。希望对此进行澄清。

谢谢

【问题讨论】:

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


    【解决方案1】:

    A1may pass queue name

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

    A2我没有与 Pingdom 合作,所以我只能建议:

    1. 检查他们的文档,看看他们是否可以解析响应。
    2. 当队列状态为not时更改响应状态 OK,选择一个from the list

    【讨论】:

      【解决方案2】:

      如果您想在 sidekiq 中监控单个队列,您可以在 sidekiq_queue_metrics gem 的帮助下进行。它提供以下功能:

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

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

      这是你如何使用这个 gem。

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

      Also I have written a blog on this rubygem. 前往那里了解更多详情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-27
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多