AWStats je open source nástroj pro tvorbu zpráv o webové analytice, který je vhodný pro analýzu dat z internetových služeb, jako jsou webové servery, servery pro streamování médií, poštovní servery a servery FTP. AWStats analyzuje a vyhodnocuje soubory protokolu serveru a vytváří zprávy ve formátu HTML. Data jsou v sestavách vizuálně prezentována pomocí tabulek a sloupcových grafů.
Statické sestavy lze vytvářet prostřednictvím rozhraní příkazového řádku a sestavy na vyžádání jsou podporovány prostřednictvím programu CGI webového prohlížeče. AWStats podporuje většinu hlavních formátů souborů protokolu webového serveru včetně Apache (kombinovaný formát protokolu NCSA/XLF/ELF nebo Common Log Format (CLF)), WebStar, IIS (formát protokolu W3C) a mnoha dalších běžných formátů protokolu webového serveru.
Zdrojový kód vývojáře Awstats od zhruba roku 2014 najdete místo SourceForge na GitHub.
Obsah
ISPConfig 3 Awstats
ISPConfig používá celkem tři druhy statistik, Webalizer, GoAccess a Awstats. Pokud jste si oblíbili Awstats pak snad už od dob Debian 8 lze nainstalovat pouze verzi balíčku Awstats 7.6 i když data vydání verze 7.7 i 7.8 nejsou nejmladší. Konkrétne verze Awstats 7.6 byla vydána 12. 03 2017, poslední verze 7.8 již před více než rokem, konkrétně 30. 04 2020.
Přehled změn Awstats
Změny, zejména v poslední verzi Awstats jsou významné.
Awstats 7.8 Přidání SelectBoxu pro režim DatabaseBreak: měsíc,den a hodina. Aktualizace stavových kódů http Přidat další typy souborů Aktualizace souboru README.md Oprava problému s formátováním geoip2 Corner case 99 Oprava některých nesouvislých záznamů v souboru search_engines.pm Oprava zásuvného modulu geoip2 ve Windows přejmenováním. Aktualizace souboru robots.pm s údaji PR118. Přidat: - PiplBot bot - Um-IC & um-LN bot - arcemedia - bit.ly - bidswitchbot - bnf.fr_bot - contxbot - flamingo - getintent (varianta) - laserlikebot - mappy - mojeek (varianta) - serendeputy - trendiction - yak (linkinfluence) - zoominfobot Změna markdown pro lepší čitelnost Aktualizace roku autorských práv Změna odkazů na https Oprava odkazů pro stažení perlu NOVĚ přidat značku %time6 do formátu protokolu pro podporu některých formátů protokolu IIS geoip2: Oprava chyby formátování tabulky. Chybějící značka položky "<td>". Změny v souboru robots.pm Přidání podpory pro soubory DMG a PKG systému macOS Oprava detekce prohlížeče se stavovým kódem HTTP 206 Podpora systému macOS 10.13/10.14 + vylepšená komprese obrázků ikon. Oprava použití 5 nejčastějších návštěv jako základny 100 pro graf, který zobrazuje 5 nejčastějších návštěv. Vyčištění modulů geoip2 a geoip2 city * Správně převádí názvy dns na adresy ip4 a ip6 pomocí getaddrinfo * Vyhledávání pouze v případě, že IP je typu public a zachytí další chyby při vyhledávání * Ukládání a zobrazování výstupu GeoIP City v HTML escaped * Kód pro provádění a ukládání do mezipaměti skutečného vyhledávání je konsolidován * Obecné zlepšení kódu a jeho čitelnosti Ztrátové zmenšení velikosti obrázků PNG o cca 33 % pomocí zopfli, pngout a oxipng. Přidány také ikony os pro systémy macOS 10.13 a 10.14. Přidání robota: Znalostní umělá inteligence Oprava chyby: RobotsSearchIDOrder_listx není stejný počet záznamů. Úpravy robotů, vyhledávačů a sledování webových stránek Optimalizace pole OptimizeArray Přidáno UptimeRobot https://uptimerobot.com/ Oprava několika gramatických chyb v konfiguraci modelu Ignorovat vyhledávací fráze delší než 80 znaků. Oprava neaktualizující se stránky s detailem 404 Dekódování "nevyhrazených znaků" v adresách URL podle RFC 3986. Varování před vnořenými include pro Perl > 5.6. Aktualizace souboru domains.pm Oprava dvou neplatných záznamů v souboru search_engines.pm Formátování terabajtů Oprava chyby "Nepovolené dělení nulou". Zlepšení zpracování chyb v souboru awstats_buildstaticpages.pl Vyloučení soukromých IP adres, protože GeoIP2::Reader je nepodporuje Ignorovat vyhledávací fráze delší než 80 znaků. Vyčistit pouze data pro uloženou část. Zprovoznit zásuvný modul pro města Opravit problém se sekcí ShowHost, když je adresa vyřešena. Počáteční implementace vyhledávání města GeoIP2. Oprava několika problémů s vyhledáváním zemí. Počáteční implementace. Vyhledávání pouze kódu země pro IPv4 a IPv6. Aktualizace souboru v hebrejštině Poměrně málo doplňků a úprav. Zejména detekce yahoo. Přidán poměr pixelů zařízení ( dpr ) do souboru awstats_misc_tracker.js. Přidáno 37 nových robotů do souboru robots.pm s použitím souboru robots.pm verze 7.7 jako základního souboru. Přesunutí položky oBot níže, aby nebyla nesprávně vybrána pro ostatní roboty *obot. Dekódování "nevyhrazených znaků" v adresách URL podle RFC 3986. Díky tomu awstats považuje "/foo" a "/%66%6f%6f" za ekvivalentní. Chybějící příznak Sint Maarten Chybná značka viz https://dev.maxmind.com/geoip/legacy/codes/iso3166/ Oprava problému název země není správný Oprava souborů utf bom Oprava další zranitelnosti nahlášené bezpečnostním týmem cPanel (může spustit libovolný kód). Přidat další testy Awstats 7.7 Oprava zabezpečení: CVE-2017-1000501 Oprava zabezpečení: Chybějící sanitizace parametrů Oprava LogFormat=4 s url obsahujícími mezery. Oprava zranitelnosti window.opener v externích odkazech na referenční stránky. Přidání methodurlprot do klíče pro definici formátu protokolu. Přidání dynamického vyhledávání DNS. Oprava podpory edge.
Upgrade Awstats v produkčním systému
Debian 10 používá všechny požadované (minimální) verze závislosti pro fungování nejnovější verze Awstats 7.8, zejména Perl 5. Díky poslední verzi Debian 11 BullsEye existuje přímo i .deb balíček Awstats 7.8, to znamená obejdeme se bez kompilace. Upgrade na nejnovější verzi je triviální.
wget http://ftp.de.debian.org/debian/pool/main/a/awstats/awstats_7.8-2_all.deb dpkg -i awstats_7.8-2_all.deb cp /etc/logrotate.d/httpd-prerotate/awstats.dpkg-new /etc/logrotate.d/httpd-prerotate/awstats.sh
Popis kroků aktualizace Awstats
- Stažení Awstats 7.8 debian balíčku
- Instalace debian balíčku pomocí dpkg
- Obnovení spouštěče (skriptu) pre logrotate
Chybová hláška u instalace
dpkg -i awstats_7.8-2_all.deb (Reading database ... 56464 files and directories currently installed.) Preparing to unpack awstats_7.8-2_all.deb ... Unpacking awstats (7.8-2) over (7.6+dfsg-2+deb10u1) ... dpkg: warning: awstats: conffile '/etc/logrotate.d/httpd-prerotate/awstats' is not a plain file or symlink (= '/etc/logrotate.d/httpd-prerotate/awstats') Setting up awstats (7.8-2) ... Installing new version of config file /etc/awstats/awstats.conf ... dpkg: warning: awstats: conffile '/etc/logrotate.d/httpd-prerotate/awstats' is not a plain file or symlink (= '/etc/logrotate.d/httpd-prerotate/awstats') Processing triggers for man-db (2.8.5-2) ...
Chybu řeší vytvoření nového souboru awstats.sh pomocí
cp /etc/logrotate.d/httpd-prerotate/awstats.dpkg-new /etc/logrotate.d/httpd-prerotate/awstats.sh
(popsáno výš).
Porovnání konfiguračních souborů
Pokud nemáme zálohu, nakopírujeme na server kde je aktualizovaná verze Awstats starší soubor awstats.conf a porovnáme jej s nejnovějším
scp -P21122 /etc/awstats/awstats.conf user@11.22.33.44:/user/backup diff soubor_A.conf soubor_B.conf
Použít lte i vizuální porovnávač třeba na diffchecker.com.
Nejpodstatnějším rozdílem je přidaný plugin GeoIP
#LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoIPCity.dat" # PLUGIN: GeoIP2_City # REQUIRED MODULES: GeoIP2::Database::Reader (from Maxmind) # PARAMETERS: [/pathto/GeoLite2-City.mmdb[+/pathto/override.txt]] # DESCRIPTION: This plugin adds a column under the hosts field and tracks the pageviews # and hits by city including regions. # Replace spaces in the path of geoip data file with string "%20". # #LoadPlugin="geoip2_city /pathto/GeoLite2-City.mmdb"

V novém konfiguračním souboru nejsou mimo opravy pravopisních chyb žádné změny.
Užitečné
Statistika Awstats na Debian Linux serveru.
Projekt Awstats na webu.