Анализатор / анализатор логов в Unix - PullRequest
3 голосов
/ 11 марта 2010

Какой популярный инструмент люди используют в Unix для анализа / анализа файлов журнала? Делая подсчет, найдите уникальные, выделите / скопируйте определенные строки, которые имеют определенные шаблоны. Посоветуйте, пожалуйста, некоторые инструменты или ключевое слово. Поскольку я считаю, что подобные вопросы должны задаваться ранее, но я не имею никакого представления о ключевых словах. Спасибо.

Ответы [ 5 ]

4 голосов
/ 11 марта 2010

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

Одним из наиболее практичных простых изменений, которые я сделал в анализе веб-журналов, было оставить формат журнала NCSA по умолчанию, созданный веб-сервером nginx, вместо этого использовать табуляцию в качестве разделителя полей.

Внезапно я смог использовать все примитивные текстовые утилиты Unix для быстрого поиска, но особенно awk! Печатать только строки, где поле user-agent содержит Googlebot:

awk 'BEGIN {FS="\t"}  $7 ~ /Googlebot/ { print; }' < logfile

Найти количество запросов для каждого уникального запроса

awk 'BEGIN {FS="\t"}  { print $4; }' < logfile | sort | uniq -c | sort -n

И, конечно, множество комбинаций для поиска конкретных посетителей.

3 голосов
/ 11 марта 2010

Для регулярной ночной проверки logwatch имеет несколько различных сценариев в /usr/share/logwatch/scripts/services, которые проверяют определенные вещи (например, вещи веб-сервера, сервер FTP, вещи, связанные с sshd и т. Д.) В системном журнале. Установка по умолчанию включает большинство из них, но вы можете включать / отключать по своему усмотрению или даже писать свои собственные сценарии.

Для просмотра в реальном времени есть Мультитейл .

2 голосов
/ 20 июля 2011

Возможно, вы захотите попробовать lnav , анализатор логов на основе curses. Он имеет большинство функций, которые можно ожидать от парсера журналов: хронологическое расположение сообщений журнала от нескольких файлов журнала, поддержка нескольких форматов журнала, выделение сообщений об ошибках / предупреждений, горячие клавиши для перехода между сообщениями об ошибках / предупреждениях, поддержка SQL запросы и многое другое. Посмотрите на веб-сайт проекта для скриншотов и подробного списка функций.

1 голос
/ 11 марта 2010

Посмотрите на некоторые из парсеров общего журнала, перечисленных здесь . Если вы используете что-то вроде syslog, вы, вероятно, также можете получить собственный анализатор / анализатор. В противном случае для простых поисков достаточно любого языка сценариев, например perl, python или даже awk.

0 голосов
/ 11 марта 2010

Может использоваться любой язык программирования, который позволяет открывать и читать файлы, выполнять строковые / текстовые манипуляции, например, Perl, Python, (g) awk, Ruby, PHP, даже Java и т. Д. Они поддерживают модули для форматов файлов, которые вы парсинг, например csv и т. д.

...