web-dev-qa-db-ja.com

ラダーサーバーが5分ごとに再起動するのはなぜですか?

Rudder サーバーは正常に動作していますが、5分ごとに、HTMLセッションが開始され、「Rudderがロードされています。しばらくお待ちください」という画面が表示されます。しばらくすると、普通にまた使えます。

その動作を停止するにはどうすればよいですか?

1
fanf42

ラダーのサーバーには、「ラダーサーバーが起動していてアクセス可能である必要があります。そうでない場合は、再起動してみてください」という構成ルールがあります。デフォルトでは、エージェントは5分ごとにルールをチェックします。

ルールは、URL http://localhost:8080/rudder/api/statusにアクセスし、200OKステータスの「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 !

その場合は、ラダーを再起動した後、次のコマンドを手動で実行します。

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

それでも「HTTP/1.1200OK」と「OK」が返されない場合は、テストの成功を妨げるものがあります。チェックする可能性が最も高いケースは次のとおりです。

  • 設定ファイルの「rudder.rest.allowNonAuthenticatedUser」の値を変更しましたか/ opt/rudder/etc/rudder-web.properties?他のものを変えたくないのであれば、それを「真」にする必要があります。
  • ローカルホストからそれ自体へのファイアウォールフィルタリング接続がありますか?
  • おそらく、IPv6ローカルホストが正しく解決されていないことが原因です。

最後のケースの場合:Java IPv6 over IPv4を使用するように一生懸命努力してください。したがって、/ etc/hostsにある場合:

 ::1     localhost

問題が発生する可能性があります。次のように変更してみてください。

::1     ip6-localhost

そして、次のような行があることを確認します。

127.0.0.1       localhost
3
fanf42