You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生产环境下Sidekiq Web UI统计数据显示为空的原因排查

Sidekiq生产环境统计数据为0的排查方案(AWS Redis+SSL场景)

1. 修复AWS Redis SSL连接参数

AWS ElastiCache启用SSL后,仅设置ssl: true可能不足以建立有效连接,证书验证失败会导致统计数据无法写入Redis。修改config/initializers/sidekiq.rb,补充SSL参数:

Sidekiq.configure_server do |config|
  config.redis = { 
    url: Rails.configuration.x.sidekiq_redis_url, 
    ssl: Rails.configuration.x.redis_ssl,
    ssl_params: {
      # 测试环境临时禁用证书验证,生产环境替换为AWS根证书路径
      verify_mode: OpenSSL::SSL::VERIFY_NONE
      # ca_file: Rails.root.join("config", "AmazonRootCA1.pem").to_s
    }
  }
end

Sidekiq.configure_client do |config|
  config.redis = { 
    url: Rails.configuration.x.sidekiq_redis_url, 
    ssl: Rails.configuration.x.redis_ssl,
    ssl_params: {
      verify_mode: OpenSSL::SSL::VERIFY_NONE
      # ca_file: Rails.root.join("config", "AmazonRootCA1.pem").to_s
    }
  }
end

# 同时确保Web UI使用相同的Redis配置
Sidekiq::Web.configure do |config|
  config.redis = { 
    url: Rails.configuration.x.sidekiq_redis_url, 
    ssl: Rails.configuration.x.redis_ssl,
    ssl_params: {
      verify_mode: OpenSSL::SSL::VERIFY_NONE
      # ca_file: Rails.root.join("config", "AmazonRootCA1.pem").to_s
    }
  }
end

生产环境需下载AWS官方根证书到项目config目录,启用ca_file参数,避免安全风险。

2. 验证Redis连接有效性

在Rails控制台执行以下命令,确认Sidekiq是否正确连接到目标数据库并具备读写权限:

redis_conn = Sidekiq.redis { |c| c }
puts "当前连接的Redis数据库: #{redis_conn.client.db}"
puts "写入测试: #{redis_conn.set('sidekiq_test', 'ok')}"
puts "读取测试: #{redis_conn.get('sidekiq_test')}"
  • 若数据库不是3:检查sidekiq_redis_url是否包含db=3参数(如redis://host:port/3)
  • 若读写失败:排查AWS安全组是否允许Sidekiq服务器IP访问Redis端口,或IAM权限是否配置正确

3. 确认统计功能未被禁用

检查初始化文件中是否存在禁用统计的配置,确保显式启用:

Sidekiq.configure_server do |config|
  config.options[:stats_enabled] = true
  # 其他配置...
end

4. 检查Sidekiq进程日志

查看Sidekiq服务器日志,搜索Redis相关条目,确认是否有连接错误、认证失败等信息,这些会直接导致统计数据无法写入。


内容的提问来源于stack exchange,提问作者Ponny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:11:18