Ми використовуємо cookie-файли
Для оптимізації роботи нашого сайту ми використовуємо cookie-файли. Продовжуючи використовувати сайт, Ви погоджуєтеся з використанням cookie-файлів.
Новий дизайн
Панель керування
  • Русский
  • Українська
  • English
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307 Гаряча лінія
  • +38 (044) 392-74-33 Київ
  • +38 (057) 728-39-00 Харків
  • +38 (056) 794-38-31 Дніпро
  • +38 (032) 229-58-93 Львів
  • +38 (048) 738-57-70 Одеса
  • +38(093) 170-15-42  Life
  • +38 (067) 400-88-44 Київстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7 (499) 348-28-61 Москва

2.25.4. Аналіз логів консольними командами

Аналізувати логи консольними командами можна на хостингу або на локальному ПК:

Для аналізу логів консольними командами на хостингу виконайте наступне:
  1. Скачайте логи собі на ПК.
  2. За допомогою файл-менеджера або будь-якого FTP-клієнта завантажте викачані логи на хостинг в кореневій каталог хостинг-аккаунта.
  3. Якщо логи знаходяться в архівному файлі, розархівуйте їх за допомогою файл-менеджера.
  4. Використовуйте в терміналі консольні командиНаведені нижче.
Для аналізу логів консольними командами на локальному ПК, виконайте такі дії:
  1. Скачайте логи собі на ПК.
  2. Якщо логи знаходяться в архівному файлі, розархівуйте їх.
  3. Запустіть термінал на своєму ПК:
    • У Windows - потрібна наявність встановленого WSL або Cygwin. Якщо з їх установкою є складнощі, скористайтеся більш простим аналізом на хостингу.
    • В Linux - можна використовувати стандартний термінал.
    • У macOS - можна використовувати стандартний термінал.
  4. Використовуйте в терміналі консольні командиНаведені нижче.

Примітка

У всіх командах замість access.log вказуйте назву завантаженого файлу лога або повний шлях до нього.

Коди відповіді сервера в порядку убування їх кількості:

awk '{print $9}' access.log | sort | uniq -c | sort -r

25 найактивніших IP:

cat access.log | awk '{ print $1 }' | sort | uniq -c | sort -rn | head -n 25

Кількість запитів з кожного IP в порядку убування:

cat access.log | awk '{print "requests from " $1}' | sort | uniq -c | sort -r

10 найпопулярніших Referer:

cat access.log | awk -F \" ' { print $4 } ' | grep -v '-' | sort | uniq -c | sort -rn | head -n 10

10 найпопулярніших User-Agent:

cat access.log | awk -F \" ' { print $6 } ' | sort | uniq -c | sort -rn | head -n 10

Загальна кількість запитів за день:

awk '{print $4}' access.log | cut -d: -f1 | uniq -c

Погодинне кількість запитів за день:

  • Якщо лог містить інформацію тільки за один день:
    cat access.log | cut -d [ -f2 | cut -d] -f1 | awk -F: '{print $2":00"}' | sort -n | uniq -c
  • Якщо лог містить інформацію за кілька днів (замість DD/Mon підставте потрібний день місяця і перші три букви назви місяця англійською):
    grep "DD/Mon" access.log | cut -d [ -f2 | cut -d] -f1 | awk -F: '{print $2":00"}' | sort -n | uniq -c

Щохвилинний кількість запитів за вказаний час зазначеного дня (замість DD/Mon/YEAR:HH підставте потрібний день місяця, перші три букви назви місяця англійською, рік і годину):

grep "DD/Mon/YEAR:HH" access.log | cut -d [ -f2 | cut -d] -f1 | awk -F: '{print $2":"$3}' | sort -nk1 -nk2 | uniq -c | awk '{ if ($1 > 10) print $0}'

Кількість унікальних відвідувачів:

cat access.log | awk '{print $1}' | sort | uniq -c | wc -l

25 найпопулярніших URI:

cat access.log | awk '{ print $7 }' | sort | uniq -c | sort -rn | head -n 25

Список унікальних IP:

cat access.log | awk '{print $1}' | sort | uniq

Список унікальних IP з датою і часом по кожному запиту від них:

cat access.log | awk '{print $1 " " $4}' | sort | uniq

Список унікальних IP з датою, часом і методом по кожному запиту від них:

cat access.log | awk '{print $1 " " $4 " " $6}' | sort | uniq

Список унікальних IP з датою, часом і URI по кожному запиту від них:

cat access.log | awk '{print $1 " " $4 " " $7}' | sort | uniq