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

Мой сервер Руководящего принципа работает отлично, но каждые 5 минут или так, меня ударяют - из моей сессии HTML, и "экран "Rudder is loading, please wait" появляется. Через какое-то время я могу использовать его снова обычно.

Как я останавливаю то поведение для случая?

1
задан 29 July 2015 в 13:29
1 ответ

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

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

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

 ::1     localhost

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

::1     ip6-localhost

И убедитесь, что у вас есть строка, выглядящая так:

127.0.0.1       localhost
3
ответ дан 3 December 2019 в 18:43

Теги

Похожие вопросы