Как отследить, произошел ли сбой удаленного процесса? - PullRequest
1 голос
/ 25 февраля 2020

У меня есть большое количество экземпляров от нескольких облачных провайдеров. Каждый из них запускает одну Java программу. Я хочу проверить, что все эти Java программы работают и не потерпели крах, и если / когда одна из них падает, я хочу получить уведомление об этом.

В настоящий момент у меня взломан - общее решение, которое я запускаю со своего локального компьютера, которое будет l oop через массив всех IP-адресов и отправлять команду через S SH каждому из них, чтобы проверить ps -ef и подсчитать число Java процессы запущены. Если это число равно нулю, я выскажу что-нибудь на экране, чтобы предупредить меня.

Есть ли лучшее решение? В идеале я мог бы использовать инструмент в стиле Zabbix, чтобы справиться с этим для меня, но я не знаю, существует ли что-то, что удовлетворяет эту потребность.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Вы можете сделать так, чтобы все ваши службы записывали метрику состояния c в метрики CloudWatch и создавали тревогу, если какая-либо из них не сообщает о состоянии. В этом примере показано использование метрик CloudWatch для отчета по linux счетчикам производительности.

0 голосов
/ 25 февраля 2020

Если в облаке запущено большое количество приложений, вы можете рассмотреть возможность использования инструментов мониторинга в облаке, а не изобретать велосипед. Я уверен, что вы хотели бы контролировать больше, чем просто состояние вверх / вниз процесса. Существует множество инструментов облачного мониторинга, которые позволяют контролировать как платформу (машины), так и процессы. Кроме того, различные типы уведомлений могут быть сконфигурированы в зависимости от необходимости.

Я бы посоветовал вам взглянуть на такие решения для мониторинга в облаке, как New Relic / Datadog / Pager Duty / et c. Если это коммерчески целесообразно, тогда я настоятельно рекомендую вам использовать их.

...