Мы используем этот подход для подобных задач. Во-первых, задача должна записать метку времени в файл в S3 или EFS. Этот файл является внешним доказательством того, что задание завершено Затем вам понадобится служба на основе http, которая будет считывать этот файл и вычислять, является ли отметка времени действительной, т.е. была ли она обновлена за последний час. Это может быть простой скрипт php или nodejs. Этот процесс открыт для общедоступной сети, например, https://example.com/heartbeat.php. Этот сценарий возвращает код ответа http 200, если файл отметки времени присутствует и действителен, или 500, если нет. Затем мы используем StatusCake для отслеживания URL-адреса и уведомляем нас через интеграцию Pager Duty в случае возникновения инцидента. Мы обычно включаем сообщение в ответ, чтобы человек мог понять природу ошибки.
Это может показаться утомительным, но надежным. Любой сбой в любом месте линии будет немедленно уведомлен. StatusCake имеет отличный бесплатный уровень обслуживания. Этот подход может использоваться для мониторинга любой критической задачи таким же образом. Мы узнали о том, как критические задачи и процессы типа cron могут завершиться неудачей по ряду причин, и вы хотите знать, прежде чем они станут критичными для клиента. 24x7x365 мониторинг этих типов задач необходим, и помогает нам лучше спать по ночам.
Примечание. У нас всегда есть ежедневное системное тестовое событие, которое запускает уведомление о дежурном режиме в 9 утра каждый день. Для настоящих параноиков это гарантирует, что сам пейджинговый долг каким-то образом не сработал, например, неправильная настройка и т. Д. Наша служба поддержки знает, что если они не получают тестовое оповещение каждый день, в самой системе уведомлений есть проблема. Дежурный техник должен признать инцидент согласно СОП. Если они не знают, то это переходит на следующий уровень, и мы знаем, что нам нужно поговорить о времени отклика. Это держит людей на ногах. Это последний элемент, который обеспечит надежную инфраструктуру мониторинга.