Як встановити та налаштувати GoAccess Log Analyzer на Ubuntu 24.04 | 22.04
GoAccess — це аналізатор веб-журналів у реальному часі для Unix-подібних систем, включаючи Ubuntu. Він забезпечує ефективний і зручний спосіб візуалізації та аналізу журналів веб-сервера, підтримуючи різні формати, такі як журнали Apache, Nginx і Amazon S3. GoAccess можна запускати в терміналі або як веб-інтерфейс, пропонуючи динамічні звіти з важливими показниками, такими як кількість відвідувачів, деталі запиту, географічне розташування та сайти, з яких ви переходите. Його цінують за швидкість, інтерактивність і всебічну аналітику, що робить його цінним інструментом для системних адміністраторів і розробників, які прагнуть відстежувати та оптимізувати продуктивність веб-сервера в системах Ubuntu.
У цьому посібнику ви дізнаєтеся, як встановити GoAccess Log Analyzer на сервер Ubuntu 24.04.
Передумови
Перш ніж почати, переконайтеся, що у вас є наступне:
- Сервер Ubuntu 24.04.
- Користувач без права root і правами адміністратора.
- Встановлено веб-сервер Apache/Nginx.
Встановлення GoAccess за допомогою APT
GoAccess Log Analyzer можна встановити двома різними способами: через менеджер пакетів і вручну через вихідний код. У цьому розділі ви дізнаєтеся, як встановити GoAccess на Ubuntu за допомогою менеджера пакетів APT.
Спочатку виконайте наступну команду, щоб додати ключ GPG для репозиторію GoAccess.
wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
Додайте репозиторій GoAccess для дистрибутивів на основі Ubuntu/Debian за допомогою команди нижче.
echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list
Далі виконайте наступну команду ‘apt’, щоб оновити індекс пакетів Ubuntu та встановити ‘goaccess‘. Введіть «Y», щоб підтвердити встановлення.
sudo apt update && sudo apt install goaccess
Після завершення інсталяції знайдіть двійковий файл ‘goaccess‘ і перевірте версію ‘goaccess‘ за допомогою наступного:
which goaccess goaccess --version
Як ви можете бачити нижче, GoAccess 1.9.3 встановлюється за адресою ‘/usr/bin/goaccess‘.
Інсталяція GoAccess з вихідного коду
Якщо ви хочете створити GoAccess вручну з вихідного коду, ви можете виконати такі дії:
Перед компіляцією GoAccess виконайте наступну команду ‘apt’, щоб встановити залежності пакетів.
sudo apt install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential
Відвідайте сторінку завантаження GoAccess, перейдіть за посиланням для останньої версії, а потім завантажте вихідний код GoAccess і розпакуйте його за допомогою команди ‘tar’ нижче.
wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz tar -xzvf goaccess-1.9.3.tar.gz
Перейдіть до каталогу ‘goaccess-*‘ і налаштуйте інсталяцію за допомогою наступного. У цьому прикладі ви включите підтримку GeoIP через файл бази даних ‘mmdb‘.
cd goaccess-*/ ./configure --enable-utf8 --enable-geoip=mmdb
Тепер виконайте наведену нижче команду, щоб скомпілювати GoAccess і встановити його на свою систему. Після виконання GoAccess буде встановлено в «/usr/local/bin/goaccess» з директорією конфігурації за замовчуванням «/usr/local/etc/goaccess».
sudo make && sudo make install
Тепер виконайте наведену нижче команду, щоб перевірити версію GoAccess. Нижче ви можете побачити, що GoAccess 1.9.3 встановлено за адресою /usr/local/bin/goaccess.
which goaccess goaccess --version
Інтеграція GoAccess з базою даних GeoIP
GoAccess Log Analyzer підтримує інтеграцію з GeoIP. За допомогою цього ви можете відобразити країну походження відвідувача. У цьому розділі ви налаштуєте GoAccess та інтегруєте його з файлом бази даних GeoIP.
Спочатку відвідайте https://db-ip.com/db/lite.php та отримайте посилання на файл бази даних GeoIP та завантажте його за допомогою команди ‘wget‘ нижче.
wget https://download.db-ip.com/free/dbip-country-lite-2024-07.mmdb.gz
Розпакуйте файл бази даних GeoIP у директорію /opt/geoip за допомогою наступного.
gunzip dbip-country-lite-2024-07.mmdb.gz /opt/geoip/
Далі виконайте команду ‘goaccess‘ нижче, щоб знайти каталог конфігурації за замовчуванням. Якщо ви встановлюєте через APT, ваш каталог GoAccess буде розташований у каталозі ‘/etc/goaccess’. Якщо ви компілюєте з вихідного коду, ваш каталог GoAccess знаходиться в каталозі ‘/usr/local/etc/goaccess‘.
goaccess --dcf
Тепер відкрийте файл конфігурації GoAccess ‘/usr/local/etc/goaccess/goaccess.conf‘ за допомогою наступної команди редактора ‘nano‘.
sudo nano /usr/local/etc/goaccess/goaccess.conf
Розкоментуйте рядки ‘time-format’ та ‘date-format‘ наступним чином:
# The following time format works with any of the # Apache/NGINX's log formats are below. # time-format %H:%M:%S # The following date format works with any of the # Apache/NGINX's log formats are below. # date-format %d/%b/%Y
У параметрі ‘log-format’ змініть його на ‘COMBINED‘ для поширених журналів Nginx/Apache.
log-format COMBINED or log-format VCOMBINED log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
Розкоментуйте опцію ‘geoip‘ і додайте шлях до файлу бази даних GeoIP.
geoip-database /home/geoip/dbip-country-lite-2021-10.mmdb
Коли закінчите, збережіть файл і вийдіть з редактора.
Аналіз журналу Apache/Nginx за допомогою GoAccess
Тепер ви налаштували GoAccess та інтегрували його з GeoIP. На наступному кроці ви дізнаєтеся, як аналізувати файли журналів за допомогою GoAccess.
Щоб проаналізувати журнали за допомогою GoAccess, запустіть команду “goaccess” нижче.
goaccess access.log
Ви можете побачити вихідні дані наступним чином:
- Unique visitors per day: списки унікальних відвідувачів за день.
- Requested Files (URLs): найбільш запитувані файли – для нестатичних файлів.
- Static Requests: відображає запити на статичні файли, такі як зображення, CSS та JavaScript.
- Not Found URLs (404s): помилки на сторінках 404 не знайдені.
- Visitor Hostnames and IPs: списки хостів та IP-адрес відвідувачів. Ви можете розгорнути, щоб отримати таку інформацію, як країна, місто та rDNS.
- Operating Systems: відображають операційні системи відвідувачів.
- Browsers: відображення відвідувачів веб-браузерів.
- Time Distribution: відображайте погодинні звіти для унікальних відвідувачів, кількості звернень та споживаної пропускної здатності.
- Virtual Hosts: відображення журналів віртуальних хостів. Активний лише тоді, коли ви ввімкнете VCOMBINED або ‘%s’ у параметрі ‘log-format’.
- Referrer URLs: відображають переходів відвідувачів.
Ви також можете використовувати такі клавіші для навігації через GoAccess:
- TAB для переходу вперед між розділами або SHIFT+TAB для переходу назад.
- F5 щоб оновити панель приладів goaccess.
- j прокручування вниз і k — прокручування вгору.
- / щоб знайти шаблон, а потім введіть N, щоб перемістити.
- q щоб закрити приладову панель.
- F1 або h для відображення довідки.
Нижче ви можете побачити приладну панель GoAccess за замовчуванням:
Завдяки інтеграції GeoIP ви побачите розділ «Geo Location», як показано нижче:
Створення звітів за допомогою GoAccess
У цьому розділі ви створюватимете звіти журналів у форматах HTML, JSON і CSV за допомогою GoAccess Log Analyzer. Ви також налаштуєте аналізатор журналів у режимі реального часу.
Щоб створити звіти HTML для GoAccess, додайте опцію ‘-o’, а потім ‘filename.html’, як показано нижче:
goaccess access.log -o access-log.html
Тепер скористайтеся веб-браузером і перейдіть до файлу «access-log.html». Ви побачите такий звіт GoAccess:
Крім того, ви також можете створювати звіти журналів у форматах JSON і CSV. Використовуйте команду ‘goaccess’ нижче.
goaccess access.log -a -d -o access.json goaccess access.log --no-csv-summary -o access.csv
Далі ви також можете налаштувати моніторинг журналу в реальному часі за допомогою наступної команди «goaccess».
goaccess access.log -o /var/www/html/reports.html --real-time-html
Тепер перейдіть на сторінку «reports.html» за допомогою веб-браузера, і ви побачите звіти в режимі реального часу, створені GoAccess.
Висновок
Вітаємо! Ви завершили інсталяцію GoAccess Log Analyzer на сервері Ubuntu 24.04. Ви навчилися встановлювати GoAccess за допомогою APT і з вихідного коду. А потім ви навчилися аналізувати файли журналів за допомогою GoAccess, створюючи звіти журналів у різних форматах, таких як HTML, JSON і CSV. Нарешті, ви виконали аналізатор журналів у реальному часі за допомогою GoAccess.