Мне нужно разработать историю службы в нагиосе. Итак, я щелкнул службу, а затем «Просмотреть историю этой службы», но получил сообщение об ошибке: «В текущем файле журнала не было найдено никакой информации истории для этой службы». Я просмотрел наши файлы журналов в / usr / local / nagios / var и нашел nagios.log, но файл обновляется один раз в день, что кажется разумным. В этом каталоге есть много других временных файлов с именами в формате nagios.tmp [0-9a-z] {6}, которые, как я полагаю, являются перенесенными журналами для других дней, но они находятся в другом, менее приемлемый формат. Я думаю, что nagios смотрит только на первый файл журнала, а затем отказывается.
Итак, как мне просмотреть всю историю через веб-интерфейс, сохранив при этом ротацию журнала?
Я бы порекомендовал запустить что-то вроде следующего (вы можете адаптировать то, что вы на самом деле используете grep, чтобы сделать поиск более ограниченным, и / или перенаправить второй grep после первого, который выполняет дальнейший выбор строк перед числовым /-n
Сортировать):
grep -rni "HOST;SERVICE" /usr/local/nagios/var | sort -n | perl -pe 's/(\d+)/localtime($1)/e' | gzip > /tmp/myservice.gz
Эта команда:
/usr/local/nagios/var
для этой строки (HOST;SERVICE
)/tmp/myservice.gz
для проверки с zless
Эта команда может занять очень много времени, поэтому вы можете поэкспериментировать с тем, какие файлы на самом деле использовать grep (возможно, 2019*
), если вы хотите ограничить область видимости, и / или вы также можете использовать grep по метке времени UNIX с помощью регулярного выражения.