2011-06-24 49 views
0

我想用簡單的nagios URL檢查來檢查我的rails-website。問題是,在Nagios的每個GET請求中(每分鐘),將在sessions表中插入一個新會話。我如何防止rails爲Nagios查詢生成新記錄?使用Nagios檢查Rails應用程序

+0

你運行的是什麼版本的軌道?會話的東西在v2.x和v3之間改變了一點點 – smcphill

+0

我使用Rails 3和Ruby 1.9.2 – Fu86

+0

您是否考慮過在應用程序中使用基於Cookie的會話存儲而不是數據庫存儲?如果您確實需要使用數據庫存儲,則解決方法是定期使用rake db:sessions:clear清理會話表。 – eugen

回答

1

我認爲最好的方法是創建一個NagiosController來完成你需要的測試。只要確保控制器及其相關視圖永遠不會訪問會話對象,並且它不會訪問會話對象,並且它不會訪問會話對象,並且它可能仍會創建db記錄 - 不確定,未測試。 1分貝插入一分鐘不會殺死系統,如果你按照@ eugen的評論aboe清除會話,你應該沒問題。我認爲每小時清理一次綽綽有餘。

編輯:根據ActionController::Base APIdoc,你也可以撥打reset_session(在你的行動,我想年底),其中「刪除整個會話」

+1

'reset_session'doesnt在這裏工作,因爲它自己創建一個會話行並將其值設置爲「'nil'」。訣竅是調用一個動作,但不要調用任何會話的東西或呈現完整的視圖。我只是創建一個返回「true」的動作。 – Fu86