Как (или я должен) отслеживать или обеспечивать работу программного обеспечения для мониторинга?

Я пишу программное обеспечение для мониторинга системы/сервиса, и моя основная цель — сделать его максимально отказоустойчивым.

Прямо сейчас у меня есть двоичный скрипт, который запускает основной процесс, который отбрасывает дочерние процессы, которые выполняют фактический мониторинг и отчетность. Мастер управляет только перезапуском дочерних элементов в случае их сбоя и некоторой связью между дочерними элементами.

Учитывая этот уровень отказоустойчивости, целесообразно ли добавить еще один уровень мониторинга для основного процесса?

Предположим, что мой код написан на языке высокого уровня (python и др.), имеет ли смысл обернуть мое программное обеспечение в initscript или shellscript, который его отслеживает, или это будет избыточно?


person abject_error    schedule 23.05.2013    source источник


Ответы (1)


Это напоминает мне этого старого червя, состоящего из двух процессов. Если один из процессов был убит, другой перезапустит его, и наоборот.

Если это программное обеспечение должно работать на Linux, вы можете просто использовать /etc/inittab с опцией respawn.

person Gung Foo    schedule 23.05.2013
comment
Я тоже стремлюсь к Windows. Кроме того, этот червь было бы ужасно сложно закодировать, поскольку в Linux только родительский процесс может перезапустить дочерний процесс. - person abject_error; 23.05.2013