GoAccess — анализ журналов Apache и Nginx в реальном времени

GoAccess — анализ журналов Apache и Nginx в реальном времени

 

Одна из основных ролей любого системного администратора — просмотр и анализ файлов журналов. Файлы журнала веб-сервера от других Apache и Nginx могут накапливаться со временем, и их изучение может оказаться утомительным и трудоемким занятием. К счастью, GoAccess может облегчить этот стресс и позволить вам беспрепятственно отслеживать и анализировать файлы журналов веб-сервера.

GoAccess, написанный на языке программирования C, представляет собой терминальный анализатор веб-журналов в реальном времени с открытым исходным кодом. Он быстрый, интерактивный и отображает журналы в элегантном и интуитивно понятном виде. Обеспечивает поддержку широкого спектра файлов веб-журналов, включая Apache, Nginx, Caddy, Amazon S3 и CloudFront, и это лишь некоторые из них. Он может отображать результаты в формате HTML, JSON, а также создавать отчет CSV.

В этом руководстве мы сосредоточимся на том, как установить goaccess и использовать его для анализа журналов веб-серверов Apache и Nginx в реальном времени.

GoAccess позволяет просматривать следующие показатели журнала:

  • Уникальные посетители за день
  • Запрошенные файлы
  • Статические запросы (jpg, pdf, png, mp4, avi и т. Д.)
  • Не найдено (404) запросов
  • Имя хоста и IP-адрес посетителей
  • Сведения об операционной системе и браузере посетителя
  • Географическое расположение

Как установить GoAccess

Есть два основных способа установки GoAccess в вашей системе Linux. Вы можете выполнить сборку из исходного кода или использовать диспетчер пакетов вашего дистрибутива. Давайте посмотрим, как вы можете сделать и то, и другое.

Установите GoAccess в различных дистрибутивах

Вот как вы можете установить GoAccess в различных дистрибутивах Linux.

В дистрибутивах Ubuntu / Debian

Если вы используете Ubuntu или любую систему на основе Debian, выполните:

$ sudo apt install -y goaccess

На RHEL / CentOS

Для дистрибутивов RHEL и CentOS выполните команду:

$ sudo yum install -y goaccess
or$ sudo dnf install -y goaccess

На Fedora

В Fedora выполните команду:

$ sudo dnf install goaccess -y

В Arch Linux

Для Arch Linux и других Arch-дистрибутивов, таких как Arch Linux и Manjaro, выполните команду.

$ sudo pacman -S goaccess

Для других дистрибутивов, таких как OpenSUSE и разновидностей UNIX, таких как FreeBSD, посетите официальную ссылку для загрузки GoAccess .

Установить GoAccess из исходников

Для установки из источника сначала загрузите архивный файл GoAccess с помощью команды wget.

$ wget https://tar.goaccess.io/goaccess-1.4.6.tar.gz

Извлеките файл tarball с помощью команды tar

$ tar -xvf goaccess-1.4.6.tar.gz

Затем перейдите в каталог и выполните сборку из исходного кода, как показано.

$ cd goaccess-1.4.6/
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install

Проверьте установку

Чтобы убедиться, что GoAccess установлен, выполните следующую команду.

$ goaccess

Это напечатает или отобразит использование команды и параметры команды, как показано.

GoAccess - анализ журналов Apache и Nginx в реальном времени

Кроме того, вы можете проверить версию GoAccess, как показано.

$ goaccess --version

GoAccess - анализ журналов Apache и Nginx в реальном времени 1

Как использовать GoAccess для мониторинга журналов Ream-Time Apache и Nginx

После того, как вы установили GoAccess, следующим шагом будет мониторинг файлов веб-журнала. В этом примере у нас установлен веб-сервер Apache, и мы собираемся отслеживать файл access.log для просмотра статистики о том, как клиенты взаимодействуют с веб-сервером из браузера.

Параметр -f позволяет просматривать журналы в режиме реального времени в командной строке.

$ goaccess -f /var/log/apache2/access.log —log-format=COMBINED

GoAccess - анализ журналов Apache и Nginx в реальном времени 2

Статистика журнала вашего веб-сервера будет напечатана на терминале, включая общее количество запросов, действительные запросы, действительных посетителей, уникальные файлы и многое другое.

GoAccess - анализ журналов Apache и Nginx в реальном времени 3

Обязательно прокрутите вниз, чтобы просмотреть другую статистику веб-сервера, такую ​​как запросы 404 Not Found, имена хостов посетителей и IP-адреса.

GoAccess - анализ журналов Apache и Nginx в реальном времени 3

Здесь у нас есть статистика по операционным системам и веб-браузерам, из которых посетители получают доступ к веб-серверу.

GoAccess - анализ журналов Apache и Nginx в реальном времени 3

Чтобы отслеживать журналы Nginx, используйте то же упражнение, что и при мониторинге журналов Apache. Просто переключитесь на пользователя root и выполните команду ниже.

# goaccess -f /var/log/nginx/access.log --log-format=COMBINED

GoAccess - анализ журналов Apache и Nginx в реальном времени 3

Здесь мы отслеживаем файл access.log для веб-сервера Nginx.

GoAccess - анализ журналов Apache и Nginx в реальном времени 3

Видно, что панель управления поразительно похожа на ту, что была у нас при мониторинге журналов Apache.

Просмотр вывода журналов на веб-панели управления

Вы также можете отображать журналы веб-сервера на элегантных и интуитивно понятных информационных панелях, перенаправив вывод в файл html, как показано. Здесь мы указали выходной файл как reports.html .

$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED > reports.html

Затем откройте свой веб-браузер и просмотрите расположение файла, который немедленно отобразит журналы в красивых информационных панелях, как показано.

GoAccess - анализ журналов Apache и Nginx в реальном времени 3

Резюме

GoAccess — полезный инструмент, который дает вам массу сведений о взаимодействии вашего веб-сервера с посетителями на вашем веб-сайте. Это позволяет вам получить обширную подробную информацию о взаимодействии посетителей с вашим сайтом, которая может оказаться полезной для охвата более широкой аудитории и улучшения взаимодействия с пользователем.