GNU/Linux >> Znalost Linux >  >> Rocky Linux

Jak nainstalovat GoAccess Web Log Analyzer na Rocky Linux 8

GoAccess je open-source lehký analyzátor protokolů, který dokáže číst a analyzovat soubory protokolů různých formátů, včetně Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, Caddy atd. Je napsán v jazyce C a používá knihovnu ncurses pro jeho rozhraní řídicího panelu, ke kterému lze přistupovat z příkazového řádku.

Dokáže generovat sestavy ve formátu HTML, JSON a CSV, které lze sdílet s ostatními. Můžete dokonce generovat zprávy HTML v reálném čase, které lze zobrazit prostřednictvím veřejného odkazu.

V tomto tutoriálu se naučíte nainstalovat GoAccess Analyzer na server založený na Rocky Linuxu a nakonfigurovat jej pro čtení protokolů Nginx a poskytování zpráv v reálném čase.

Předpoklady

  1. Server se systémem Rocky Linux 8.

  2. Uživatel bez oprávnění root s právy sudo.

  3. Nginx běžící na serveru pro přístup k protokolům.

  4. Ujistěte se, že je vše aktualizováno.

    Aktualizace $ sudo dnf

Krok 1 – Instalace závislostí pro GoAccess

Nejnovější verze GoAccess v1.5.2 není k dispozici ve výchozím úložišti. Chcete-li nainstalovat nejnovější verzi GoAccess, vytvoříme ji ze zdroje. Prvním krokem je stažení závislostí potřebných pro vytvoření balíčku GoAccess.

$ sudo dnf install ncurses-devel libmaxminddb-devel openssl-devel $ sudo dnf groupinstall 'Development Tools'

Krok 2 – Stažení a instalace GoAccess

Stáhněte si nejnovější verzi archivu GoAccess. Nejnovější verzi GoAccess najdete na oficiální stránce ke stažení.

$ wget https://tar.goaccess.io/goaccess-1.5.2.tar.gz

Extrahujte soubory z archivu.

$ tar -xzvf goaccess-1.5.2.tar.gz

Nakonfigurujte a nainstalujte balíček.

$ cd goaccess-1.5.2$ autoreconf -fi$ sudo ./configure --enable-utf8 --enable-geoip=mmdb --with-openssl$ sudo make$ sudo make install

Ověřte, že GoAccess běží.

$ goaccess --versionGoAccess - 1.5.2. Další podrobnosti najdete na:https://goaccess.io/Copyright (C) 2009-2020 od Gerarda OrellanaBuild configuration arguments:--enable-utf8 --enable-geoip=mmdb --with-openssl

Krok 3 – Stáhnout databázi GeoIP

GeoIP databázi si můžete stáhnout buď z DB-IP nebo Maxmind. Pokud se chystáte stahovat z Maxmind, budete si muset vytvořit účet a vygenerovat bezplatný licenční klíč. Stahování z DB-IP lze provést přímo.

Stáhněte si soubor zip země z některého z výše uvedených zdrojů. Po stažení je rozbalte a nahrajte .mmdb soubor na serveru do vlastní složky jako /home/<user>/geoip .

Krok 4 – Konfigurace GoAccess

GoAccess ukládá svůj konfigurační soubor na /usr/local/etc/goaccess/goaccess.conf . Umístění souboru ve vašem systému můžete zkontrolovat pomocí následujícího příkazu.

$ goaccess --dcf/usr/local/etc/goaccess/goaccess.conf

Otevřete soubor pro úpravy.

$ sudo nano /usr/local/etc/goaccess/goaccess.conf

Většina možností je okomentována. Tyto možnosti můžete použít buď pomocí příkazového řádku, nebo je nastavit v souboru zde. Chcete-li povolit možnost, odstraňte # znak před ním.

Nejprve povolme time-format volba. V našem tutoriálu budeme analyzovat soubory Nginx, takže povolte možnost určenou pro protokoly Apache/Nginx.

# Následující formát času funguje s kterýmkoli z formátů protokolu # Apache/NGINX níže.#time-format %H:%M:%S

Dále povolte Nginx date-format možnost.

# Následující formát data funguje s jakýmkoliv# formátem protokolu Apache/NGINX níže.#date-format %d/%b/%Y

Dále povolte log-format volba. V našem tutoriálu budeme používat combined formát protokolu, který Nginx běžně používá.

formát protokolu KOMBINOVANÝ

Pokud soubory protokolu obsahují pole Virtuální hostitel, povolte místo toho následující možnost.

formát protokolu VCOMBINED

Předpokládejme, že chcete větší kontrolu nad formátem protokolu. V takovém případě můžete místo toho povolit následující řádek (v závislosti na protokolu, ke kterému přistupujete) a přidat nebo odebrat parametry podle svých potřeb.

Formát protokolu %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Pro aktivaci modulu GeoIP povolte následující možnost zadáním cesty k databázi GeoIP.

# Pro databázi zemí GeoIP2:# Stáhněte si GeoLite2-Country.mmdb.gz# gunzip GeoLite2-Country.mmdb.gz#geoip-database /home/geoip/dbip-country-lite-2021-10.mmdb 

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni po dokončení.

Krok 5 – Spusťte GoAccess

Za normálních okolností, pokud chcete spustit GoAccess, budete muset použít následující příkaz.

$ sudo /usr/local/bin/goaccess /var/log/nginx/access.log

Musíme použít sudo, protože běžní uživatelé nemohou otevřít soubory protokolu. Také budete muset použít úplnou cestu ke spustitelnému souboru s příkazem sudo, protože příkaz sudo nerozpozná aplikace v /usr/local/bin adresář. Omezení však můžete obejít vytvořením symbolického odkazu.

Chcete-li to provést, spusťte následující příkaz.

$ sudo ln -s /usr/local/bin/goaccess /usr/bin/goaccess

Nyní můžete GoAccess spustit přímo.

$ sudo goaccess /var/log/nginx/access.log

Soubory protokolu Nginx uchovávají záznamy o veškerém příchozím provozu HTTP. Pokud váš server běží dlouhou dobu, uvidíte několik protokolů přístupu se staršími protokoly v komprimovaném souboru .gz formát. Starší soubory protokolu jsou generovány jako výsledek rotace protokolu.

Jakmile příkaz spustíte, uvítá vás následující řídicí panel.

GoAccess vám poskytuje několik klávesových zkratek pro navigaci na řídicím panelu.

  • TAB pro pohyb vpřed mezi dostupnými moduly a SHIFT+TAB k pohybu vzad.
  • F5 k obnovení řídicího panelu.
  • g pro přesun do horní části obrazovky řídicího panelu a G přesunout na dno.
  • o nebo ENTER rozbalte vybraný modul.
  • j a k pro posouvání dolů a nahoru v aktivním modulu.
  • s zobrazíte možnosti řazení pro aktivní modul.
  • / pro vyhledávání ve všech modulech a n přejít na další zápas.
  • 0-9 a SHIFT+0 pro rychlou aktivaci příslušného očíslovaného modulu.
  • ? zobrazíte dialogové okno rychlé nápovědy.
  • q k ukončení programu.

Pojďme si ve stručnosti projít všechny panely.

  1. Unikátní návštěvníci za den - Tento panel je samovysvětlující. Uvádí unikátní návštěvníky, hity a kumulativní šířku pásma pro každé datum. Ve výchozím nastavení také zahrnuje webové prohledávače a prohledávače.

  2. Požadované soubory (adresy URL) - Tento panel poskytuje statistiky týkající se nejžádanějších nestatických souborů na vašem serveru.

  3. Statické požadavky - Je podobný výše uvedenému panelu, kromě toho, že zpracovává statické soubory, jako jsou obrázky, CSS, JavaScript atd.

  4. Nenalezené adresy URL (404) - Tento panel zaznamenává všechny požadavky na soubory a cesty, které nebyly nalezeny na vašem serveru.

  5. Názvy hostitelů a adresy IP návštěvníků – Tento panel poskytuje více informací o návštěvnících vašich stránek. Můžete stisknout o rozbalte panel a získejte podrobné informace, jako je země původu, město a reverzní DNS.

  6. Operační systémy - Tento panel zobrazuje různé operační systémy používané návštěvníky.

  7. Prohlížeče - Tento panel zobrazuje různé prohlížeče používané návštěvníky.

  8. Rozdělení času – Tento panel poskytne každou hodinu přehled počtu přístupů, unikátních návštěvníků a spotřebované šířky pásma.

  9. Virtuální hostitelé - Tento panel zobrazuje virtuální hostitele analyzované ze souboru protokolu. Zobrazí se pouze v případě, že použijete VCOMBINED formát protokolu v konfiguračním souboru výše nebo pokud %v je součástí konfigurace formátu protokolu.

  10. Adresy URL referreru – Zde jsou uvedeny adresy URL, které odkazují návštěvníky na váš server. Tento panel je ve výchozím nastavení zakázán. Chcete-li to povolit, zakomentujte následující řádek v konfiguračním souboru přidáním # před ním.

    #ignore-panel REFERRERS
  11. Odkazující stránky - Tento panel zobrazuje IP adresy odkazujících hostitelů.

  12. Klíčové fráze – Tento panel zobrazuje klíčová slova použitá ve Vyhledávání Google, mezipaměti Google nebo Překladači Google, která vedou na váš web. Tento panel je také ve výchozím nastavení zakázán. Povolte jej zakomentováním následujícího řádku v konfiguračním souboru.

    #ignore-panel KEYPHRASES
  13. Stavové kódy HTTP – Tento panel zobrazuje statistiky stavových kódů HTTP vrácených vaším serverem, když odpoví na požadavek.

  14. Vzdálený uživatel (Ověření HTTP) - Tento panel zobrazuje ID uživatele osoby přistupující k dokumentu na vašem serveru, chráněné HTTP autentizací. Tento panel funguje pouze v případě, že %e je součástí konfigurace formátu protokolu.

  15. Stav mezipaměti - Tento panel určuje, zda se požadavek ukládá do mezipaměti a je z něj obsluhován. Tento panel funguje pouze v případě, že %c je součástí konfigurace formátu protokolu.

  16. Geografická poloha – Tento panel poskytuje seznam geografických lokalit návštěvníků přistupujících na váš web. Zobrazí se pouze v případě, že jste si stáhli a přidali jeho umístění do konfiguračního souboru.

Krok 6 – Spusťte GoAccess jako bezprivilegovaný

Dobrým bezpečnostním postupem je, že čím méně kódu funguje jako root, tím lépe. Ke spuštění GoAccess bez rootu potřebuje oprávnění ke čtení souborů protokolu.

Soubory protokolu serveru jsou obvykle součástí adm skupina. Můžete to ověřit pomocí následujícího příkazu.

$ ls -l /var/log/nginxtotal 68-rw-r----- 1 nginx adm 30547 10. října 12:47 access.log-rw-r----- 1 nginx adm 35063 10. října 12:47 error.log

Jak vidíte, k otevření souborů protokolu nemusíte být uživatelem root. Jakýkoli uživatel patřící do adm skupina může soubory otevřít.

Nejjednodušší způsob, jak spustit GoAccess bez root, je přidat aktuálně přihlášeného uživatele do adm skupina. Tímto způsobem můžete spustit GoAccess pod tímto uživatelem bez sudo.

Spuštěním následujícího příkazu přidejte aktuálního uživatele do adm skupina.

$ sudo usermod -aG adm $USER 

Nyní se odhlaste a znovu přihlaste, abyste použili změnu. Nebo můžete spustit následující příkaz, aniž byste se museli odhlásit, abyste provedli změnu.

$ su $USER

Měli byste být schopni spustit GoAccess přímo, aniž byste potřebovali sudo.

$ goaccess /var/log/nginx/access.log

Krok 7 – Generování přehledů HTML

GoAccess lze použít ke generování HTML reportů, které jim můžete podávat online. Pomocí následujícího příkazu vygenerujte zprávu HTML.

$ goaccess /var/log/nginx/access.log -o stats.html

Můžete si buď stáhnout soubor do svého místního počítače pro sebe nebo do složky na webu, aby mohl sloužit veřejně.

Pomocí GoAccess můžete dokonce generovat zprávu HTML v reálném čase. Nejprve však musíte otevřít port 7890 pro spuštění GoAccess Websocket. Otevřete port pomocí následujícího příkazu.

$ sudo firewall-cmd --permanent --add-port=7890/tcp

Chcete-li použít změnu, znovu načtěte bránu firewall.

$ sudo firewall-cmd --reload

Nyní spusťte následující příkaz a vygenerujte zprávu HTML v reálném čase.

$ goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/livereport.html --real-time-html

To by vygenerovalo zprávu v reálném čase na určeném místě. Výše uvedený příkaz bude udržovat GoAccess spuštěný v popředí jako WebSocket naslouchající připojení.

Existuje malé upozornění na spuštění výše uvedeného příkazu. Výše uvedený příkaz bude fungovat, když má GoAccess uživatelská oprávnění na /usr/share/nginx/html adresář. Protože GoAccess spouštíme pod aktuálně přihlášeným uživatelem, musíte tomuto uživateli udělit oprávnění na /usr/share/html adresář. Pokud z nějakého důvodu nemůžete čekat, budete muset spustit GoAccess pomocí sudo.

$ sudo goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/livereport.html --real-time-html

Pokud chcete GoAccess spustit na pozadí, můžete jej spustit jako démona pomocí následujícího příkazu.

$ goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/livereport.html --real-time-html --daemonizeDaemonized GoAccess:78315

Chcete-li zastavit démona GoAccess, ukončete proces následujícím příkazem.

$ sudo kill -9 78315

Zde používáme ID procesu, které jsme získali v našem dřívějším příkazu. Pokud si nepamatujete ID procesu, můžete proces také ukončit pomocí následujícího příkazu.

$ sudo kill -9 `pidof goaccess`

Všimněte si, že v našem příkazu používáme zpětnou uvozovku (`). Použití běžných uvozovek způsobí selhání příkazu.

Závěr

Tímto končí náš tutoriál o instalaci a spuštění GoAccess Log Analyzer na serveru Rocky Linux 8. Pokud máte nějaké dotazy, napište je do komentářů níže.


Rocky Linux
  1. Jak nainstalovat GoAccess Web Log Analyzer na Ubuntu 20.04

  2. Jak nainstalovat Python 3.9 na Rocky Linux 8

  3. Jak nainstalovat Redis na Rocky Linux 8

  1. Jak nainstalovat Rocky Linux 8.4

  2. Jak nainstalovat GoAccess Web Log Analyzer na Ubuntu 20.04

  3. Jak nainstalovat Docker CE na Rocky Linux 8

  1. Jak nainstalovat Snap na Rocky Linux 8

  2. Jak nainstalovat webový server Lighttpd na Rocky Linux 8

  3. Jak nainstalovat Docker CE na Rocky Linux 8