Was Sie hier wahrscheinlich tun möchten, ist, alle diese Protokolldateien einmal zu analysieren und von da an nur noch die aktuellen Protokolldateien zu analysieren.
Am einfachsten ist es, alle diese Dateien in eine einzelne Datei zu entpacken, awstats einmal darüber laufen zu lassen und von da an awstats auf Ihre access.log-Datei zu richten.
awstats hat normalerweise ein Skript namens logresolvemerge.pl, das die komprimierten Dateien lesen kann und sie entsprechend zusammenführt, damit awstats eine Analyse durchführen kann.
Führen Sie aus, um alle vorhandenen zusammenzuführen
perl /usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log* > /tmp/nginx.tmplog
Dies wird wahrscheinlich eine Weile dauern.
Sie können awstats dann einmal über diese Datei ausführen lassen (LogFile entsprechend einstellen).
Von da an sollten Sie awstats über die neueste Protokolldatei ausführen lassen - genau das macht Ihre aktuelle Konfiguration.
Abhängig davon, wie oft Sie awstats gegen rotierende Nginx-Protokolldateien ausführen, möchten Sie möglicherweise, dass diese sowohl die aktuelle als auch die vorherige Protokolldatei lesen. (Wenn Sie z. B. Nginx-Protokolldateien jeden Tag um 12 drehen, aber awstats jeden Tag um 1 ausführen, enthält die Protokolldatei bei jeder Ausführung von awstats nur das, was seit der letzten Drehung geschrieben wurde.) Sie können logresolvemerge.pl in Ihrem LogFile-Befehl folgendermaßen verwenden:
LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log /var/log/nginx/access.log.1.gz |"
Dies weist awstats an, den Befehl logresolvemerge.pl mit den beiden Protokolldateien als Parameter auszuführen, und awstats liest die Ausgabe dieses Skripts ein (das ist, was die Pipe | tut).
logresolvemerge.pl
die Weiterleitung der Ausgabe an awstats ist eine großartige Lösung.Alternativ können Sie einen Echtzeit-Protokollanalysator wie GoAccess verwenden. Es ist sehr schnell und Sie müssen kein Protokoll entpacken.
apache & nginx
http://goaccess.prosoftcorp.com/
ODER
quelle