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

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

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

1 ответ

Решение

На сервере Rudder есть правило конфигурации, которое гласит: "Сервер руля должен быть включен и доступен. Если нет, попробуйте перезапустить его". и по умолчанию агент проверяет правила каждые 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? Необходимо, чтобы оно было "истинным", если вы не хотите менять другие вещи.
  • Есть ли у вас брандмауэр, фильтрующий соединение с локального хоста на себя?
  • возможно, это что-то о том, что IPv6 localhost не разрешается правильно.

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

 ::1     localhost

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

::1     ip6-localhost

И убедитесь, что у вас есть строка, похожая на:

127.0.0.1       localhost
Другие вопросы по тегам