Наблюдавайте и анализирайте дневниците на уеб сървъра с отворен код в реално време анализатор на журнала – GoAccess


Отстраняването на проблеми в мрежата е забавно и може да бъде разочароващо, ако не сте оборудвани с правилни инструменти.

Ако поддържате уебсайт с голям трафик, тогава често трябва да анализирате и следите дневниците на уеб сървърите за ефективност & планиране на капацитета. Това е от съществено значение за уеб инженера.

Ръчната проверка на по-малък размер на дневника е наред, но ако имате големия файл, няма да е забавно да преминете през милиони редове, за да намерите показателите.

Ето защо имате нужда от инструменти, за да улесните работата на администратора и да го направите по-продуктивен.

GoAccess е лек анализатор на отворен код с отворен код който поддържа формат за няколко регистрации и може да се използва с което и да е от следните.

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

Какви показатели можете да анализирате с GoAccess?

Почти всичко, което заснемате в трупите. За да ви дам идея:

  • Отделя се време за обслужване на заявката
  • IP посетител, DNS, хост
  • Браузър на посетителите & Подробности за операционната система
  • 404 не са намерени подробности
  • Топ заявки / посетител
  • Bandwidth
  • Статични файлове
  • Гео местоположение
  • Код на състоянието
  • и още..

Търсите тези показатели да бъдат наблюдавани на вашия сайт?

добре!

На коя ОС можете да инсталирате?

GoAccess има само една зависимост – ncurses. Ако можете да инсталирате, можете да го използвате всяка операционна система.

Предлага се в дистрибуторски пакет за:

  • Ubuntu
  • Debian
  • Fedora
  • CentOS
  • FreeBSD / OpenBSD
  • Slackware
  • Arch Linux
  • Gentoo
  • MacOS
  • Windows чрез Cygwin

Можете обаче да изградите и от източника или да използвате с Docker.

Ако сте нов за Докер, бих препоръчал да го вземете Курс по докерско майсторство.

Инсталиране на GoAccess в Ubuntu

  • Влезте в Ubuntu сървър с root права
  • Използвайте apt-get, за да инсталирате по-долу

apt-get инсталирайте goaccess

лесно.

Инсталиране на CentOS

Влезте в сървъра и изпълнете yumcommand

yum инсталирате goaccess

Инсталиране с помощта на Source на CentOS / Ubuntu

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

Ето стъпките.

  • Инсталирайте следните зависимости, ако използвате CentOS

yum инсталирате 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 | катран xvf –

  • Отидете в новосъздадената папка, която имате след извлечение

cd goaccess-1.2

  • Компилирайте с командата по-долу

./ configure –enable-geoip = наследство –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 – диалогов прозорец за конфигуриране – прозорец за конфигуриране на дневник / дата / час.
  -i –hl-header – активен панел за цветно подчертаване.
  -m – с мишка – Активиране на поддръжката на мишката на главното табло.
  –color = – Посочете персонализирани цветове. Вижте manpage за повече
                                    подробности и опции.
  –цвят схема =<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-column-names – Не пишете имена на колони в изходния термин.
  –no-csv-sum – Деактивиране на обобщените показатели на CSV изхода.
  –no-napred – Деактивиране на показателите за напредък.
  –no-tab-scroll – Деактивиране на превъртане през панели на TAB.
  –no-html-last-updated – Скриване на последно актуализирано HTML поле.
Опции на сървъра
  –addr = – Посочете IP адрес, към който да свържете сървъра.
  –daemonize – Стартирайте като демон (ако – е разрешено -real-time-html).
  –fifo-in = – Път за четене на име тръба (FIFO).
  –fifo-out = – Път за писане на име тръба (FIFO).
  –origin = – Уверете се, че клиентите изпращат определеното заглавие за начало
                                    при ръкостискане WebSocket.
  –port = – Посочете порта, който да използвате.
  –real-time-html – Активиране на HTML изход в реално време.
  –ssl-cert = – Път към TLS / SSL сертификат.
  –ssl-key = – Път към TLS / SSL частен ключ.
  –ws-url = – URL, на който WebSocket сървърът отговаря.
Опции на файла
  –                               – Лог файлът за разбор се чете от stdin.
  -f –log-file = – Път към входния лог файл.
  -l –debug-file = – Изпращане на всички съобщения за отстраняване на грешки до посочените
                                    досие.
  -p –config-file = – Персонализиран конфигурационен файл.
  –invalid-applications = – Логирайте невалидни заявки към посочения файл.
  –no-global-config – Не зареждайте глобален конфигурационен файл.
Опции за разбор
  -a -agent-list – Разрешаване на списък с потребителски агенти от хост.
  -d – с изход-разтворител – Разрешаване на IP разделител на HTML | JSON изход.
  -e –exclude-ip = – Изключете един или няколко IPv4 / 6. Позволява IP
                                    диапазони, напр. 192.168.0.1-192.168.0.10
  -H –http-Protocol = – Задаване / изключване на HTTP протокол за заявка, ако бъде намерен.
  -M –http-метод = – Задаване / изключване на HTTP метод на заявка, ако бъде намерен.
  -o –output = file.html | json | csv – Извеждане на HTML, JSON или CSV файл.
  -q –no-query-string – Игнорирайте низ от заявки. Премахване на
                                    низът на заявката може значително да намали паметта
                                    потребление.
  -r – no-term-resolutionver – Деактивира IP разделителната способност на изхода на терминала.
  –444-as-404 – Отнасяйте се към нестандартния код на състоянието 444 като 404.
  –4xx-to-unique count – Добавете 4xx клиентски грешки към уникалните посетители
                                    броя.
  –all-static-files – Включете статични файлове с низ за заявка.
  –само за обхождане – Разбор и показване само на обхождащи.
  –date-spec = – Дата на специфичност. Възможни стойности: `дата`
                                    (по подразбиране) или `hr`.
  –двойно декодиране – декодиране на двойно кодирани стойности.
  –enable-panel = – Разрешаване на анализ / показване на дадения панел.
  –hour-spec = – Часова специфика. Възможни стойности: `hr`
                                    (по подразбиране) или `мин` (десета минута).
  –ignore-crawlers – Игнорирайте роботите.
  –ignore-panel = – Игнорира анализа / показването на дадения панел.
  –ignore-referer = – Игнорира отчитане от преброяване. Wild карти
                                    са позволени. т.е. * .bing.com
  –ignore-status = – Игнорира анализа на дадения код на състоянието.
  –num-тестове = – Брой редове за тестване. >= 0 (по подразбиране 10)
  –обработка и излизане – Анализ на дневника и излизане без извеждане на данни.
  –real-os – Показва истински имена на ОС. например Windows XP, Snow
                                    леопард.
  –sort-panel = PANEL, METRIC, ORDER – Сортиране на панела при първоначално натоварване. Например:
                                    –сортиране панел = посетители, BY_HITS, ASC. виждам
                                    manpage за списък на панели / полета.
  –static-file = – Добавяне на статично разширение на файл. напр .: .mp3.
                                    Разширенията са чувствителни към регистъра.
Опции за GeoIP
  -g –std-geoip – Стандартна база данни GeoIP за по-малко памет
                                  потребление.
  –geoip-database = – Посочете пътя към файла на базата данни GeoIP. т.е..,
                                    GeoLiteCity.dat, GeoIPv6.dat …
Други възможности
  -з – помощ – тази помощ.
  -V –версия – Показване на информация за версията и излизане.
  -s –storage – Показване на текущия метод за съхранение. например, В+
                                    Дърво, Хаш.
  –dcf – Показва пътя на конфигурацията по подразбиране
                                    файл, когато не се използва `-p`.
Примерите могат да бъдат намерени чрез пускане на „човек goaccess“.
За повече подробности посетете: http://goaccess.io
Авторско право на GoAccess (C) 2009-2016 от Джерардо Орелана
[[Имейл защитен] goaccess-1.2] #

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

Един от най-бързите начини за анализ на access.log е чрез използване на -параметър.

Ex:

goaccess -f access.log

По-горе инструктирам да отворя файла access.log. Това ще ви покаже цялостното табло и следващите 15 секции.

  • Уникални посетители на ден
  • Изискани файлове
  • Статични заявки (шрифтове, изображение, pdf и т.н.)
  • Не са намерени (404) заявки
  • Данни за IP / хост на посетителите
  • OS на посетителите
  • Подробности за браузъра
  • Разпределение на времето
  • Referrer
  • HTTP код на състоянието
  • Гео местоположение

Ако избраният файл се актуализира в реално време, тогава ще забележите, че показателите се актуализират на терминала. Тук можете да преминете през показателите, които трябва да анализирате.

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

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

goaccess /var/log/nginx/access.log -o /var/www/geekflare.com/htdocs/real-time.html –log-format = КОМБИНИРАНО –real-time-html

По-горе пренасочвам изхода към файл в реално време.html, който е достъпен под htdocs. Тъй като това е htdocs, мога да осъществя достъп до този файл от https://geekflare.com/real-time.html винаги, когато трябва да видя показателите.

Красиво табло за управление!

Аз обаче не препоръчвам да се прави по този начин в производството. Сигурен съм, че не искате някой да чете дневниците на вашия уеб сървър и може да искате да приложите следното ограничение.

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

GoAccess изглежда мощен анализатор на журнали с отворен код. Лек е и БЕЗПЛАТЕН, така че продължете напред и опитайте.

Може да се интересувате и от проверка на анализатор на дневници в облак.

ЕТИКЕТИ:

  • мониторинг

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me