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— назва звіту та шлях, куди його потрібно зберегти.
Отриманий файл відкрийте в будь-якому браузері. У звіті буде наочно відображена інформація по всіх доступних модулях з можливістю налаштування відображення.