Мой сервер Руководящего принципа работает отлично, но каждые 5 минут или так, меня ударяют - из моей сессии HTML, и "экран "Rudder is loading, please wait" появляется. Через какое-то время я могу использовать его снова обычно.
Как я останавливаю то поведение для случая?
Руль имеет на сервере конфигурационное правило, которое гласит: "Сервер руля должен быть включен и доступен". Если нет, попробуйте перезапустить его". и по умолчанию агент проверяет правила каждые 5 минут.
Правило проверяется путем обращения к URL http://localhost:8080/rudder/api/status
и ожидания текстового ответа "OK" со статусом 200 OK. Итак, чтобы проверить, что проблема связана с этим правилом, вы можете попробовать выполнить следующую команду root на сервере Rudder:
$ /var/rudder/cfengine-community/bin/cf-agent -KI
И ckeck, если в выводе есть что-то подобное:
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", то есть что-то, что препятствует успешному выполнению теста. Наиболее симпатичный случай для проверки:
Для этого последнего случая: Java очень сильно старается использовать IPv6 поверх IPv4, так что если у Вас есть в /etc/hosts:
::1 localhost
это может привести к проблеме. Попробуйте изменить это на:
::1 ip6-localhost
И убедитесь, что у вас есть строка, выглядящая так:
127.0.0.1 localhost