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, как показано.
$ goaccess --version
Как использовать GoAccess для мониторинга журналов Ream-Time Apache и Nginx
После того, как вы установили GoAccess, следующим шагом будет мониторинг файлов веб-журнала. В этом примере у нас установлен веб-сервер Apache, и мы собираемся отслеживать файл access.log для просмотра статистики о том, как клиенты взаимодействуют с веб-сервером из браузера.
Параметр -f позволяет просматривать журналы в режиме реального времени в командной строке.
$ goaccess -f /var/log/apache2/access.log —log-format=COMBINED
Статистика журнала вашего веб-сервера будет напечатана на терминале, включая общее количество запросов, действительные запросы, действительных посетителей, уникальные файлы и многое другое.
Обязательно прокрутите вниз, чтобы просмотреть другую статистику веб-сервера, такую как запросы 404 Not Found, имена хостов посетителей и IP-адреса.
Здесь у нас есть статистика по операционным системам и веб-браузерам, из которых посетители получают доступ к веб-серверу.
Чтобы отслеживать журналы Nginx, используйте то же упражнение, что и при мониторинге журналов Apache. Просто переключитесь на пользователя root и выполните команду ниже.
# goaccess -f /var/log/nginx/access.log --log-format=COMBINED
Здесь мы отслеживаем файл access.log для веб-сервера Nginx.
Видно, что панель управления поразительно похожа на ту, что была у нас при мониторинге журналов Apache.
Просмотр вывода журналов на веб-панели управления
Вы также можете отображать журналы веб-сервера на элегантных и интуитивно понятных информационных панелях, перенаправив вывод в файл html, как показано. Здесь мы указали выходной файл как reports.html .
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED > reports.html
Затем откройте свой веб-браузер и просмотрите расположение файла, который немедленно отобразит журналы в красивых информационных панелях, как показано.
Резюме
GoAccess — полезный инструмент, который дает вам массу сведений о взаимодействии вашего веб-сервера с посетителями на вашем веб-сайте. Это позволяет вам получить обширную подробную информацию о взаимодействии посетителей с вашим сайтом, которая может оказаться полезной для охвата более широкой аудитории и улучшения взаимодействия с пользователем.