Анализ файла журнала является большой головной болью для администраторов Linux, так как он захватывает много вещей.
Большинство новичков и администраторы L1 не знают, как его проанализировать.
Если у вас есть хорошие знания для анализа логов, вы станете легендой для системы NIX.
В Linux доступно множество инструментов для удобного анализа журналов.
GoAccess является одним из инструментов, которые позволяют пользователям легко анализировать журналы веб-сервера.
Мы будем подробно обсуждать инструмент GoAccess в этой статье.
- Что такое GoAccess?
- Особенности GoAccess
- Как установить GoAccess?
- Для систем RHEL / CentOS используйте YUM Package Manager для установки GoAccess в ваших системах.
- Для системы Fedora используйте диспетчер пакетов DNF для установки GoAccess в вашей системе.
- Для систем на основе ArchLinux / Manjaro используйте менеджер пакетов Pacman, чтобы установить GoAccess на свои системы.
- Для системы openSUSE Leap используйте Zypper Package Manager для установки GoAccess в вашей системе.
- Как использовать GoAccess?
Что такое GoAccess?
GoAccess – это анализатор веб-журналов в режиме реального времени и интерактивный просмотрщик логов, который работает в терминале в системах * nix или через ваш браузер.
GoAccess предъявляет минимальные требования, он написан на C и требует только ncurses.
Он будет поддерживать журналы Apache, Nginx и Lighttpd.
Он обеспечивает быструю и полезную статистику HTTP для системных администраторов, которым требуется визуальный отчет сервера на лету.
GoAccess анализирует указанный файл веб-журнала и выводит данные в X-терминал и браузер.
GoAccess был разработан как быстрый анализатор логов на основе терминалов.
Его основная идея заключается в том, чтобы быстро анализировать и просматривать статистику веб-сервера в режиме реального времени без необходимости использовать браузер.
Вывод терминала является выводом по умолчанию, он может генерировать полный автономный отчет HTML в режиме реального времени, а также отчет JSON и CSV.
GoAccess допускает любой пользовательский формат журнала, и следующие (комбинированный формат журнала (XLF / ELF) Apache | Nginx и общий формат журнала (CLF) Apache)) включены предварительно определенные параметры формата журнала, но не ограничиваются ими.
Особенности GoAccess
- Работа полностью в реальном времени: все метрики обновляются каждые 200 мс на терминале и каждую секунду на выходе HTML.
- Отслеживание времени отклика приложения: отслеживание времени, необходимого для обработки запроса. Чрезвычайно полезно, если вы хотите отслеживать страницы, которые замедляют работу вашего сайта.
- Посетители. Определите количество посещений, посетителей, пропускную способность и показатели для самых медленных запросов по часам или дате.
- Метрики для виртуального хоста: есть несколько виртуальных хостов (блоков серверов)? Он имеет панель, которая отображает, какой виртуальный хост потребляет большую часть ресурсов веб-сервера.
Как установить GoAccess?
Я бы посоветовал пользователям устанавливать GoAccess из официального репозитория дистрибутива с помощью диспетчера пакетов.
Он доступен в большинстве дистрибутивов официального репозитория.
Если вы используете ОС со стандартными дистрибутивами, я бы посоветовал вам проверить альтернативные опции, такие как PPA, официальный репозиторий GoAccess и т. д., чтобы получить последний пакет.
Для систем Debian / Ubuntu используйте команду APT-GET или APT, чтобы установить GoAccess в своих системах.
# apt install goaccess
Чтобы получить последний пакет GoAccess, используйте приведенный ниже официальный репозиторий GoAccess.
$ echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list $ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add - $ sudo apt-get update $ sudo apt-get install goaccess
Для систем RHEL / CentOS используйте YUM Package Manager для установки GoAccess в ваших системах.
# yum install goaccess
Для системы Fedora используйте диспетчер пакетов DNF для установки GoAccess в вашей системе.
# dnf install goaccess
Для систем на основе ArchLinux / Manjaro используйте менеджер пакетов Pacman, чтобы установить GoAccess на свои системы.
# pacman -S goaccess
Для системы openSUSE Leap используйте Zypper Package Manager для установки GoAccess в вашей системе.
# zypper install goaccess # zypper ar -f obs://server:http # zypper ref && zypper in goaccess
Как использовать GoAccess?
После успешной установки GoAccess, просто введите команду goaccess и укажите местоположение журнала веб-сервера, чтобы просмотреть его.
# goaccess [options] /path/to/Web Server/access.log # goaccess /var/log/apache/2daygeek_access.log
При выполнении вышеуказанной команды вам будет предложено выбрать конфигурацию формата журнала.
Я проверил его с помощью журнала доступа Apache.
Журнал Apache разделен на пятнадцать разделов.
Подробности ниже.
Основной раздел показывает сводку о пятнадцатом разделе.
Приведенные ниже снимки экрана включают четыре сеанса, такие как уникальные посетители, запрашиваемые файлы, статические запросы, не найденные URL-адреса.
Приведенные ниже снимки экрана включают четыре сеанса, такие как имена хостов и IP-адреса посетителей, операционные системы, браузеры, распределение времени.
Приведенные ниже снимки экрана включают четыре сеанса, такие как URL-адреса переходов, сайты-источники ссылок, результаты поисковой системы Google, коды состояния HTTP.
Если вы хотите сгенерировать отчет в формате html, используйте следующий формат.
Первоначально я получил ошибку, когда я пытался сгенерировать отчет HTML.
# goaccess 2daygeek_access.log -a > report.html GoAccess - version 1.3 - Nov 23 2018 11:28:19 Config file: No config file used Fatal error has occurred Error occurred at: src/parser.c - parse_log - 2764 No time format was found on your conf file.Parsing... [0] [0/s]
Система сообщает: “No time format was found on your conf file”
Чтобы решить эту проблему, добавьте опцию «COMBINED» как формат журнала.
# goaccess -f 2daygeek_access.log --log-format=COMBINED -o 2daygeek.html Parsing...[0,165] [50,165/s]
GoAccess позволяет получить доступ и анализировать фильтрацию в реальном времени.
# tail -f /var/log/apache/2daygeek_access.log | goaccess -
Для более подробной информации перейдите на страницу man или справку.
# man goaccess или # goaccess --help