У меня есть процесс, работающий в Windows и Linux, мне нужна сторожевая собака, которая пришлет мне электронное письмо, если какой-то процесс не работает более N секунд / минут, а также эта сторожевая собака попытается запустить его через N раз и N попыток, есть ли такая вещь?
Если это служба в Windows (похоже, так и должно быть), вы можете использовать вкладку восстановления, чтобы перезапустить ее и настроить сценарий для отправки вам электронной почты
http://thommck.files.wordpress.com/2011/03/image1.png
Для Linux:
Вот простой сценарий bash, чтобы узнать, запущен ли процесс http://www.savelono.com/linux/bash-a-simple-script-to-check-if-a-process-is-running.html
Nagios - это решение, которое подходит для обеих сред, но требует небольшой настройки.
Возможно, вы сможете использовать для этого Nagios. Nagios обязательно будет отправлять вам интересующие вас уведомления вверх / вниз. Вы можете указать, как скоро он будет уведомлять вас, изменив интервалы повторной проверки и уведомлений. Вы также можете загрузить дополнения, которые также могут запускать скрипт, если приложение не работает. Я лично не использовал эту часть сценариев, но читал о них в нескольких местах.
Ex. Процесс X перестает работать в Linux. Как только Nagios определит, что этот сервер остановлен на Y минут, он затем выполнит предопределенный сценарий, такой как "/ sbin / service service_X restart"
Хотя Nagios хорош для мониторинга процессов и отправки вам уведомлений, ему не хватает возможности выполнять действия в случае сбоя (без надстроек), и его немного сложно настроить.
Монит может выполнять некоторые действия в ошибочных ситуациях, и его намного проще настроить. Таким образом, вы можете настроить его для перезапуска процессов в случае их сбоя или использования большого количества ресурсов.
Он не предоставляет центрального интерфейса для управления несколькими хостами, как это делает nagios. M / Monit делает это, но не бесплатно.
Для linux есть snmpd
. Для окон это также доступно. По крайней мере, в linux - если он скомпилирован с «правильными» расширениями, вы можете определять запускаемые действия для наблюдения за процессами.