ほとんどのツールで簡単に認識して解析できるように、そのログを共通の形式で保存する方法を探しています。
Goaccessツールによって自動的に認識され、応答時間をサポートできる形式に興味があります。
これまでのところ、デフォルトのログ設定は認識されていないようです。
Nginxはデフォルトで、結合ログ形式(NCSA)を出力します。
構成ダイアログから最初のオプションを選択すると、GoAccessは自動的にそれを認識します(または、構成ファイルからNCSA結合ログ形式のコメントを完全に解除します)。
リクエスト時間をログに記録する場合は、nginx構成ファイルを変更し、カスタムログ形式を追加する必要があります。
vi /etc/nginx/nginx.conf
それから加えて:
log_format timed_combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' '$request_time';
新しい形式を使用するようにアクセスログを変更します。
access_log /var/log/nginx/timed.log timed_combined;
そしてnginxを再起動します
Access.logがリクエスト時間を記録していることを確認してください。次に、%T
をgoaccesslog-format
に次のように追加できます。
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" %T
GoAccess 彼らのページで正しいと言っています:
Apache/Nginx Common/Combined + VHosts
ログが解析されていない場合は、GoAccessログを調べて、何が問題なのかを確認する必要があります。
さらに:
GoAccessでは、任意のカスタムログ形式の文字列を使用できます。
そのため、カスタム形式でツールに指示する方法を調べる必要がある場合があります。