2.19.2.2. Анализ логов в GoAccess
GoAccess — бесплатная консольная программа с открытым исходным кодом для просмотра и анализа логов веб-сервера. Предназначена для Linux и macOS. В Windows можно использовать её реализацию CowAxess, работающую через Cygwin, или напрямую через WSL.
Для анализа логов с помощью GoAccess их нужно предварительно скачать.
Интерактивный режим
Запуск
- В консоли выполните команду, подставив вместо
path/to/access.logпуть к файлу лога:goaccess path/to/access.logЕсли нужно проанализировать сразу несколько логов, укажите пути к ним через пробел:
goaccess path/to/access.log path/to/access.log.1 - С помощью стрелок и клавиши Space выберите «NCSA Combined Log Format» и нажмите Enter.
- Дождитесь завершения обработки лога.
Модули
- «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» — страны посетителей.
Клавиши управления
- F1 или h — справка.
- F5 — обновление информации в главном окне.
- q — выход из программы или сворачивание активного модуля.
- o или Enter — разворачивание активного модуля.
- 0…9 и Shift+0…5 — активация модуля по его номеру (Shift нужно удерживать для модулей с номерами 10+).
- ↑ — прокрутка содержимого главного окна вверх.
- ↓ — прокрутка содержимого главного окна вниз.
- j — перемещение курсора внутри развёрнутого модуля вниз.
- k — перемещение курсора внутри развёрнутого модуля вверх.
- c — установка или изменение цветовой схемы.
- Ctrl+f — прокрутка внутри активного модуля на один экран вперёд.
- Ctrl+b — прокрутка внутри активного модуля на один экран назад.
- Tab — переключение на следующий модуль.
- Shisft+Tab — переключение на предыдущий модуль.
- s — настройка сортировки для активного модуля.
- / — поиск по всем активным модулям (можно использовать регулярные выражения).
- n — поиск следующего совпадения.
- g — переход к первому элементу модуля или вверх главного окна.
- Shift+G — переход к последнему элементу модуля или вниз главного окна.
Генерация HTML-отчёта
Подготовка
--log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u"' --date-format='%d/%b/%Y' --time-format='%T'.
Перед генерацией HTML-отчёта укажите формат лога, даты и времени в конфигурационном файле GoAccess:
- Узнайте путь к конфигурационному файлу GoAceess:
goaccess --dcf - Откройте конфигурационный файл на редактирование:
nano путь/к/конфигурационному/файлу - Добавьте в него три строки:
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" date-format %d/%b/%Y time-format %T - Сохраните изменения нажатием Ctrl+O.
- Выйдите из редактора нажатием Ctrl+X
Генерация
Для генерации HTML-отчёта выполните команду:
goaccess path/to/access.log -a -o path/to/report.html
В команде:
path/to/access.log— путь к файлу лога.path/to/report.html— название отчёта и путь, куда его нужно сохранить.
Полученный файл откройте в любом браузере. В отчёте будет наглядно отражена информация по всем доступным модулям с возможностью настройки отображения.