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

Как использовать Nagios для отслеживания файла журнала, который генерирует случайный идентификатор

Это файл журнала, который я хочу отслеживать:

/test/James-2018-11-16_15215125111115-16.15.41.111-appserver0.log

Я хочу, чтобы Nagios прочитал этот файл журнала, чтобы я мог отслеживать конкретную строку.

Проблема с 15215125111115 это случайный идентификатор, который генерируется

Вот мой сценарий, в котором Nagios проверяет наличие Лог-файл дорожка:

Проверяемые:

HOSTNAMEIP=$(/bin/hostname -i)
DATE=$(date +%F)

..

CHECK = $ (/ usr / lib64 / nagios / plugins / check_logfiles / check_logfiles --tag = 'failorder' --logfile = / test / james - $ {date + "% F"} _- $ {HOSTNAMEIP} -appserver0. журнал ....

В nagios я получаю следующий результат:

could not find logfile /test/James-2018-11-16_-16.15.41.111-appserver0.log

15215125111115 Этот номер всегда генерируется случайным образом, но я не знаю, как заставить nagios идентифицировать его. Есть ли способ добавить переменную для этого или чего-то еще? Я попытался добавить звездочку «*», но это не сработало.

Будем очень признательны за любые идеи.

Я бы запустил отдельный скрипт через cron, который идентифицирует самый новый файл журнала и создает на него символическую ссылку (с названием что-то вроде «latest.log»). Есть несколько способов сделать это (используя ls -rt | tail или find -mtime, например).

Если новый файл журнала создается каждый день в одно и то же время, запланируйте его запуск сразу после этого. В противном случае запускайте его каждые (минуту, 5 минут или что угодно), проверяя наличие нового файла журнала.

... А затем пусть check_logfiles использует эту символическую ссылку.