Назад | Перейти на главную страницу

Проверка выполнения задач

Я не знаю, как это объяснить. Когда у кого-то появляются десятки или сотни серверов, каждый из которых выполняет какие-то периодические задания (в основном из cron), возникает проблема обеспечения (или как можно более полной уверенности), что эти задачи действительно выполняются. Я имею в виду, что я получаю электронное письмо, если задание не выполняется, и не получаю почту, если оно выполнено успешно, но также не получаю почту, если оно не выполняется по какой-либо причине. Конечно, я мог бы изменить их и заставить их отправлять электронную почту "успешно запущено", только чтобы получить поток писем, которые большую часть времени я не хочу видеть.

Обычно я хочу получать уведомления, только если:

Есть ли способ сделать это?

Я предполагаю, что вы используете систему UNIX / LINUX, если используете cron, поэтому самый простой способ отслеживать, "задача не запущена в ожидаемое время", - это удаленная регистрация на одном (?) Сервере журнала, что-то вроде этого в вашем syslog.conf:

cron.!=info;   @logserver.yourdomain.tld

Затем вы можете просмотреть эти журналы на наличие ошибок или просто добавить сценарий анализа журналов для выполнения этой работы.

Но в любом случае всегда будет вероятность, что ведение журнала прервано, и вы просто не получите сообщений об ошибках.

Не думаю, что с этим что-то уже сделано. Вы можете настроить все задачи для входа в один файл с их статусом: отметка времени, сервер, задача, статус, другая информация.

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

Таким образом, вы не будете завалены электронными письмами, время от времени это будет только одно письмо.