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

Лучший способ проверить, что cronjob выполняется с уведомлением Nagios при сбое?

У меня есть задание cron, которое запускается каждое утро и при успешном запуске создает выходной файл. Я хотел бы иметь последующий процесс, который проверяет, что задание выполняется правильно, или запускает предупреждение Nagios, если это не так.

Я чувствую, что могу сделать эту работу с проверкой службы Nagios check_file_age, которая ограничивает проверку только один раз каждое утро путем тщательного построения check_interval и check_period в службе def, но мне интересно, есть ли более простой способ?

На ум приходят несколько вариантов:

  1. Используйте результаты пассивной проверки, чтобы сценарий проверки сообщал Nagios, что нужно активировать оповещение, и если вы хотите узнать, не запускается ли сценарий проверки, установите интервал актуальности чуть более 24 часов и используйте команду активной проверки, которая всегда выполняется. критический; или
  2. Пусть само задание cron отправит результат пассивной проверки OK, когда оно успешно завершится, но не будет ничего делать, когда оно не удастся. Затем, снова, проверка свежести с помощью автокритической активной команды проверки, чтобы предупредить, когда все не в порядке.

Возможно, посмотрите на то, как cronjob выводит код ошибки в журнал, а nagios посмотрите журнал. Если cronjob сообщает об ошибке, то бум. Или, что немного проще, но менее точно, пусть последняя строка вашего cronjob скрипта записывается в файл журнала. Попросите nagios проверить дату изменения файла журнала. Если это длится более 25 часов, начните с нуля.