
GoAccess — это анализатор веб-логов в реальном времени и интерактивный просмотрщик, который работает в терминале в *nix-системах или через ваш браузер.
GoAccess — это анализатор веб-журналов с открытым исходным кодом, работающий в реальном времени и интерактивный просмотрщик, который работает в терминале на *nix-системах или непосредственно в вашем браузере. Разработанный с учётом потребностей системных администраторов, DevOps-инженеров и специалистов по безопасности, он предоставляет быструю и действенную HTTP-статистику и визуальные отчёты сервера на лету. GoAccess анализирует журналы вашего веб-сервера в реальном времени и отображает данные непосредственно в терминале или через живую HTML-панель, что упрощает мониторинг трафика, обнаружение аномалий и мгновенное устранение неполадок.
Подробнее на: https://goaccess.io.
GoAccess анализирует указанный файл веб-журнала и выводит данные в X-терминал. Возможности включают:
Полностью в реальном времени
Все панели и метрики обновляются каждые 200 мс в терминале и каждую секунду в HTML-выводе.
Минимальная настройка
Вы можете просто запустить его с файлом журнала доступа, выбрать формат журнала и позволить GoAccess проанализировать журнал и показать статистику.
Отслеживание времени ответа приложения
Отслеживайте время, затраченное на обработку запроса. Чрезвычайно полезно, если вы хотите отследить страницы, замедляющие ваш сайт.
Аутентификация WebSocket:
GoAccess предлагает расширенную аутентификацию WebSocket, поддерживающую локальную и внешнюю проверку JWT, с возможностью безопасного обновления токенов и бесшовной интеграцией с внешними системами аутентификации.
Почти все форматы веб-журналов
GoAccess поддерживает любую пользовательскую строку формата журнала. Предопределённые параметры включают Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront и т.д.
Инкрементальная обработка журналов
Нужна сохранность данных? GoAccess может обрабатывать журналы инкрементально с помощью опций сохранения на диск.
Только одна зависимость
GoAccess написан на C. Для запуска вам нужен только ncurses. И всё. Он даже имеет собственный Web Socket сервер — http://gwsocket.io/.
Посетители
Определите количество хитов, посетителей, пропускную способность и метрики самых медленных запросов по часам или датам.
Метрики для каждого виртуального хоста
Есть несколько виртуальных хостов (серверных блоков)? Он имеет панель, отображающую, какой виртуальный хост потребляет больше всего ресурсов веб-сервера.
ASN (сопоставление номеров автономных систем)
Отлично подходит для обнаружения вредоносных шаблонов трафика и их блокировки.
Настраиваемая цветовая схема
Настройте GoAccess под свои цветовые предпочтения/схемы. Либо через терминал, либо применив таблицу стилей к HTML-выводу.
Поддержка больших наборов данных
GoAccess может обрабатывать большие журналы благодаря оптимизированным хеш-таблицам в памяти. Он имеет очень хорошее использование памяти и довольно хорошую производительность. Это хранилище также поддерживает сохранение на диск.
Поддержка Docker
Возможность собрать Docker-образ GoAccess из репозитория. Вы всё ещё можете полностью настроить его, используя монтирование томов и редактируя goaccess.conf. Смотрите раздел Docker ниже. Также есть документация по использованию docker-compose.
GoAccess поддерживает любую пользовательскую строку формата журнала. Предопределённые параметры включают, но не ограничиваются:
GoAccess был разработан как быстрый анализатор журналов на базе терминала. Его основная идея — быстро анализировать и просматривать статистику веб-сервера в реальном времени без необходимости использования браузера (отлично, если вы хотите быстро проанализировать журнал доступа через SSH или просто любите работать в терминале). Он также служит практическим инструментом для мониторинга безопасности, позволяя легко обнаруживать подозрительную активность, необычные шаблоны трафика, попытки подбора паролей, сканеры, ботов и аномальные запросы непосредственно из журналов. Хотя вывод в терминал является стандартным, он также может генерировать полный автономный отчет HTML в реальном времени, а также отчеты JSON и CSV. Вы можете рассматривать его скорее как команду мониторинга, чем что-то ещё.
GoAccess может быть скомпилирован и использован на *nix-системах.
Скачайте, распакуйте и скомпилируйте GoAccess с помощью:
$ wget https://tar.goaccess.io/goaccess-1.10.2.tar.gz
$ tar -xzvf goaccess-1.10.2.tar.gz
$ cd goaccess-1.10.2/
$ ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib
$ make
# make install
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fiv
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install
Проще всего установить GoAccess на GNU+Linux, используя предпочтительный менеджер пакетов вашего дистрибутива GNU+Linux. Обратите внимание, что не все дистрибутивы будут иметь последнюю версию GoAccess.
# apt-get install goaccess
Примечание: Вероятно, это установит устаревшую версию GoAccess. Чтобы убедиться, что вы используете последнюю стабильную версию GoAccess, смотрите альтернативный вариант ниже.
$ wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
$ 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
$ sudo apt-get update
$ sudo apt-get install goaccess
Примечание:
.deb в официальном репозитории также доступны через HTTPS. Возможно, вам потребуется установить apt-transport-https.# yum install goaccess
# pacman -S goaccess
# emerge net-analyzer/goaccess
# brew install goaccess
# cd /usr/ports/sysutils/goaccess/ && make install clean
# pkg install sysutils/goaccess
# cd /usr/ports/www/goaccess && make install clean
# pkg_add goaccess
# zypper ar -f obs://server:http http
# zypper in goaccess
# pkg install goaccess