Мой Руль сервер работает отлично, но каждые 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», что-то препятствует успешному выполнению теста. Наиболее вероятными случаями для проверки являются:
В этом последнем случае: Java очень старается использовать IPv6 поверх IPv4, поэтому, если у вас есть / etc / hosts:
::1 localhost
Это могло привести к проблеме. Попробуйте изменить это на:
::1 ip6-localhost
И убедитесь, что у вас есть строка вида:
127.0.0.1 localhost