Мне нужно обработать историю службы в nagios. Итак Я щелкнул службу, а затем «Просмотреть историю этой службы», но получил сообщение об ошибке: «В текущем файле журнала не было найдено никакой информации истории для этой службы». Я просмотрел наши файлы журнала в / 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 также с регулярным выражением.