在 rails 应用程序中监控特定的 sidekiq 队列
Monitoring a particular sidekiq queue in a rails application
根据 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 的队列、邮件程序、关键队列和默认队列。
如果我想监控特定队列的积压或延迟,请说 '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 检查。想澄清一下。
谢谢
A1 你may pass queue name:
Sidekiq::Queue.new('my_queue').size
A2 我没有使用 Pingdom,所以我只能建议:
- 检查他们的文档,他们是否可以解析响应。
- 当queque状态为not时更改响应状态 OK,选择一个from the list。
如果你想在 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. 前往那里了解更多详情。
根据 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 的队列、邮件程序、关键队列和默认队列。 如果我想监控特定队列的积压或延迟,请说 '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 检查。想澄清一下。
谢谢
A1 你may pass queue name:
Sidekiq::Queue.new('my_queue').size
A2 我没有使用 Pingdom,所以我只能建议:
- 检查他们的文档,他们是否可以解析响应。
- 当queque状态为not时更改响应状态 OK,选择一个from the list。
如果你想在 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. 前往那里了解更多详情。