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

GoAccess — это анализатор логов (с интерфейсом командной строки) и интерактивный просмотрщик для веб-серверов Apache или Nginx. С этим инструментов вы сможете просматривать данные, упомянутые ранее, а также парсить логи веб-сервера для углублённого изучения данных из них — и всё это в терминальном окне в реальном времени. Поскольку на сегодняшний день большинство веб-серверов используют или производные Debian, или основанные на Red Hat дистрибутивы в качестве базовых операционных систем, я покажу вам, как установить и использовать GoAccess в Debian и CentOS.

Установка GoAccess в Linux

В Debian, Ubuntu, Mint и производных, запустите следующую команду для установки GoAccess:

В CentOS вам нужно включить репозиторий EPEL, а затем:

В Fedora просто используйте команду yum:

Если вы хотите установить GoAccess из исходников, чтобы задействовать продвинутые опции (такие как локация GeoIP), установите требуемые зависимости для вашей операционной системы, а затем сделайте следующие шаги:

Это установит версию 0.8.5, но вы всегда можете проверить, какая версия является последней на Старице загрузки на веб-сайте этого проекта.

Поскольку GoAccess не требует дальнейшей конфигурации, установив её, вы готовы для запуска.

Работа GoAccess

Для начала использования GoAccess, просто запустите её, указав путь до логов доступа (файл access) Apache.

Для Debian и производных запуск GoAccess:

Для основанных на Red Hat дистрах запуск GoAccess:

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

В нашем случае выбираем Choose Common Log Format (CLF):

02

а затем нажимаем F10. Вам будет представлено окно статистики. На следующем изображении показан, только заголовок (для краткости), на котором показано суммарное содержание лог файла:

03

Просматриваем статистику веб-сервера с GoAccess

Прокрутив вниз страниц, используя нижнюю стрелку, вы найдёте следующие секции, отсортированные по запросам. Порядок представленных здесь категорий может различаться, в зависимости от вашего дистрибутива или предпочтённого метода установки (из репозиториев или из исходников):

1. Уникальные посетители за день (HTTP заголовки, имеющие одинаковый IP, одинакокую дату и одинаковый агент рассматриваются как один уникальный визит)

04

2. Запрошенные файлы (URL страниц)

05

3. Запрошенные статичные файлы (например, .png, .js, etc)

06

4. Ссылающиеся URL (URL с которого пришёл каждый запрос)

5. Код ответа HTTP 404 Not Found

07

6. Операционные системы

09

7. Браузеры

10

8. Хосты (клиентские IP)

08

9. Коды статусов HTTP

14

10. Топ ссылающихся сайтов

11. Топ поисковых фраз, используемых при переходе с поисковой машины Google

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

Для Debian и производных:

Для дистрибутивов, основанных на Red Hat:

Если вам нужен более детальный отчёт по любой из выше приведённых секций (от 1 до 11), то последовательно переключаться между модулями можно используя TAB (или SHIFT + TAB для обратного порядка переключения). Выбрав любой интересующий модуль (обратите внимание на нумерацию — нумерация модулей начинается с 0, т. е. первый модуль имеет номер ноль) его можно развернуть нажав ENTER или o или пробел.

15

Другие интерактивные команды:

j — вниз внутри модуля

k — вверх внутри модуля

s — для сортировки внутри модулей

/ — поиск внутри модулей (разрешены регулярные выражения)

q — внутри модуля — сворачивает модуль; в основном окне — выход из программы

Модули сами будут сворачиваться, когда вы будете переключаться на следующий.

g — переход к первому пункту (работает и в модулях и в основном окне)

G — переход к последнему пункту (работает и в модулях и в основном окне)

c — задаёт или изменяет цветовую схему

Для отображения информации расположения GeoIP, откройте детальный просмотр секции Хосты (Hosts) и вы увидите расположение клиентских IP адресов, которые выполняли запросы на ваш веб-сервер:

16488484075_95089b8092_o

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

Сохранение отчётов для оффлайн анализа

Будет время, когда вам не захочется инспектировать состояние вашей системы в реальном времени, но захочется сохранить это для оффлайн анализа или печати. Для генерации HTML отчёта, просто перенаправьте вывод упомянутых ранее команд GoAccess в HTML файл. Всё, что останется, это открыть вашим веб-браузером сохранённый файл.

После отображение отчёта, вам нужно кликнуть на ссылку Expand (развернуть) для показа деталей каждой категории:

16486743041_bd8a80794d_o

Как уже было сказано в статье, GoAccess — это неоценимый инструмент, который обеспечит вас, как системного администратора, статистикой HTTP в визуальном отчёте на лету. Хотя, по умолчанию, GoAccess выдаёт свои результаты в стандартный вывод, вы также можете сохранить вывод в файлы JSON, HTML или CSV. Это превращает GoAccess в невероятно полезный инструмент для мониторинга и отображения статистики веб-сервера.

Похожие темы

Редактируем PDF файлы на Linux и на Windows... Некоторое время назад мне понадобилось отредактировать файл PDF. Ничего подходящего на моём компьютере на нашлось, есть Foxit Reader, но в своей бес...
Стресс-тест сети: DoS веб-сайта в Kali Linux с Gol... На страницах codeby.net уже говорилось об инструментах DoS, которые могут сильно нагрузить серверы HTTP, чтобы парализовать их работу из-за исчерпан...
Logjam атака: доказательство концепции с наглядным... Мы описали технические детали наших атак в нашей научной статье, Несовершенная секретность: Неудачи Diffie-Hellman на практике. В разделах ниже мы пре...
Как установить сервер VNC на Linux... Virtual Network Computing (VNC) позволяет создавать совместный доступ другим удалённым пользователям к окружению рабочего стола локального хост...
Как обезопасить соединение с почтовым сервером (ис... SSL (уровень защищённых сокетов) и его потомок TLS (безопасность транспортного уровня) наиболее широко используемые протоколы для шифрования данных,...