Это файл журнала, который я хочу отслеживать:
/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 использует эту символическую ссылку.