Установка GoAccess в Unix/Linux для анализа/просмотра log в Apache и Nginx
GoAccess — это очень крутой инструмент ( анализатор log-файлов) и интерактивный просмоторщик в режиме реального времени для Apache/Nginx и самое главно — это что, он с открытым исходным кодом и который работает в командной строке. Он показывает ценные статистические HTTP данные для системных администраторов, которые требуют визуального отчета сервера на лету. GoAccess будет собирать данные с журнала и будет отображать их на консоле или Х терминале. Собранная информация или сгенерированный отчет будут отображаться для пользователя/сисадмином в визуальном/интерактивном окне.
Особенности
GoAccess анализирует указанный файл веб-журнала и выводит данные на Х терминал. Особенности включают в себя:
Общая информация, пропускная способность и т.д.
Время, необходимое для удовлетворения запроса (полезную для отслеживания страниц, которые замедляют работу Вашего сайта)
Топ посетители
Требуемые файлы
Подтвердили статические файлы, изображения, SWF, JS и т.д.
Источники URL-адреса
404 или страница не найдена
Операционные системы
Браузеры и боты
Хосты, Обратный DNS, IP
Коды состояния HTTP
……….
Почти все форматы log
GoAccess позволяет использовать любой формат пользовательского лог-файла. Предопределенные варианты включают, но не ограничиваются ими:
Общий формат журнала (КТМ) Apache в сочетании с форматом журнала (XLF / ELF) Apache W3C формат (IIS).
Amazon CloudFront.
Apache/Nginx виртуальные хосты.
Требование к GoAccess
Ncurses
Glib2 (> = 2.0.0)
GeoIP (необязательно)
Установка необходимых пакетов для GoAccess
Для rpm’s ОС (для таких как CentOS/RedHat/Fedora):
После чего переходим в распакованный каталог и выполняем сборку программы, если вы хотите можно разрешить сборку с geoip (но лучше прочитать README или INSTALL):
Пока я не правил в нем ничего, но можно отредактировать его под себя.
Использование GoAccess в Unix/Linux
Утилита очень простая и я приведу только несколько примеров.
Опции для goaccess в Unix/Linux
Следующие опции могут быть поставлены в команду или указаны в конфигурационном файле. Если указывать в конфигурационном файле,длинные варианты должны быть использованы без «—«:
-a,—agent-list — Включить список пользовательских агентов (user-agents) по хостам.
-c, —config-dialog — Выводит конфигурацию log/date в окне.
-d, —with-output-resolver — Включить IP распознаватель на HTML.
-e, —exclude-ip=<IP> — Исключить однин или несколько IPv4/IPv6, включая диапазоны IP.
-f, —log-file=<filename> — Путь к входному лог-файлу.
-g, —std-geoip — Стандартная база данных GeoIP для меньшего использования памяти.
-h, —help — Показать команды ( показать помощь).
-H, —http-protocol=<yes|no> — Установка/снятие протокола HTTP запроса, если найден.
-i, —hl-header — Цвет выделения активной панели.
-M, —http-method=<yes|no> — Установка/снятие метода запроса HTTP, если найден.
-m, —with-mouse — Включить поддержку мыши на главной панели.
-o, —output=<file.[html|csv|json> — Выход репорта в HTML, JSON или CSV файл.
-p, —config-file=<filename> — Пользовательский файл конфигурации.
-q, —no-query-string — Удалить строку с запросом. Можно уменьшить использование MEM.
-r, —no-term-resolver — Отключение IP resolver на выходе терминала.
-s, —storage — Отображение текущего способа хранения. Т.е, B+ Tree, Hash.
-V, —version — Показать информацию о версии и выйти.
—444-as-404 — Рассматривать нестандартная код состояния 444, 404.
—4xx-to-unique-count — Добавить 4xx ошибки клиента к уникальным посетителям.
—addr=<addr> — Укажите IP-адрес для привязки к серверу.
—all-static-files — Включить статические файлы, которые содержат строку запроса.
—cache-lcnum=<number> — Максимальное количество конечных узлов для кэширования. [1024]
—cache-ncnum=<number> — Максимальное количество конечных узлов для кэширования. [512]
—color=<fg:bg[attrs, PANEL]> — Укажите пользовательские цвета.
—color-scheme=<1|2|3> — Schemes: 1 => Grey, 2 => Green, 3 => Monokai.
—compression=<zlib,bz2> — Каждая страница сжимается с ZLIB.
—date-format=<dateformat> — Укажите формат даты входа.
—date-spec=<date|hr> — Дата специфичности (дата по умолчанию).
—db-path=<path> — Путь к файлу базы данных. [/tmp/]
—dcf — Отображение пути файла конфигурации по умолчанию.
—debug-file=<path> — Передать все отладочные сообщения (debug) в указанный файл.
—double-decode — Расшифровать double-encoded значения.
—enable-panel=<PANEL> — Включить разбор и отображение данной панели.
—geoip-city-data=<path> — То же самое, используя —geoip-database.
—geoip-database=<path> — Путь к базе данных GeoIP v4/v6. т.е., GeoLiteCity.dat
—hour-spec=<hr|min> — Час специфичности (час по умолчанию).
—html-custom-css=<path.css> — Указать файл пользовательского CSS в отчете HTML.
—html-custom-js=<path.js> — Указать свой JS файл в отчете HTML.
—html-report-title — Установить отчет HTML заголовок страницы и заголовок.
—ignore-crawlers — Игнорировать crawlers.
—ignore-panel=<PANEL> — Игнорирование синтаксического анализа и отображения данной панели.
—ignore-referer=<referer> — Игнорировать переходы из подсчитываемых. Подстановочные допускается.
—ignore-status=<CODE> — Игнорировать разбор данного кода (ов) статусов.
—invalid-requests=<filename> — Логировать (Log) недопустимые запросы в указанный файл.
—json-pretty-print — Формат JSON вывода с помощью вкладок и новой строки.
—keep-db-files — Упорно проанализировать данные на диск.
—load-from-disk — Загрузите ранее сохраненные данные с диска.
—log-format=»<logformat>» — Укажите log формат. Внутренние кавычки должны быть экранированы.
—max-items — Максимальное количество элементов для отображения на панели.
—no-color — Отключить цветной вывод.
—no-column-names — Не писать имена столбцов в сроках вывода.
—no-csv-summary — Отключить сводные метрики на выходе CSV.
—no-global-config — Не загружайте глобальный конфигурационный файл.
—no-progress — Отключение прогресса.
—no-tab-scroll — Отключение прокрутки панелей на TAB.
—origin=<url> — Убедитесь, что клиенты отправляют указанный заголовок на WS рукопожатия.
—port=<port> — Укажите порт для использования.
—real-os — Отображение реальных имен ОС. Т.е, Windows XP, Snow Leopard.
—real-time-html — Включить вывода HTML в режиме реального времени.
—sort-panel=PANEL,METRIC,ORDER — Сортировать панели на начальной загрузки. См страницу помощи (manpage) для метрики.
—static-file=<extension> — Добавить статическое расширение файла. т.д .: .mp3, чувствителен к регистру.
—time-format=<timeformat> — Укажите log-формат времени.
—tune-bnum=<number> — Количество элементов массива. [32749]
—tune-lmemb=<number> — Количество членов на каждой странице листа. [128]
—tune-nmemb=<number> — Количество членов на каждой промежуточной страницы. [256]
—ws-url=<[scheme://]url[:port]> — URL-адрес, на который отвечает WebSocket сервер.
—xmmap=<number> — Установить размер (байты) для дополнительного отображенной памяти. [0]
Чтобы отфильтровать от установленной начальной даты, вы можете использовать структуру следующей команды. Она обеспечит разбор HTTP-запросов с 27 января 1990 года до конца содержимого log-файла:
sh
1 lines
#·sed '/27/Jan/1990/,$ p' /var/log/nginx/linux-notes.org-access.log | goaccess -a