Проверка выполнения процесса с помощью AWS Cloudwatch

Я пишу приложение (в Go), которое будет непрерывно работать на сервере и выполнять различные задачи. Некоторые из них являются веб-службами, а другие-внутренними службами с экономным интерфейсом. Также будет несколько пакетных процессов.

Я хотел бы следить за тем, как выполняются эти процессы, и сделать это с помощью AWS Cloudwatch.

Будет ли простая реализация следующим образом?:

Раскрутите отдельный рабочий поток, где я в основном публикую пользовательскую метрику cloudwatch каждые 5 минут, которая говорит»Я все еще работаю». I затем создать сигналы тревоги, которые срабатывают, если сообщения перестают быть получены каждые 5 минут?

Каковы лучшие практики для этого типа вещей? Обратите внимание, что я не спрашиваю о мониторинге доступности веб-сервисов, что более тривиально.

Спасибо

1 ответ

  1. Одно предложение выполнить задание cron, которое выполняет сценарий каждые 5 минут. В этот скрипт можно вложить всю свою логику.

    Для начала я опубликую одну метрику (с измерениемCount), которая отправляет количество процессов/служб, запущенных на экземпляре. Если порог ниже требуемого количества процессов / служб, можно настроить Cloudwatch для отправки сигнала тревоги. После того как эта базовая настройка заработает, ее можно развернуть, чтобы опубликовать более подробные (множественные) метрики.