Любой язык - [решено] Скрипт мониторинга службы или порта
-
bombording
Любой язык - [решено] Скрипт мониторинга службы или порта
Добрый день.
Имеется некая служба (она так же имеет свой порт и свой процесс), которая иногда зависает...
Требуется скрипт, который будет запускаться каждую минуту, и будет мониторить эту службу\порт. И если он не будет получать ответ от службы на протяжении, скажем 2-3 секунд, последует команда на перезапуск службы.
Я с точно не знаю, на каком языке это будет лучше огранизовать... поэтому положил тему в разное.
Помогите пожалуйста в написании данного скрипта.
Спасибо.
Имеется некая служба (она так же имеет свой порт и свой процесс), которая иногда зависает...
Требуется скрипт, который будет запускаться каждую минуту, и будет мониторить эту службу\порт. И если он не будет получать ответ от службы на протяжении, скажем 2-3 секунд, последует команда на перезапуск службы.
Я с точно не знаю, на каком языке это будет лучше огранизовать... поэтому положил тему в разное.
Помогите пожалуйста в написании данного скрипта.
Спасибо.
-
Iska
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
bombording, давайте уточним общую картину — правильно ли я понял:
1. Сервер баз данных состоит из двух служб [приведите их имена, пути к исполняемым файлам, командные строки процессов, их реализующих, и зависимости других служб от данных служб] и процесса «base.exe» [он существует в единственном экземпляре? В каком контексте он запускается изначально? Приведите путь к исполняемому файлу «base.exe», командную строку процесса].
2. Визуальным основанием для перезапуска служб является аварийное завершение процесса «base.exe». Для восстановления работоспособности сервера баз данных достаточно перезапустить обе службы [очерёдность перезапуска важна?]. После перезапуска служб, процесс «base.exe» стартует автоматически [его запускает какая-то из служб?].
1. Сервер баз данных состоит из двух служб [приведите их имена, пути к исполняемым файлам, командные строки процессов, их реализующих, и зависимости других служб от данных служб] и процесса «base.exe» [он существует в единственном экземпляре? В каком контексте он запускается изначально? Приведите путь к исполняемому файлу «base.exe», командную строку процесса].
2. Визуальным основанием для перезапуска служб является аварийное завершение процесса «base.exe». Для восстановления работоспособности сервера баз данных достаточно перезапустить обе службы [очерёдность перезапуска важна?]. После перезапуска служб, процесс «base.exe» стартует автоматически [его запускает какая-то из служб?].
-
bombording
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
Iska, Большое спасибо! Всё работает как надо.
-
El Sanchez
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
Цитата bombording:
её нужно ставить на выполнение в планировщик
Это просто команда настройки службы, выполняется 1 раз. А там уже все будет зависеть от самой службы и ее взаимодействия с SCM.
её нужно ставить на выполнение в планировщик
Любой язык - [решено] Скрипт мониторинга службы или порта
Это просто команда настройки службы, выполняется 1 раз. А там уже все будет зависеть от самой службы и ее взаимодействия с SCM.
-
bombording
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
El Sanchez, спасибо за наводку на sc failure. Я сейчас знакомлюсь с синтаксисом.
Я так понял у данной комманды нет рассписания выполнения и её нужно ставить на выполнение в планировщик?
Я так понял у данной комманды нет рассписания выполнения и её нужно ставить на выполнение в планировщик?
-
El Sanchez
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
bombording, всё упирается в определение, что Вы подразумеваете под: «некая служба, … которая иногда зависает...» и «служба в случае недоступности…». Как Вы определяете. что она «зависает» и что она «недоступна»?
Цитата bombording:
И как быть, к примеру, если мне нужно что бы служба была выключена в 2 часа ночи на время архивации.
Останавливайте её из того же задания, что и архивация, после — запускайте.
Я чую, Вам надо почитать что-нибудь по службам: что это такое, как работает, как с ними взаимодействовать.
Цитата bombording:
И как быть, к примеру, если мне нужно что бы служба была выключена в 2 часа ночи на время архивации.
Любой язык - [решено] Скрипт мониторинга службы или порта
Останавливайте её из того же задания, что и архивация, после — запускайте.
Я чую, Вам надо почитать что-нибудь по службам: что это такое, как работает, как с ними взаимодействовать.
-
bombording
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
Цитата bombording:
Тоесть если я хочу, что бы служба в случае недоступности в течении 20 секунд, перезапускалась автоматически. Я должен выполнить ??
bombording, параметр reset определяет через сколько секунд беспербойной работы службы счетчик ошибок сбрасывается в 0 и этот период должен быть гораздо больше, чем 20 с. Сбрасывайте через несколько часов или раз в сутки.
А в actions у вас записано: при первом сбое рестарт службы с задержкой в 5 с., можно дописать еще действия для второго сбоя и последующих.
Цитата bombording:
если мне нужно что бы служба была выключена в 2 часа ночи на время архивации. Не запустится ли она автоматически после выключения??
Ну и останавливайте по расписанию через планировщик. Остановленная служба - нормальное состояние, а не ошибочное.
Тоесть если я хочу, что бы служба в случае недоступности в течении 20 секунд, перезапускалась автоматически. Я должен выполнить ??
Любой язык - [решено] Скрипт мониторинга службы или порта
bombording, параметр reset определяет через сколько секунд беспербойной работы службы счетчик ошибок сбрасывается в 0 и этот период должен быть гораздо больше, чем 20 с. Сбрасывайте через несколько часов или раз в сутки.
А в actions у вас записано: при первом сбое рестарт службы с задержкой в 5 с., можно дописать еще действия для второго сбоя и последующих.
Цитата bombording:
если мне нужно что бы служба была выключена в 2 часа ночи на время архивации. Не запустится ли она автоматически после выключения??
Любой язык - [решено] Скрипт мониторинга службы или порта
Ну и останавливайте по расписанию через планировщик. Остановленная служба - нормальное состояние, а не ошибочное.
-
Iska
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
Iska,
Вообщем ситуация такая. Имеется сервер баз данных "Первасив" он имеет две службы и 1 процесс.
Иногда, пользователи с привилегиями могут создать в базе данных такой запрос... который выводит из строя базу данных.
Под выводом из строя подразумевается то что процесс сервера баз данных убивается. Службы при этом находятся в состоянии Started.
Если перезапустить службы, процесс сервера баз данных запускается и пользователи снова могут работать с базой.
Сейчас стоит задача отслеживать падение базы данных и перезапускать службы в случае выхода из строя базы.
El Sanchez,
А если мне необходимо одно действие на все сбои службы.
И непонятно, как sc failure определяет ошибочное состояние, если службы находятся в состоянии Started при сбое.
Вообщем ситуация такая. Имеется сервер баз данных "Первасив" он имеет две службы и 1 процесс.
Иногда, пользователи с привилегиями могут создать в базе данных такой запрос... который выводит из строя базу данных.
Под выводом из строя подразумевается то что процесс сервера баз данных убивается. Службы при этом находятся в состоянии Started.
Если перезапустить службы, процесс сервера баз данных запускается и пользователи снова могут работать с базой.
Сейчас стоит задача отслеживать падение базы данных и перезапускать службы в случае выхода из строя базы.
El Sanchez,
А если мне необходимо одно действие на все сбои службы.
И непонятно, как sc failure определяет ошибочное состояние, если службы находятся в состоянии Started при сбое.
-
El Sanchez
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
Цитата bombording:
И непонятно, как sc failure определяет ошибочное состояние, если службы находятся в состоянии Started при сбое.
Это и есть главный вопрос: как Вы определяете, что нужен перезапуск служб?
И непонятно, как sc failure определяет ошибочное состояние, если службы находятся в состоянии Started при сбое.
Любой язык - [решено] Скрипт мониторинга службы или порта
Это и есть главный вопрос: как Вы определяете, что нужен перезапуск служб?
-
bombording
Re: Любой язык - [решено] Скрипт мониторинга службы или порта
Iska,
Вообщем ситуация такая. Имеется сервер баз данных "Первасив" он имеет две службы и 1 процесс.
Иногда, пользователи с привилегиями могут создать в базе данных такой запрос... который выводит из строя базу данных.
Под выводом из строя подразумевается то что процесс сервера баз данных убивается. Службы при этом находятся в состоянии Started.
Если перезапустить службы, процесс сервера баз данных запускается и пользователи снова могут работать с базой.
Сейчас стоит задача отслеживать падение базы данных и перезапускать службы в случае выхода из строя базы.
El Sanchez,
А если мне необходимо одно действие на все сбои службы.
И непонятно, как sc failure определяет ошибочное состояние, если службы находятся в состоянии Started при сбое.
Вообщем ситуация такая. Имеется сервер баз данных "Первасив" он имеет две службы и 1 процесс.
Иногда, пользователи с привилегиями могут создать в базе данных такой запрос... который выводит из строя базу данных.
Под выводом из строя подразумевается то что процесс сервера баз данных убивается. Службы при этом находятся в состоянии Started.
Если перезапустить службы, процесс сервера баз данных запускается и пользователи снова могут работать с базой.
Сейчас стоит задача отслеживать падение базы данных и перезапускать службы в случае выхода из строя базы.
El Sanchez,
А если мне необходимо одно действие на все сбои службы.
И непонятно, как sc failure определяет ошибочное состояние, если службы находятся в состоянии Started при сбое.