To, co prawdopodobnie chcesz tutaj zrobić, to raz przeanalizować wszystkie te pliki dziennika, a następnie dalej analizować tylko bieżące pliki dziennika.
Najprostszą rzeczą do zrobienia jest rozpakowanie wszystkich tych plików do jednego pliku, a następnie uruchomienie jednego z nich pliku awstats, a następnie wskazanie pliku awstats na pliku access.log.
awstats zwykle ma skrypt o nazwie logresolvemerge.pl, który może odczytać skompresowane pliki i scali je odpowiednio dla awstats w celu przeprowadzenia analizy.
Aby połączyć wszystkie istniejące, uruchom
perl /usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log* > /tmp/nginx.tmplog
To zajmie trochę czasu.
Następnie możesz raz uruchomić awstats na tym pliku (odpowiednio ustaw LogFile).
Od tego momentu powinieneś uruchamiać awstaty na najnowszym pliku dziennika - właśnie to robi twoja obecna konfiguracja.
W zależności od tego, jak często uruchamiasz awstats a obracając pliki logów nginx, możesz chcieć, aby odczytał zarówno bieżący, jak i poprzedni. (np. jeśli obracasz pliki dzienników nginx codziennie o godzinie 12, ale codziennie uruchamiasz awstats o 1, to za każdym razem, gdy uruchamia się awstats, plik dziennika będzie zawierał tylko to, co zostało zapisane od ostatniej rotacji). Możesz użyć logresolvemerge.pl w komendzie LogFile w następujący sposób:
LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log /var/log/nginx/access.log.1.gz |"
Mówi to awstats, aby uruchomiło komendę logresolvemerge.pl z dwoma plikami logów jako parametrami, a awstats przeczyta dane wyjściowe tego skryptu (to właśnie robi potok |
logresolvemerge.pl
przesyłanie danych wyjściowych do awstats jest świetnym rozwiązaniem.Alternatywnie możesz użyć analizatora dziennika w czasie rzeczywistym, takiego jak GoAccess. Jest naprawdę szybki i nie musisz rozpakowywać żadnego dziennika.
apache & nginx
http://goaccess.prosoftcorp.com/
LUB
źródło