web-dev-qa-db-ja.com

goaccessによるnginxログ分析

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ページをチェックしました。

  1. http://goaccess.prosoftcorp.com/faq
  2. http://wiki.nginx.org/HttpLogModule
22
husnu

次の~/.goaccessrc

date_format %d/%b/%Y:%T %z
log_format %h - - [%d] "%r" %s %b "%R" "%u"

GoAccessをwheezyリポジトリからバイナリパッケージとしてインストールしました(ソースの再コンパイルなし)。

25
Ilya I

CLF形式の文字列を使用していると仮定すると、goaccess-cで実行し、構成メニューからNCSA Combined Log Formatを選択します。

enter image description here

nginxの"$time_local""23/Aug/2010:03:50:59 +0000"に置き換えられているため、〜/ .goaccessrcにdate_format %d/%b/%Yを追加するとそれが実行されます。

更新1

ソースからのv0.5のインストール

  1. Download最新バージョン
  2. tar -xzvf goaccess-0.5.tar.gz
  3. cd goaccess-0.5/
  4. ./configure --enable-utf8
  5. make
  6. Sudo make install
  7. goaccess -a -c /var/log/Apache2/access.log

    注:すでにインストールされている場合は、zcatを使用する前に手順7を実行するだけで済みます。

14
Kayla

グローバルオプションを使用しない場合は、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

6
Dhiraj Thakur

あなたと同じ問題に遭遇しました!構成ファイルのパスが正しい "/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

もう一度やり直してください

3
vincent