Einführung
GoAccess ist ein Open-Source-Echtzeit-Weblog-Analysator und interaktiver Viewer, der in einem Terminal läuft in *nix-Systemen oder über Ihren Browser .
Es bietet schnell und wertvolle HTTP-Statistiken für Systemadministratoren, die spontan einen visuellen Serverbericht benötigen.
GoAccess wurde als schneller, terminalbasierter Protokollanalysator entwickelt. Seine Kernidee ist die schnelle Analyse und Anzeige von Webserver-Statistiken in Echtzeit ohne Ihren Browser verwenden zu müssen (super, wenn Sie eine schnelle Analyse Ihres Zugriffsprotokolls über SSH durchführen möchten oder wenn Sie einfach gerne im Terminal arbeiten ).
Während die Terminalausgabe die Standardausgabe ist, hat sie die Fähigkeit, eine vollständige, in sich geschlossene Echtzeit zu generieren HTML-Bericht (ideal für Analysen, Überwachung und Datenvisualisierung ) sowie einen JSON- und CSV-Bericht.
INSTALLATION
Die Installation von GoAccess ist ziemlich einfach. Einfach herunterladen, extrahieren und kompilieren
Wir werden veranschaulichen, wie man es auf den gängigsten verschiedenen Linux-Distributionen installiert.
Installieren Sie GoAccess auf RHEL/CentOS 8
Methode 1:
Von der goaccess-Site erstellen
Befolgen Sie diese Schritte und führen Sie die folgenden Befehle aus, um mit der Installation zu beginnen.
Zuerst sollten Sie epel repo installieren und die Systempakete aktualisieren.
dnf -y install epel-release
dnf -y update
shutdown -r now
GoAccess ist in der Programmiersprache C geschrieben. Daher ist die einzige erforderliche Abhängigkeit die ncurses Bibliothek und gcc . Um die ncurses zu installieren und gcc , ausführen:
dnf -y install ncurses-devel gcc
Installieren Sie die optionalen Pakete, indem Sie Folgendes ausführen:
dnf -y install geoip-devel tokyocabinet-devel
Möglicherweise müssen Sie auch Build-Tools wie autoconf installieren und gettext
dnf install -y autoconf gettext
Laden Sie den goaccess-Tarball herunter mit:
[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 ~]#
Extrahieren und kompilieren Sie es dann mit den folgenden Befehlen:
[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
Methode 2:
Build von GitHub (Entwicklung)
Führen Sie einfach die folgenden Befehle aus, um die Installation von GitHub zu starten:
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fi
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
$ make install
Installieren Sie GoAccess auf den anderen Distributionen
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
So verwenden Sie GoAccess vom Terminal aus
Wählen Sie die Protokolldatei basierend auf Ihrem Betriebssystem und verwendeten Webserver aus. Auf Debian-basierten Systemen werden Protokolle unter /var/log/apache2 generiert -Verzeichnis und das Redhat-basierte System Apache erstellen Protokolle unter /var/log/httpd Verzeichnis. Verwenden Sie die Option -f, um die Protokolldatei mit dem Befehl goaccess zu definieren.
goaccess -f /var/log/httpd/access_log
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042816024112.png)
Wählen Sie dann das Protokollformat aus.
HINWEIS :Das standardmäßige Apache-Protokollformat ist COMBINED.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042816024281.png)
Mit GoAccess können Sie auch das Protokollformat mit –log-format definieren Befehlsoptionen. Um beispielsweise das Protokollformat COMBINED zu verwenden, lautet der Befehl:
goaccess /var/log/httpd/access_log --log-format=COMBINED
Sie sehen die Ausgabe auf der Systemkonsole wie folgt:
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042816024285.png)
Sie haben vielleicht bemerkt, dass es keine Anfragen in den Protokollen
gibtLassen Sie uns ein paar Anfragen erledigen.
Die Ausgabe von goaccess auf der Systemkonsole sollte wie folgt geändert werden:
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042816024275.png)
Wenn Sie nach unten scrollen, sehen Sie Informationen über Betriebssysteme und Browser, die die Webseite wie unten gezeigt anfordern.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042816024285.png)
Sie können „q“ drücken, um den GoAccess-Terminal-Viewer zu verlassen.
GoAccess-Ausgabe im Web-Dashboard anzeigen
Mit GoAccess können Benutzer Berichte in verschiedenen Formaten wie HTML, JSON und CSV erstellen. Wir können den Bericht generieren, indem wir den folgenden Befehl in einer HTML-Datei verwenden.
[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 – Aktivieren Sie eine Liste von Benutzeragenten nach Host
- -o – Wird verwendet, um die Ausgabedatei zu definieren
- Das Ausgabeformat wird automatisch basierend auf der Erweiterung des Ausgabedateinamens ausgewählt
Greifen Sie als Nächstes mit der Server-IP-Adresse oder dem Domänennamen wie unten gezeigt auf report.html zu:
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042816024272.png)
Verwenden Sie den crond-Dienst, um die Web-Dashboard-Datei zu aktualisieren
Sie können den Befehl goaccess planen, um den HTML-Bericht zu aktualisieren.
Erstellen Sie einfach ein Shell-Skript
vim /mnt/goaccess.sh
Fügen Sie dann Folgendes hinzu:
!/bin/bash
goaccess /var/log/httpd/access_log --log-format=COMBINED -a -o /var/www/html/report.html
Planen Sie dann das obige Skript mit crontab:
crontab -e
Fügen Sie den folgenden Inhalt am Ende der Datei hinzu
#Cron job to update Goaccess HTML repot
* * * * * /mnt/goaccess.sh
Schlussfolgerung
In dieser Anleitung haben Sie erklärt, wie Sie GoAccess installieren und verwenden um Webserverprotokolle in visuellen Formaten anzuzeigen.