Úvod
GoAccess je open source analyzátor webových protokolů v reálném čase a interaktivní prohlížeč, který běží v terminálu v systémech *nix nebo prostřednictvím vašeho prohlížeče .
Poskytuje rychlé a cenné statistiky HTTP pro systémové administrátory, kteří vyžadují vizuální serverovou zprávu za běhu.
GoAccess byl navržen jako rychlý terminálový analyzátor protokolů. Jeho hlavní myšlenkou je rychlá analýza a zobrazení statistik webového serveru v reálném čase aniž byste museli používat prohlížeč (skvělé, pokud chcete provést rychlou analýzu svého protokolu přístupu přes SSH nebo pokud prostě rádi pracujete v terminálu ).
I když je výstup terminálu výchozím výstupem, má schopnost generovat kompletní, samostatný v reálném čase HTML report (skvělý pro analýzu, monitorování a vizualizaci dat ), a také přehled JSON a CSV.
INSTALACE
Instalace GoAccess je docela snadná. Stačí jej stáhnout, extrahovat a zkompilovat
Ukážeme si, jak jej nainstalovat na nejběžnější různé linuxové distribuce.
Nainstalujte GoAccess na RHEL/CentOS 8
Metoda 1:
Sestavení z webu goaccess
Postupujte podle těchto kroků a spusťte níže uvedené příkazy, abyste mohli začít s instalací.
Nejprve byste měli nainstalovat epel repo a aktualizovat systémové balíčky.
dnf -y install epel-release
dnf -y update
shutdown -r now
GoAccess je napsán v programovacím jazyce C. Jedinou požadovanou závislostí je tedy ncurses knihovna a gcc . Chcete-li nainstalovat ncurses a gcc , spustit:
dnf -y install ncurses-devel gcc
Nainstalujte volitelné balíčky spuštěním:
dnf -y install geoip-devel tokyocabinet-devel
Možná budete muset nainstalovat nástroje pro vytváření, jako je autoconf a gettext
dnf install -y autoconf gettext
Stáhněte si goaccess tarball pomocí:
[root@unixcop ~]# wget https://tar.goaccess.io/goaccess-1.5.1.tar.gz
--2021-09-14 09:43:47-- https://tar.goaccess.io/goaccess-1.5.1.tar.gz
Resolving tar.goaccess.io (tar.goaccess.io)... 67.205.130.138
Connecting to tar.goaccess.io (tar.goaccess.io)|67.205.130.138|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 642860 (628K) [application/x-gzip]
Saving to: 'goaccess-1.5.1.tar.gz'
goaccess-1.5.1.tar.gz 100%[=======================================================================>] 627.79K 395KB/s in 1.6s
2021-09-14 09:43:51 (395 KB/s) - 'goaccess-1.5.1.tar.gz' saved [642860/642860]
[root@unixcop ~]#
Poté jej extrahujte a zkompilujte pomocí níže uvedených příkazů:
[root@unixcop ]# tar -xzvf goaccess-1.5.1.tar.gz
[root@unixcop ]# cd goaccess-1.5.1/
[root@unixcop goaccess-1.5.1]# ./configure --enable-utf8
[root@unixcop goaccess-1.5.1]# make
[root@unixcop goaccess-1.5.1]# make install
Metoda 2:
Sestavení z GitHubu (vývoj)
Pro spuštění instalace z GitHubu stačí spustit níže uvedené příkazy:
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fi
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
$ make install
Nainstalujte GoAccess na ostatní distribuce
Fedora
# yum install goaccess
Arch Linux
# pacman -S goaccess
Gentoo
# emerge net-analyzer/goaccess
OS X / Homebrew
# brew install goaccess
FreeBSD
# pkg install sysutils/goaccess
OpenBSD
# pkg_add goaccess
OpenSUSE
# zypper ar -f obs://server:http http
# zypper in goaccess
pkgsrc (NetBSD, Solaris, SmartOS)
# pkgin install goaccess
Slackware
# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz
# cd goaccess/
# GEOIP=yes ./goaccess.SlackBuild
Jak používat GoAccess z terminálu
Vyberte soubor protokolu podle používaného operačního systému a webového serveru. Na systémech založených na Debianu se protokoly generují pod /var/log/apache2 adresář a systém založený na Redhat Apache vytvářejí protokoly pod /var/log/httpd adresář. Použijte volbu -f k definování souboru protokolu pomocí příkazu goaccess.
goaccess -f /var/log/httpd/access_log
Poté vyberte formát protokolu.
POZNÁMKA :Výchozí formát protokolu Apache je KOMBINOVANÝ.
GoAccess vám také umožňuje definovat formát protokolu pomocí –log-format možnosti příkazů. Například pro použití formátu protokolu COMBINED bude příkaz:
goaccess /var/log/httpd/access_log --log-format=COMBINED
Na systémové konzoli uvidíte výstup jako níže:
Možná jste si všimli, že v protokolech nejsou žádné požadavky
Udělejme nějaké požadavky.
Výstup goaccess na systémové konzoli by se měl změnit takto:
Pokud se posunete dolů, všimnete si informací o operačních systémech a prohlížečích, které vyžadují webovou stránku, jak je uvedeno níže.
Stisknutím tlačítka „q“ opustíte prohlížeč terminálu GoAccess.
Zobrazení výstupu GoAccess ve Web Dashboard
GoAccess umožňuje uživatelům generovat zprávy v různých formátech, jako je HTML, JSON a CSV. Hlášení můžeme vygenerovat pomocí následujícího příkazu do html souboru.
[root@unixcop ~]# goaccess /var/log/httpd/access_log --log-format=COMBINED -a -o /var/www/html/report.html
[PARSING /var/log/httpd/access_log] {0} @ {0/s}
[root@unixcop ~]#
- -a – Povolit seznam uživatelských agentů podle hostitele
- -o – Používá se k definování výstupního souboru
- Výstupní formát je vybrán automaticky na základě přípony výstupního souboru
Dále přejděte na soubor report.html pomocí adresy IP serveru nebo názvu domény, jak je uvedeno níže:
K aktualizaci souboru webového panelu použijte službu crond
Můžete naplánovat příkaz goaccess pro aktualizaci html zprávy.
Stačí vytvořit skript shellu
vim /mnt/goaccess.sh
Poté přidejte následující :
!/bin/bash
goaccess /var/log/httpd/access_log --log-format=COMBINED -a -o /var/www/html/report.html
Poté naplánujte výše uvedený skript pomocí crontab:
crontab -e
Přidejte následující obsah na konec souboru
#Cron job to update Goaccess HTML repot
* * * * * /mnt/goaccess.sh
Závěr
V této příručce jste vysvětlili, jak nainstalovat a používat GoAccess pro zobrazení protokolů webového serveru ve vizuálních formátech.