2016-01-21 80 views
0

Sidekiq monitor readme,您可以使用保護您當前的鐵軌服務器上sidekiq網絡信息中心的路線(比如本地主機端口3000上運行):是否可以在另一個應用程序上顯示Sidekiq Web儀表板?

典型的方式做認證sidekiq儀表盤路線http://localhost:3000

# config/routes.rb 
authenticate :user, lambda { |u| u.admin? } do 
    mount Sidekiq::Web => '/sidekiq' 
end 

我想使用另一個Rails應用程序訪問Sidekiq儀表板(而不是運行Sidekiq的Rails應用程序):

是否有可能做類似fol降脂:

應用1 - 在http://localhost:3000導軌服務器:(服務器在其上Sidekiq正在運行,並且收集數據)

# config/routes.rb 
mount Sidekiq::Web => 'http://localhost:5000/sidekiq' 

應用2 - 在http://localhost:5000導軌服務器(單獨的服務器我想捕捉Sidekiq數據,同時又能保護訪問誰可以看到儀表板)

# config/routes.rb 
authenticate :user, lambda { |u| u.admin? } do 
    get '/sidekiq' 
end 

我想它不是基於我如何莫的理解unting Rails引擎和Sidekiq儀表板工程。我的另一個想法是,如果我想將端口3000上的服務器(Sidekiq統計信息正在運行並收集數據)的數據傳遞到另一臺服務器,我可以利用Sidekiq的API。

編輯:

是否也可以監視不止一個Rails應用程序更從應用程序2? (本地主機:5000服務器)

回答

2

可以保留在app 2安裝(假設你權威性在該應用程序):

# config/routes.rb 
authenticate :user, lambda { |u| u.admin? } do 
    mount Sidekiq::Web => '/sidekiq' 
end 

,並在目標應用程序的Redis的URL指向REDIS_URL環境變量。 (這種機制在您的運行時環境上有很大差異。)您還需要確保所有防火牆都允許此流量通過,等等。

安裝確保監視接口在App 2中可用,並將其指向來自App 1的Redis實例確保訪問正確的統計信息。

+0

我是否需要多個REDIS_URL變量,然後如果我想讓應用程序1監視App 2以外的其他應用程序? Sidekiq網站如何知道要監控哪一個? – Nona

+0

@Nona Tricky!在一個進程中監控多個sidekiqs可能是不可能的(我沒有看過),但是在一個box/VM /服務器上。這可能值得一個單獨的問題。 –

+0

只是爲了仔細檢查,https://github.com/mperham/sidekiq/issues/1223意味着我將不得不爲每個我想監視的應用程序創建一個「監視應用程序」(如應用程序2)? – Nona

相關問題