Назад | Перейти на главную страницу

Почему мой сервер Rudder перезагружается каждые 5 минут?

Мой Руль сервер работает отлично, но каждые 5 минут или около того меня выкидывают из сеанса HTML, и появляется экран «Руль загружается, пожалуйста, подождите». Через некоторое время я снова могу использовать его в обычном режиме.

Как мне остановить такое поведение?

У руля направления есть правило конфигурации на сервере, которое гласит: «Сервер руля должен быть включен и доступен. Если нет, попробуйте перезапустить его». и по умолчанию агент проверяет правила каждые 5 минут.

Правило проверяется путем доступа к URL http://localhost:8080/rudder/api/status и ожидание текстового ответа «ОК» со статусом 200 ОК.

Итак, чтобы убедиться, что проблема связана с этим правилом, вы можете попробовать выполнить следующую команду от имени пользователя root на сервере Rudder:

    $ /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.1 200 OK» и «OK», что-то препятствует успешному выполнению теста. Наиболее вероятными случаями для проверки являются:

  • вы изменили значение "rudder.rest.allowNonAuthenticatedUser" в файле конфигурации /opt/rudder/etc/rudder-web.properties ? Это необходимо, чтобы оно было «истинным», если вы не хотите менять другие вещи.
  • у вас есть какое-то соединение с фильтрацией брандмауэра от localhost к самому себе?
  • возможно, дело в том, что локальный хост IPv6 не разрешается правильно.

В этом последнем случае: Java очень старается использовать IPv6 поверх IPv4, поэтому, если у вас есть / etc / hosts:

 ::1     localhost

Это могло привести к проблеме. Попробуйте изменить это на:

::1     ip6-localhost

И убедитесь, что у вас есть строка вида:

127.0.0.1       localhost