мы используем check_log из nagios-plugins для мониторинга журналов, но проблема в том, что с большими файлами журнала, даже если мы чередуем журналы ежечасно, плагин вызывает значительные всплески в памяти и использовании процессора.
Это потому, что check_log использует diff для сравнения старой версии файла журнала с текущей.
Вопрос в том, что без необходимости проверять источник всех альтернатив check_log, есть ли какие-либо, которые не используют diff, но, например, следует за последним проверенным номером ткани и выбирают оттуда проверку?
check_logfiles плагин - это то, что вы ищете:
Когда происходит такая ротация файла журнала, check_logfiles обнаруживает это и анализирует строки заархивированного файла журнала, даже если он сжат.
Проверка файлов журналов по расписанию - не очень эффективный подход. Хотя можно было бы написать плагин, который бы отслеживал положение последнего смещения в файле и обрабатывал повороты, гораздо проще было бы запустить демон фильтрации для файлов журнала - там много таких инструментов доступный.
(вы все еще можете обрабатывать выходные данные таких инструментов, используя nagios для отчетов / отслеживания)