Скрипт для просмотра лог файлов

1

Когда я просматриваю журналы на сервере, я хочу получить краткий обзор тех проблем, с которыми я столкнулся, прежде чем я углубился. Обычно я использую нижний однострочный слой, который уменьшает количество строк журнала, которые мне нужно пересмотреть, делая каждую строку более общей и сохраняя только те, которые уникальны.

Один лайнер

cat /var/log/apache2/error.log | sed 's/.*] \(.*\)/\1/' | sed 's/[0-9]*//g' | sort | uniq

объяснение

| sed 's/.*] \(.*\)/\1/' | sed 's/.*] \(.*\)/\1/': удаляет все, что содержится внутри и до последней группы скобок, которая обычно соответствует клиентской/системной информации, такой как [Mon Dec 05 12:01:03 2011] [error] [client abcd]

| sed 's/[0-9]*//g' | sed 's/[0-9]*//g': удаляет числа

| sort | uniq | sort | uniq: только поддерживает разные строки.

Чтобы дать вам представление, в /var/log/apache2/error.log который содержит около 500 строк, это фильтрует до 25 строк. Если вы используете более общие или похожие записи в журнале, тем больше эффективнее однострочный.

Теперь я ищу сценарий (может быть, bash, perl, python или что-то еще на самом деле), которые могли бы сделать то же самое, но немного более продвинутые, чтобы быть еще более эффективными (например, обфускать пути к файлам, алфавитные идентификаторы...) и полезно (укажите количество вхождений каждого сообщения,% по сравнению с общим количеством журналов...).

Вы знаете сценарии, которые это делают?

  • 0
    взгляните на ScanErrLog, если вы еще этого не сделали
  • 1
    -1 В вашем любимом поисковике можно найти множество анализаторов логов. Не нужно изобретать велосипед.
Показать ещё 2 комментария
Теги:
logging

1 ответ

4
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню