Это была очень трудоемкая задача. И да, это, безусловно, нужно было написать в сценарии, если вы собираетесь искать несколько строк в нескольких разных журналах одновременно. Но мне недавно пришлось это сделать, и это было довольно больно. Тем не менее, это сделано и готово и может быть загружено по следующей ссылке:
Скачать скрипт поиска по журналу
Как это работает, довольно просто.
Сценарий 1: Мониторинг одной строки в одном файле журнала
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open' '.' 1 2 single_errCheck -ndshow
Сценарий 2. Мониторинг НЕСКОЛЬКИХ строк в одном файле журнала
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_errCheck -ndshow
Сценарий 3: Мониторинг одной / нескольких строк в нескольких файлах журнала
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_err_multi_logCheck -ndshow
Примечания:
_P_ означает ИЛИ - Он заменяет трубу "|" символ, потому что менее вероятно, что вам придется искать строку, содержащую "_P_". Если вы не хотите вводить «_P_», вы можете просто заменить _P_ на «|».
При использовании этого скрипта параметры, которые вы будете часто менять:
- Файл журнала или каталог журнала для мониторинга
- Возраст файла журнала должен быть установлен для того, чтобы его можно было контролировать .. я не отслеживаю и не обнаруживаю файл журнала, который имеет временную метку более 60 минут
- Строки (ы) / шаблон (ы), которые вы хотите наблюдать
- Тег - это второй, последний аргумент, который вы должны указать. Он записывает статистику о файлах журналов, которые вы отслеживаете в / var / tmp / logXray
- Опция журнала -ndshow - это параметр, который вы хотите использовать, если хотите вывести записи из найденных журналов, соответствующие указанным шаблонам. Если вы просто хотите увидеть общее количество найденных шаблонов, просто замените -ndshow на -ndfoundmul.
Используя '-ndfoundmul', вы получите вывод, похожий на:
[root@dgphxtest001]# ./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 blahblahA -ndfoundmul
OK: [/var/log/messages][1] /var/log/messages:P=(can_t_open=0 ntpd_stat=0)_F=(117s)_R=(228,228=0)
Решение проблемы оригинального плаката: сканирование нескольких строк в нескольких файлах журнала
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'fatal_P_error_P_critical_P_failure_P_warning' '.' 1 2 multierr_logCheck -ndshow
ОС: это было проверено на Ubuntu и Red Hat
grep
может принимать более одного аргумента файла.