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 в различных дистрибутивах

Установить на 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

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

goacces-command-output-linux

Вы также можете проверить версию GoAccess следующим образом.

$ goaccess --version

goaccess-версия-проверка-linux

Мониторинг журналов Apache и Nginx в режиме реального времени

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

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

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

Goaccess-Apache2-logs-Combined

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

Apache2-Журналы-Аудит-Linux-Терминал

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

Apache2-Access-журналы-Linux

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

Apache2-WebServer-Статистика-Журналы-Linux

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

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

Goaccess-nginx-access-log-combined-linux

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

Nginx-WebServer-Realtime-Журналы

Просмотр выходных данных журнала через веб-панель

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

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

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

Goaccess-веб-сервер-отчеты-броузер

резюме статьи

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

мой проект с открытым исходным кодом

Kugua Cloud Classroom — онлайн-школа с открытым исходным кодом

рекомендация

отblog.csdn.net/xiaochong0302/article/details/128590844