- PVSM.RU - https://www.pvsm.ru -

Анализ логов сервера с помощью GoAccess

image
Не так давно мы [1] натолкнулись на утилиту GoAccess, которая позволяет анализировать логи веб серверов и строить отчеты. Утилита написана на C и имеется почти во всех репозиториях дистрибутивов Linux. Адрес проекта [2].

В данной заметке не будет ничего революционного, лишь краткое HOWTO, большую часть из которого вы сможете найти в документации.

И так по порядку:

1. Установка

yum  install goaccess

2. Настройка

В файле /etc/goaccess.conf раскомментируем строки для анализа логов nginx:

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" 

3. Анализ логов

Результат анализа может быть получен в двух режимах, в консольном(интерактивном), и в виде отчета. Программа поддерживает несколько видов отчетов, таких как html, json и csv

Самый простой случай запуска программы, для анализа текущего лога:

goaccess -a  -f <log_file>

В этом случае мы получим анализ текущего лога в таком виде:
image
По параметрам можно перемещаться с помощью TAB.

А веб-отчет будет выглядеть так:
image

А теперь рассмотрим случай когда нам надо анализировать не весь лог, а только его определенную часть:

1. Анализ логов за последние 2 часа:

sed -n '/'$(date '+%H:%M:%S' -d '2 hours ago')'/, $ p' <log_file>  | goaccess -a 

2. Анализ за последние 2 дня:

sed -n '/'$(date '+%d/%b/%Y' -d '2 day ago')'/, $ p' <log_file>  | goaccess -a

3. Анализ за определенную дату:

sed -n '/18/Jan/2016/,/19/Jan/2016/ p' <log_file>  | goaccess -a 

4. Получение html отчета:

goaccess -a  -f <log_file> > report.html
Автор: системный администратор компании [1] Magvai69 [3]

Автор: Centos-admin.ru

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/109896

Ссылки в тексте:

[1] мы: http://centos-admin.ru

[2] Адрес проекта: http://goaccess.io/

[3] Magvai69: https://habrahabr.ru/users/magvai69/

[4] Источник: https://habrahabr.ru/post/275667/