Goaccess

Goaccess — функциональный анализатор логов, который может работать с ними в реальном времени, визуализировать информацию и отдавать её в разных форматах. Доступен для установки на большинстве популярных дистрибутивов прямо из репозиториев.

Смотреть будем на CentOS 7, так что для установки подключим EPEL репозиторий и поставим goaccess оттуда.

# yum install epel-release
# yum install goaccess

И после установки просто запускаем утилиту:

# goaccess ./data/logs/sysadmin.pm.access.log

goaccess

Если конфиг goaccess ранее настроен не был, нам предложат указать формат логов, который нужно использовать при анализе и открытии. Если кастомный формат логов не настраивался на сервере, то скорее всего для просмотра достаточно будет выбрать NCSA Combined Log Format, либо Common Log Format (CLF). При необходимости, нажав здесь с, d или t, можно скорректировать формат лога для работы. Жмём Enter и если с форматом лога ошибок не возникло, утилита проанализирует лог и отобразит результаты.

В случае если была получена ошибка вида:

Format Errors - Verify your log/date/time format

Нужно скорректировать формат логов, либо выбрать другой, из предложенных.

goaccess

Для продолжения работы имеет смысл заглянуть в конфигурационный файл /etc/goaccess.conf и заранее задать там формат времени, даты и лога:

...
# The following time format works with any of the
# Apache/NGINX's log formats below.
# 
time-format %H:%M:%S
...
# The following date format works with any of the
# Apache/NGINX's log formats below.
date-format %d/%b/%Y
...
# NCSA Combined Log Format
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Примеры работы Goaccess с логами.

Работаем с логом в реальном времени:

# tail -f ./data/logs/sysadmin.pm.access.log | goaccess -

Обрабатываем несколько логов одновременно:

# goaccess ./data/logs/sysadmin.pm.access.log ./data/logs/sysadmin.pm.access.log-20180115

Исключаем IP из анализа:

# goaccess ./data/logs/sysadmin.pm.access.log-20180116 -c -e 12.34.5.43 -e 2001:40d0:203:1200::2f10

Считаем статистику относительно определённых расширений файлов:

# awk '$7~/\.html|\.php/' ./data/logs/sysadmin.pm.access.log | goaccess -

Работаем со всеми заархивированными логами:

# zcat ./data/logs/access.log.*.gz | goaccess access.log -

Выводим данные в .html или .json форматах:

# goaccess ./data/logs/sysadmin.pm.access.log -a -o report.html
# goaccess ./data/logs/sysadmin.pm.access.log -a -d -o report.json

Больше примеров можно найти в документации проекта.

@SysadminNotes | https://sysadmin.pm

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *