小さな予約プログラムが起動され、アクセス ポータルは Nginx を通じて設定されています。デフォルトのログにはリクエスト時間が含まれていないため、将来の参照と最適化された使用のために各リクエストのアクセス応答時間を記録するように設定する必要があります。 .
デフォルトのログ形式は次のとおりです (デフォルトはコメントアウトされており、システムが自動的に使用します):
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main;
デフォルトに基づいて、より懸念される応答時間の 2 つのパラメータを追加しただけです: request_time と上流_response_time
次の設定を開いて変更します (私は使用しました)形式 2 以降、時間が前に表示され、見やすくなります):
時間データ パラメータを含むログ形式 1
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$upstream_response_time"'; access_log logs/access.log main;
時間パラメータの表示順序を調整しました形式 2:
log_format main '$remote_addr - $remote_user [$request_time $upstream_response_time] [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main;
Note Yes: log_format と access_log コメントの両方を解放する必要があります。log_format を解放するだけでは有効になりません。
#形式 2 に設定した後、対応する正規表現を使用して 1 秒を超えるログを表示できます。 2 つの手順は次のとおりです:
##1.高亮时间数据的正则表达式 tail -f access.log |grep "\[[0-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]" ##2.大于1秒的日志的正则表达式,即将第一个数字改成[1-9]即可 tail -f access.log |grep "\[[1-9]\.[0-9][0-9][0-9] [0-9]\.[0-9][0-9][0-9]\]"
$remote_addr : クライアント アドレス
$remote_user: クライアント ユーザー名
$time_local:アクセス時間とタイムゾーン
$request: リクエストされた URI と HTTP プロトコル
$status: HTTP リクエストのステータス
$body_bytes_sent: クライアントに送信されたファイル コンテンツのサイズ
$http_referer : URLジャンプ元
$http_user_agent: ユーザー端末ブラウザ等の情報
$ http_host: リクエスト アドレス、つまりブラウザに入力したアドレス (IP またはドメイン名)
$request_time: 処理にかかる合計時間ユーザーデータ受信時間を含むリクエスト
: 接続を確立してから上流サーバーから応答本文の最後のバイトを受信するまでの時間
: アップストリーム サーバーへの接続の確立に費やした時間
:接続の確立と接続の確立に費やした時間 上流サーバーが応答ヘッダーの最初のバイトを受信するまでの時間
127.0.0.1 - - [03/May/2022:12:02:51 0800] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" "Mozilla /5.0 (Windows NT 10.0; Win64; /verifyCode/getVerifyCode HTTP/1.1" 200 2553 "http://localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ( KHTML、Gecko など) Chrome/99.0.4844.51 Safari/537.36"
修正ログ
127.0.0.1 - - [03/May/ 2022:12:00:47 0800 ] "GET /byhsyyfront/byPages/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/99.0 .4844.51 Safari/537.36" "- " "0.025" "0.025"
127.0.0.1 - - [03/May/2022:12:00:47 0800] "GET /byhsyyGateway/byhsyySystem/verifyCode/getVerifyCode HTTP/1.1 " 200 2178 "http:// localhost:8881/byhsyyfront/byPages/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/99.0.4844.51 Safari/537.36" "- " "0.037" "0.037"
変更後は、応答時間の分析に使用できる、時間に関するパラメーター データがさらに 2 つあることがわかります。
以上がNginxのログ形式を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。