Configuration-Management

為什麼我的 Rudder 伺服器每 5 分鐘重啟一次?

  • January 22, 2016

我的Rudder伺服器執行良好,但每隔 5 分鐘左右,我就會被踢出我的 HTML 會話,並且會出現“Rudder 正在載入,請稍候”螢幕。一段時間後,我可以再次正常使用它。

我如何阻止這種行為發生?

Rudder 在伺服器上有一條配置規則,上面寫著“rudder 伺服器必須已啟動且可訪問。如果沒有,請嘗試重新啟動它”。預設情況下,代理每 5 分鐘檢查一次規則。

通過訪問 URLhttp://localhost:8080/rudder/api/status並期待具有 200 OK 狀態的“OK”文本響應來檢查規則。

因此,要驗證問題是否與該規則相關聯,您可以嘗試在 Rudder 伺服器上以 root 身份執行以下命令:

   $ /var/rudder/cfengine-community/bin/cf-agent -KI

並檢查輸出中是否有類似的東西:

2014-10-07T10:06:03+0200     info: /default/root_component_check/methods/'any'/default/generic_alive_check/commands/'/usr/bin/curl -s http://localhost:8080/rudder/api/status |/bin/grep -q OK'[0]: Executing 'no timeout' ... '/usr/bin/curl -s http://localhost:8080/rudder/api/status |/bin/grep -q OK'
2014-10-07T10:06:03+0200    error: /default/root_component_check/methods/'any'/default/generic_alive_check/commands/'/usr/bin/curl -s http://localhost:8080/rudder/api/status |/bin/grep -q OK'[0]: Finished command related to promiser '/usr/bin/curl -s http://localhost:8080/rudder/api/status |/bin/grep -q OK' -- an error occurred, returned 1
2014-10-07T10:06:03+0200     info: /default/root_component_check/methods/'any'/default/generic_alive_check/commands/'/usr/bin/curl -s http://localhost:8080/rudder/api/status |/bin/grep -q OK'[0]: Completed execution of '/usr/bin/curl -s http://localhost:8080/rudder/api/status |/bin/grep -q OK'
R: @@server-roles@@result_error@@server-roles@@server-roles-directive@@0@@Check rudder status@@None@@2014-10-07 08:06:02+00:00##root@#The http://localhost:8080/rudder/api/status web application failed to respond for the second time. Restarting jetty NOW !

如果是這樣,在 Rudder 重新啟動後,手動執行以下命令:

curl -v -X GET http://localhost:8080/rudder/api/status

如果不能返回“HTTP/1.1 200 OK”和“OK”,則說明測試無法成功。最有可能檢查的情況是:

  • 您是否更改了配置文件/opt/rudder/etc/rudder-web.properties中的“rudder.rest.allowNonAuthenticatedUser”值?如果您不想更改其他內容,則必須將其設置為“真實”。
  • 你有一些從本地主機到自身的防火牆過濾連接嗎?
  • 也許這是關於 IPv6 localhost 無法正確解析的問題。

對於最後一種情況:Java 非常努力地使用 IPv6 而不是 IPv4,所以如果您在 /etc/hosts 中有:

::1     localhost

這可能會導致問題。嘗試將其更改為:

::1     ip6-localhost

並檢查您是否有一條看起來像這樣的線:

127.0.0.1       localhost

引用自:https://serverfault.com/questions/634360