У меня проблема с проверкой содержимого Monits. Я знаю, что могу проверить файл журнала вот так
check file test.log with path logs/test.log
if not match "something" for 5 cycles then alert
Но в файле журнала так много переменных, и он очень быстро растет, поэтому он предупреждает меня о каждой строке. Проблема в том, что мне нужно игнорировать все остальное. Я знаю, что могу сделать это с помощью переменной игнорирования в содержимом проверки монитора, но это мне не поможет, потому что есть числа, которые меняются каждую секунду. Мне нужен способ проверить этот файл журнала, размер файла и временная метка мне не помогут, потому что, если база данных потеряна, файл журнала все еще растет, потому что он дает мне базу данных ошибок, исчезнувшую. Теперь мне нужен способ отслеживать это, чтобы я знал, что мои сообщения отправляются пользователям. Есть ли у кого-нибудь хорошее решение для этого. Мне это очень нужно.
Частичное решение этой проблемы - привязать ваш поиск.
check file messages with path /var/log/messages
ignore match ".*monit"
if match "trying to execute job" then alert
Или, может быть, доработайте свое регулярное выражение или найдите лучшую или более репрезентативную строку. Можете ли вы добавить журналы приложений, которые могут более четко отображать неисправности?
Вы в основном ищете что-то с такой частотой с «Если этого не происходит в течение 5 циклов (5 минут), тогда предупредите меня», возможно, лучший подход - это общий монитор журнала бездействия. Monit не может быть решением.