goaccess を使用してnginxログを解析および分析し、分析したログからレポートを取得します。しかし、zcat -f access.log.*.gz | goaccess -a -c
コマンドを実行すると、次のエラーが発生します。
GoAccess - version 0.5 - Jun 26 2012 04:30:08
An error has occurred
Error occured at: parser.c - process_log - 584
Message: No date format was found on your conf file.
date_format %D %T
という行を.goaccessrcファイルに追加しようとしましたが、次のエラーが発生しました。
GoAccess - version 0.5 - Jun 26 2012 04:30:08
An error has occurred
Error occured at: parser.c - process_log - 588
Message: No log format was found on your conf file.
私はそれがnginxが使用する日付とログのフォーマットを要求すると思います。 nginx構成に日付やログの形式がありません。
さらに、以前のバージョンのgoaccess(0.4.2バージョン)を使用しようとしましたが、zcat -f access.log.*.gz | goaccess -a -c
コマンドは正常に機能します。日付やログ形式を要求することはなく、goaccessメニューを表示して、必要なデータを表示できます。
しかし、zcat -f access.log.*.gz | goaccess -a -c > report.html
コマンドを使用してHTMLレポートを取得しようとしても、何も実行されません。ただ待つだけです(警告やエラーを出さずに)
注:私はこのWebページをチェックしました。
次の~/.goaccessrc
:
date_format %d/%b/%Y:%T %z
log_format %h - - [%d] "%r" %s %b "%R" "%u"
GoAccessをwheezyリポジトリからバイナリパッケージとしてインストールしました(ソースの再コンパイルなし)。
CLF形式の文字列を使用していると仮定すると、goaccess
を-c
で実行し、構成メニューからNCSA Combined Log Format
を選択します。
nginxの"$time_local"
は"23/Aug/2010:03:50:59 +0000"
に置き換えられているため、〜/ .goaccessrcにdate_format %d/%b/%Y
を追加するとそれが実行されます。
更新1:
ソースからのv0.5のインストール
Download
最新バージョンtar -xzvf goaccess-0.5.tar.gz
cd goaccess-0.5/
./configure --enable-utf8
make
Sudo make install
goaccess -a -c /var/log/Apache2/access.log
注:すでにインストールされている場合は、zcat
を使用する前に手順7を実行するだけで済みます。
グローバルオプションを使用しない場合は、goaccessで--no-global-config
オプションを使用します。私はこれを使用して、ログファイルを毎日処理しています。
grep --color=auto `date +"%d/%b"` /var/log/nginx/sitename.access.log | goaccess --no-global-config > report.html
goaccessバージョン:0.8
あなたと同じ問題に遭遇しました!構成ファイルのパスが正しい "/etc/goaccess.conf"これを実行してみてください
echo "date_format %d/%b/%Y
> log_format %h %^[%d:%^] “%r” %s %b “%R” “%u” %T
> time_format %H:%M:%S" >> /etc/goaccess.conf
もう一度やり直してください