1

AWSSTATS を使用して Apache ログを分析するときに問題が発生しました。
過去には、すべてがうまく機能していました。
しかし、サーバーのログ形式が変更されました。

古い形式の例:

194.206.22.25 - - [14/Dec/2009:12:23:33 +0100] "GET /gPM-Systems/css/default.css HTTP/1.1" 404 1036

新しい形式の例:

356652,mics,194.206.22.24,194.206.22.24,-,[05/Jul/2011:15:11:18 +0200],"GET /index.html HTTP/xx",302,-

古い形式の場合、選択する適切な LogFormat は 4 でした。現在は、次のカスタム形式です。

LogFormat="%other %other %host %other %logname %time1 %methodurl %code"

また、LogSeparator を " " ではなく "," に変更しました。

私の問題は、すべてのレコードが削除されることです。
-showdropped オプションは、次のことを示します。

ドロップされたレコード (LogType=W の場合、メソッド/プロトコル 'GET /apache_pb.gif' は修飾されません): 356652,mics,194.206.22.24,194.206.22.24,-,[05/Jul/2011:15:11:18 +0200] ,"GET /apache_pb.gif HTTP/1.0",302,-

4

2 に答える 2

0

ログの形式を変更したときに、同様の問題が発生しました。形式が変更され、フィールド区切り文字としてタブが使用されたため、同じエラーが発生しました。

LogFile構成オプションについては、既にパイプを使用していました。そこでtr '\t' ' ' |、最後に追加してタブをスペースに切り替えました。次に、AWStats 構成をスペースで区切るように変更しました。

この後、AWStats にログを解析させることができました。おそらくそれはあなたにとってもうまくいくでしょう。

LogFile構成オプションにパイプをまだ使用していない場合は、 を使用catしてファイルを に取得できますtr

LogFile="cat /log/file/path/*.log | tr '\t' ' ' |"
于 2012-01-26T00:55:54.253 に答える
0

HTTP/1.x を何も置き換えないでこの問題を解決する

于 2015-06-02T15:18:57.970 に答える