Подавлять сообщения об ошибках от cron, если задания не всегда выполняются
У нас есть куча заданий cron, которые иногда терпят неудачу, например, из-за сбоя в сети. Лишь в редких случаях они терпят неудачу последовательно (например, из-за ошибки или неправильной конфигурации).
Я хотел бы получать только сообщения об ошибках в последнем случае и подавлять cron-сообщения, когда работа только иногда терпит неудачу, чтобы бороться с "усталостью пейджера", то есть больше не заботиться о письмах, потому что большинство из них так или иначе не требуют действий,
Существуют ли какие-либо инструменты (например, оболочки для работы cron), которые это делают? Как другие организации обрабатывают большое количество серверов Linux с помощью заданий cron?
1 ответ
Работы под которыми вы работаете cron
должен обрабатывать ожидаемые ошибки. Это необычно иметь cron
работы, которые периодически терпят неудачу. Исправьте программы, чтобы они не выходили из строя. Это может означать, что вам нужно обернуть их в логику повторных попыток, которая ждет короткий промежуток времени, а затем повторяет попытку один или два раза. Тем не менее, мне не очень нравится повторное решение.
Если у вас регулярно возникают сбои из-за "сбоя в работе сети", устраните неполадки в сети. Если это по другим причинам, решите эту проблему.
Если вы хотите получать оповещения только в том случае, если задание cron больше не работает (требуется определение), не оповещайте о сбое задания cron. Создайте процесс мониторинга, который может обнаружить проблему. Это может быть сложно. Если вы отслеживаете процесс обновления, может быть период, когда нет обновлений, которые вызывают ложное срабатывание на мониторе, который гарантирует, что обновления выполняются.
Убедитесь, что вы запланировали свои задания cron, чтобы у вас не было одновременно запущенных конфликтующих заданий. График графика может помочь.
Возможно, вам удастся собрать монитор для ваших важных заданий, который подсчитывает сбои, успехи и выдает предупреждения, если было слишком много последовательных сбоев. Это потребует дополнительного шага в работе, чтобы сообщить о своем статусе.