User Tools

Site Tools


goaccess

goaccess

Установка на Ubuntu 20.04.3

Модули

В программе доступны следующие модули:

  • Unique visitors per day - Including spiders – количество уникальных посетителей в день, включая пауков.
  • Requested Files (URLs) – запрашиваемые URL.
  • Static Requests – запросы к статическим файлам.
  • Not Found URLs (404s) – запросы, по которым сервер вернул ответ 404.
  • Visitor Hostnames and IPs – IP-адреса, страны и хосты посетителей.
  • Operating Systems – операционные системы посетителей.
  • Browsers – браузеры посетителей.
  • Time Distribution – распределение запросов по часам для.
  • Virtual Hosts – виртуальные хосты. Модуль будет отображаться только если в логе есть соответствующая информация.
  • Referrers (по умолчанию отключён) – URL, с которых пришли посетители.
  • Referring Sites — сайты, с которых пришли посетители.
  • Keyphrases (по умолчанию отключён) – ключевые фразы из поисковых запросов Google, кеша Google (поддерживаются только запросы, выполнявшиеся по HTTP).
  • HTTP Status Codes – ответы сервера.
  • Remote User – идентификаторы лиц, запрашивающих файлы с HTTP-аутентификацией. Модуль будет отображаться только если в логе есть соответствующая информация.
  • Geo Location – страны посетителей.

Установка

Из репозитория

apt install goaccess

Из исходников

В систему нужно установить следующие зависимости:

apt install make gcc git libmaxminddb-dev libncursesw5-dev

Первым делом установим geoip-api-c

wget https://github.com/maxmind/geoip-api-c/releases/download/v1.6.12/GeoIP-1.6.12.tar.gz
tar -xzvf GeoIP-1.6.12.tar.gz
cd GeoIP-1.6.11
./configure
make
make install

А затем сам goaccess

wget https://tar.goaccess.io/goaccess-1.5.2.tar.gz
tar -xzvf goaccess-1.5.2.tar.gz
cd goaccess-1.5.2/
./configure --enable-utf8 --enable-geoip=mmdb
make
make install

Настройка

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

Узнаем, где находится файл конфигурации

goaccess --dcf
/usr/local/etc/goaccess/goaccess.conf

Убираем комментарии

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

Examples

Создание интерактивного отчета:

goaccess access.log

Создание отчетов в различных форматах:

# HTML
goaccess /var/log/apache2/access.log -a > report/report.html
 
# JSON
goaccess /var/log/apache2/access.log -a -d -o json > report/report.json
 
# CSV
goaccess /var/log/apache2/access.log --no-csv-summary -o csv > report/report.csv

Для быстрой диагностики проблем, анализируем журнал в реальном времени:

tail -f /var/log/apache2/access.log | goaccess -

Achtung! Одинарный дефис добавляется к командной строке, чтобы сообщить GoAccess, что он должен читать из pipeline

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

awk '$7~/\.rpm|\.deb/' /var/log/apache2/access.log | goaccess -

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

zcat /var/log/apache2/access.log.*.gz | goaccess -

Хоткеи

  • <key>F1</key> или <key>h</key> – вызов справки.
  • <key>F5</key> – обновление информации в главном окне.
  • <key>q</key> — выход из программы или сворачивание активного модуля.
  • o или Enter — разворачивание активного модуля.
  • 0…9 и Shift+0…5 — активация модуля по его номеру (Shift нужно удерживать для модулей с номерами 10+).
  • ↑ — прокрутка содержимого главного окна вверх.
  • ↓ — прокрутка содержимого главного окна вниз.
  • j — перемещение курсора внутри развёрнутого модуля вниз.
  • k — перемещение курсора внутри развёрнутого модуля вверх.
  • c — установка или изменение цветовой схемы.
  • Ctrl+f — прокрутка внутри активного модуля на один экран вперёд.
  • Ctrl+b — прокрутка внутри активного модуля на один экран назад.
  • Tab — переключение на следующий модуль.
  • Shisft+Tab — переключение на предыдущий модуль.
  • s — настройка сортировки для активного модуля.
  • / — поиск по всем активным модулям (можно использовать регулярные выражения).
  • n — поиск следующего совпадения.
  • g — переход к первому элементу модуля или вверх главного окна.
  • Shift+G — переход к последнему элементу модуля или вниз главного окна.
 
 
 
 
 

Troubleshooting

При запуске получаем ошибку:

goaccess
-bash: /usr/bin/goaccess: No such file or directory

Ищем goaccess

whereis goaccess
goaccess: /etc/goaccess /usr/local/bin/goaccess /usr/local/etc/goaccess

И видим, что он установился совсем не в /usr/bin/. Для исправления данной оказии, пересобираем исходники с директивой –prefix=/usr

./configure --prefix=/usr --enable-geoip --enable-utf8 
goaccess.txt · Last modified: 2023/04/06 10:28 (external edit)