Как использовать Nagios для мониторинга файла журнала, который генерирует случайный идентификатор - PullRequest
0 голосов
/ 19 ноября 2018

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

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

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

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

Вот мой скрипт, где Nagios проверяет путь Logfile :

Veriables:

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.log ....

Я получаю следующий вывод в nagios:

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

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

Любые идеи будут высоко оценены.

1 Ответ

0 голосов
/ 15 декабря 2018
--tag failorder --type rotating::uniform --logfile /test/dummy \
--rotation "james-${date +"%F"}_\d+-${HOSTNAMEIP}-appserver0.log"

Если вы добавите «-v», вы сможете увидеть, что происходит внутри. Тип вращающийся :: равномерный сообщает check_logfiles, что схема ротации не делает различий между текущим журналом и повернутыми архивами в отношении имени файла. (Вы часто находите что-то вроде xyz..log). Что делает check_logfile, так это заглядывает в каталог, где должны находиться файлы журналов. Из / test / dummy он использует только часть каталога. Затем он берет все файлы из / test и сравнивает имена файлов с аргументом --rotation. Те файлы, которые совпадают, сортируются по времени модификации. Таким образом, check_logfiles знает, какие из рассматриваемых файлов были недавно обновлены, и самым последним считается текущий файл журнала. И внутри этого файла check_logfiles ищет критический шаблон. Герхард

...