Автоматический перезапуск сервера приложений по расписанию

Задача:

Необходимо перезапускать сервер приложений WebSphere Application Server каждый вторник в 17:00. Рассмотрим возможные варианты решения.

Вариант 1 – самый простой
Вариант решения задачи, который напрашивается сразу – добавить в cron цепочку команд stopServer.sh и startServer.sh:
Запуск сервера, т.е. startServer.sh, будет осуществлен если скрипт stopServer.sh завершился с rc=0.
Вариант 2 – перезапуск сервера jython скриптом
В этом варианте предлагается создать jython скрипт, вызываемый shell скриптом, который запускается в cron по расписанию. Ниже приведен пример jython скрипта, содержащего команду на перезапуск сервера приложений:

Пример shell скрипта:

Скрипт вызывает wsadmin, на вход которому подается jython скрипт, и соединяется с сервером приложений в случае Base-конфигурации и Deployment Manager в случае ND конфигурации.

Этот вариант удобен тем, что при небольшой доработке скриптов можно параметрически задавать имена серверов приложений, которые требуется перезапустить. Сам перезапуск сервера приложений осуществляется одной командой, а это означает, что вам не нужно отслеживать момент завершения процесса сервера для последующего запуска. Возможно усложнить скрипты, добавив дополнительной функциональности, например, удаление временных файлов в директориях temp, wstemp.

Пример настроек cron:
Вариант 3 – перезапуск средствами WAS

Самый красивый вариант – это перезапуск сервера приложений средствами самого WAS. Такое возможно только в версии WAS V8.5, в конфигурации Network Deployment. В версии 8.5 в WAS интегрирован продукт WebSphere Virtual Enterprise, предоставляющий функциональности Intelligent Management – подсистема интеллектуального управления средой WAS. Частью Intelligent Management является Health Management, с помощью которой и будет выполняться перезапуск сервера приложений.

Health Management осуществляет мониторинг состояния серверов приложений (увеличение числа тайм-аутов при обработке запросов, утечки памяти, чрезмерное использование памяти JVM и т.п.) и в автоматическом или ручном режиме выполняет определенные действия (перезапуск сервера приложений, отправка SNMP-трапа, сбор thread dump и т.п.).

Условия мониторинга и ответные действия определяются в политиках Health Policies. Подробнее о настройке можно ознакомиться здесь:

ftp://ftp.software.ibm.com/software/iea/content/com.ibm.iea.was_v8/was/8.5/Architecture/WASV85_Creating_Health_Policies.pdf

http://www.geekflare.com/application-server/was/how-to-create-health-policies-in-websphere

Для нашего примера мы должны будем указать условие “Age-based condition”, “Restart server” в качестве действий и установить “Automatic” Reaction mode. После этого в настройках Health Controller нужно установить время перезапуска сервера приложений.

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
Метки: , ,
Опубликовано в WebSphere Application Server, Обнаружение и устранение проблем, Тюнинг

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Выбор языка: