Мониторинг логов Nginx и Apache с помощью GoAccess

Мониторинг и анализ журналов веб-сервера с открытым анализатором журналов в реальном времени – GoAccess


Поиск и устранение неисправностей в Интернете – это весело и может быть неприятно, если у вас нет нужных инструментов..

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

Проверка меньшего размера журнала вручную – это нормально, но если у вас большой файл, было бы неинтересно пролистывать миллионы строк, чтобы найти метрики.

Вот почему вам нужны инструменты, чтобы облегчить работу администратора и сделать его более продуктивным.

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

  • Nginx
  • Apache HTTP
  • AWS ELB, S3, CloudFront
  • Облачное хранилище Google

Какие показатели вы можете проанализировать с помощью GoAccess??

Почти все, что вы фиксируете в журналах. Чтобы дать вам идею:

  • Время потрачено на обслуживание запроса
  • IP-адрес посетителя, DNS, хост
  • Браузер посетителя & Детали операционной системы
  • 404 не найдено деталей
  • Лучшие запросы / посетитель
  • Пропускная способность
  • Статические файлы
  • Географическое положение
  • Код состояния
  • и более..

Поиск этих показателей для мониторинга вашего сайта?

Хорошо!

На какую ОС вы можете установить?

GoAccess получил только одну зависимость – ncurses. Если вы можете установить, вы можете использовать его любой ОС.

Он доступен в дистрибутиве для:

  • Ubuntu
  • Debian
  • мягкая фетровая шляпа
  • CentOS
  • FreeBSD / OpenBSD
  • Slackware
  • Arch Linux
  • Gentoo
  • MacOS
  • Windows через Cygwin

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

Если вы новичок в Docker, я бы порекомендовал принять это Курс Docker Mastery.

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

  • Войдите на сервер Ubuntu с правами суперпользователя
  • Используйте apt-get для установки, как показано ниже

apt-get установить goaccess

Легко.

Установка на CentOS

Войдите на сервер и выполните команду yumcommand.

ням установить goaccess

Установка с использованием Source на CentOS / Ubuntu

Люблю компилировать из источника?

Вот шаги.

  • Установите следующие зависимости при использовании CentOS

yum install gcc ncurses-devel glib2-devel geoip-devel tokyocabinet-devel

  • При использовании Ubuntu

apt-get install libncursesw5-dev libgeoip-dev make

  • Загрузите последний пакет, используя wget

wget http://tar.goaccess.io/goaccess-1.2.tar.gz

  • Извлеките загруженный файл

gunzip –c goaccess-1.2.tar.gz | tar xvf –

  • Перейдите во вновь созданную папку, которую вы получили после распаковки

CD goaccess-1.2

  • Скомпилируйте с помощью следующей команды

./ configure –enable-geoip = legacy –enable-utf8
делать
сделать установку

Отлично сработано, вы установили GoAccess и все готово для анализа логов.

Проверить установку

После установки просто выполните goaccess в командной строке, и он должен напечатать использование, как показано ниже.

[[Электронная почта защищена] goaccess-1.2] # goaccess
GoAccess – 1,2
Использование: goaccess [имя файла] [параметры …] [-c] [- M] [- H] [- q] [- d] […]
Следующие опции также могут быть предоставлены команде:
Журнал & Параметры формата даты
  –date-format = – указать формат даты в журнале. например,% d /% b /% Y
  –log-format = – указать формат журнала. Внутренние кавычки должны быть
                                    избежал или использовать одинарные кавычки.
  –time-format = – указать формат времени журнала. например,% H:% M:% S
Параметры интерфейса пользователя
  -c –config-dialog – окно конфигурации подсказки журнала / даты / времени.
  -i –hl-header – цветная подсветка активной панели.
  -m –with-mouse – включить поддержку мыши на главной панели.
  –color = – Укажите пользовательские цвета. Смотрите man-страницу для более
                                    детали и опции.
  –цветовая схема =<1 | 2 | 3>          – Схемы: 1 => Серый, 2 => Зеленый, 3 => Monokai.
  –html-custom-css = – укажите пользовательский файл CSS в отчете HTML.
  –html-custom-js = – укажите пользовательский файл JS в отчете HTML.
  –html-prefs = – установить настройки отчета HTML по умолчанию.
  –html-report-title = – Установить заголовок и заголовок страницы HTML-отчета.
  –json-pretty-print – Форматирует вывод JSON с вкладками & переводы строк.
  –max-items – максимальное количество элементов для отображения на панели.
                                    Смотрите страницу руководства для ограничений.
  –no-color – отключить цветной вывод.
  –no-column-names – не записывать имена столбцов в терминах вывода.
  –no-csv-summary – отключить сводные метрики на выходе CSV.
  –no-progress – отключить показатели прогресса.
  –no-tab-scroll – отключить прокрутку панелей на вкладке.
  –no-html-last-updated – скрыть поле HTML, последнее обновленное.
Настройки сервера
  –addr = – указать IP-адрес для привязки сервера.
  –daemonize – запускать как демон (если включен –real-time-html).
  –fifo-in = – путь для чтения именованного канала (FIFO).
  –fifo-out = – Путь для записи именованного канала (FIFO).
  –origin = – Убедитесь, что клиенты отправляют указанный заголовок источника
                                    после рукопожатия WebSocket.
  –порт = – укажите порт для использования.
  –real-time-html – включить вывод HTML в реальном времени.
  –ssl-cert = – путь к сертификату TLS / SSL.
  –ssl-key = – Путь к закрытому ключу TLS / SSL.
  –ws-url = – URL, на который отвечает сервер WebSocket.
Параметры файла
  –                               – Файл журнала для анализа читается из стандартного ввода.
  -f –log-file = – Путь к входному файлу журнала.
  -l –debug-file = – отправить все отладочные сообщения на указанный
                                    файл.
  -p –config-file = – Пользовательский файл конфигурации.
  –invalid-запросы = – Записать недопустимые запросы в указанный файл.
  –no-global-config – Не загружать файл глобальной конфигурации.
Параметры разбора
  —agent-list – включить список пользовательских агентов по хосту.
  -d –with-output-resolver – включить IP-распознаватель в HTML | вывод JSON.
  -e –exclude-ip = – исключить один или несколько IPv4 / 6. Позволяет IP
                                    диапазоны, например 192.168.0.1-192.168.0.10
  -H –http-protocol = – установить / сбросить протокол HTTP-запроса, если он найден.
  -M –http-method = – установить / отменить метод HTTP-запроса, если найден.
  -o –output = file.html | json | csv – выводит файл HTML, JSON или CSV.
  -q –no-query-string – игнорировать строку запроса. Удаление
                                    Строка запроса может значительно уменьшить память
                                    потребление.
  -r –no-term-resolver – отключить IP-распознаватель на выходе терминала.
  –444-as-404 – обрабатывать нестандартный код состояния 444 как 404.
  –4xx-to-unique-count – Добавить ошибки клиента 4xx уникальным посетителям
                                    подсчитывать.
  –all-static-files – включить статические файлы в строку запроса.
  –только для сканеров – анализировать и отображать только сканеры.
  –date-spec = – Специфика даты. Возможные значения: `date`
                                    (по умолчанию) или `hr`.
  –двойное декодирование – декодирование двойных кодированных значений.
  –enable-panel = – включить разбор / отображение данной панели.
  –hour-spec = – Часовая специфика. Возможные значения: `hr`
                                    (по умолчанию) или `min` (десятая часть мин).
  –сканеры игнорирования – игнорировать сканеры.
  –ignore-panel = – игнорировать разбор / отображение данной панели.
  –ignore-referer = – игнорировать реферера от подсчета. Дикие карты
                                    разрешается. т.е. * .bing.com
  –ignore-status = – игнорировать анализ данного кода состояния.
  –num-tests = – Количество строк для проверки. >= 0 (10 по умолчанию)
  –process-and-exit – проанализировать журнал и выйти без вывода данных.
  –real-os – отображать реальные имена ОС. например, Windows XP, Snow
                                    леопард.
  –sort-panel = PANEL, METRIC, ORDER – Сортировать панель при начальной загрузке. Например:
                                    –сортировать панель = ПОСЕТИТЕЛИ, BY_HITS, ASC. Видеть
                                    man-страница для списка панелей / полей.
  –static-file = – Добавить статическое расширение файла. например: .mp3.
                                    Расширения чувствительны к регистру.
Параметры GeoIP
  -g –std-geoip – Стандартная база данных GeoIP для меньшего количества памяти
                                  потребление.
  –geoip-database = – указать путь к файлу базы данных GeoIP. т.е..,
                                    GeoLiteCity.dat, GeoIPv6.dat …
Другие опции
  -h –help – эта помощь.
  -V –version – Показать информацию о версии и выйти.
  -s –storage – Показать текущий метод хранения. например, B+
                                    Дерево, Хэш.
  –dcf – отображает путь конфигурации по умолчанию
                                    файл, когда `-p` не используется.
Примеры можно найти, запустив man goaccess.
Для более подробной информации посетите: http://goaccess.io
GoAccess Copyright (C) 2009-2016 Герардо Орельяна
[[Электронная почта защищена] goaccess-1.2] #

Анализируя Nginx & Apache с GoAccess

Одним из самых быстрых способов анализа access.log является использование -fparameter.

Пример:

goaccess -f access.log

Выше я инструктирую открыть файл access.log. Это покажет вам общую панель и следующие 15 разделов.

  • Уникальных посетителей в день
  • Запрашиваемые файлы
  • Статические запросы (шрифты, изображения, PDF и т. Д.)
  • Не найдено (404) запросов
  • IP-адрес посетителя / данные хоста
  • ОС посетителя
  • Детали браузера
  • Распределение времени
  • Referrer
  • Код статуса HTTP
  • Географическое положение

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

Мониторинг в реальном времени по HTTP (s)

GoAccess позволяет перенаправить вывод в файл HTML, который можно использовать для мониторинга в режиме реального времени. Это удобно, когда вы не хотите входить на сервер каждый раз, когда вам нужно проверить некоторые показатели.

goaccess /var/log/nginx/access.log -o /var/www/geekflare.com/htdocs/real-time.html –log-format = COMBINED –real-time-html

Выше я перенаправляю вывод в файл real-time.html, который доступен в htdocs. Поскольку это htdocs, я могу получить доступ к этому файлу с https://geekflare.com/real-time.html всякий раз, когда мне нужно увидеть показатели.

Красивая приборная панель!

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

  • Защитите файл с помощью пользователя и пароля
  • Разрешить доступ только с вашего IP
  • Используйте другой URL с пользовательским портом и разместите его за брандмауэром, чтобы только разрешенные IP / пользователи имели доступ

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

Вы также можете быть заинтересованы проверить облачный анализатор логов.

TAGS:

  • Мониторинг

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map