回答:
ここでおそらくやりたいことは、これらすべてのログファイルを一度分析し、それ以降は現在のログファイルのみを分析し続けることです。
最も簡単なことは、これらのファイルをすべて1つのファイルに解凍し、awstatsを1回実行してから、それ以降、access.logファイルでawstatsをポイントすることです。
awstatsには通常、logresolvemerge.plというスクリプトがあります。これは圧縮ファイルを読み取ることができ、awstatsが分析を行うためにそれらを適切にマージします。
既存のものをすべてマージするには、実行します
perl /usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log* > /tmp/nginx.tmplog
これにはおそらくしばらく時間がかかります。
その後、このファイルに対してawstatsを1回実行できます(LogFileを適切に設定します)。
それ以降は、最新のログファイルに対してawstatsを実行する必要があります。これが現在の構成の動作です。
awstatsを実行する頻度とnginxログファイルを回転させる頻度に応じて、現在のログファイルと以前のログファイルの両方を読み取らせたい場合があります。(たとえば、nginxログファイルを毎日12でローテーションし、awstatsを毎日1で実行する場合、awstatsを実行するたびにログファイルには最後のローテーション以降に書き込まれたもののみが含まれます)。LogFileコマンド内でlogresolvemerge.plを次のように使用できます。
LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log /var/log/nginx/access.log.1.gz |"
これは、awstatsに2つのログファイルをパラメーターとしてlogresolvemerge.plコマンドを実行するように指示し、awstatsはそのスクリプトの出力を読み取ります(パイプが行うことです)
logresolvemerge.pl
出力をawstatsにパイプすることは素晴らしい解決策です。
または、GoAccessなどのリアルタイムログアナライザーを使用できます。とても高速で、ログを解凍する必要はありません。apache & nginx
http://goaccess.prosoftcorp.com/
zcat -f access.log* | goaccess -a -s -b
または
zcat access.log.*.gz | goaccess -a -s -b