Одной из основных задач любого системного администратора является просмотр и анализ лог-файлов. Файлы журнала веб-сервера от 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 в различных дистрибутивах
Установить на Ubuntu/Debian
$ sudo apt install -y goaccess
Установить на RHEL/CentOS
$ sudo yum install -y goaccess
or$ sudo dnf install -y goaccess
Установить на Федору
$ sudo dnf install goaccess -y
Установить на ArchLinux
$ sudo pacman -S goaccess
Для других дистрибутивов, таких как opensuse или freebsd, перейдите по официальной ссылке загрузки GoAccess.
Установите GoAccess из исходного кода
Чтобы установить из исходного кода, сначала загрузите tar-файл 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
Мониторинг журналов Apache и Nginx в режиме реального времени
После установки GoAccess следующим шагом будет мониторинг файлов веб-журналов. В этом примере у нас установлен веб-сервер Apache, и мы будем отслеживать файл access.log для получения статистики о том, как клиенты взаимодействуют с веб-сервером из своих браузеров.
Параметр -f позволяет просматривать журналы в режиме реального времени в командной строке.
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED
Статистика журнала веб-сервера будет напечатана на терминале, включая общее количество запросов, действительных запросов, действительных посетителей, уникальных файлов и т. д.
Прокрутите вниз, чтобы просмотреть другую статистику веб-сервера, такую как запросы 404, имена хостов посетителей и IP-адреса.
Здесь у нас есть статистика об операционных системах и веб-браузерах, с которых посетители заходят на веб-сервер.
Для мониторинга журналов Nginx используйте тот же метод, что и для журналов Apache. Просто переключитесь на пользователя root и выполните команду ниже.
# goaccess -f /var/log/nginx/access.log --log-format=COMBINED
Здесь мы отслеживаем файл access.log веб-сервера Nginx.
Просмотр выходных данных журнала через веб-панель
Вы также можете представить журналы веб-сервера на элегантной и интуитивно понятной информационной панели, перенаправив вывод в html-файл. Здесь мы указываем выходной файл как report.html
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED > reports.html
Затем откройте веб-браузер и просмотрите местоположение файла, он сразу же отобразит журналы на красивой панели инструментов, как показано на рисунке.
резюме статьи
GoAccess — это полезный инструмент, который позволяет вам понять взаимодействие между вашим веб-сервером и вашими посетителями. Это позволяет вам получить много подробной информации о том, как ваши посетители взаимодействуют с вашим веб-сайтом, что полезно для охвата более широкой аудитории и улучшения пользовательского опыта.