Nginxのログ形式を設定する方法

WBOY
リリース: 2023-05-15 22:43:12
転載
2412 人が閲覧しました

小さな予約プログラムが起動され、アクセス ポータルは Nginx を通じて設定されています。デフォルトのログにはリクエスト時間が含まれていないため、将来の参照と最適化された使用のために各リクエストのアクセス応答時間を記録するように設定する必要があります。 .

1. デフォルトのログ形式

デフォルトのログ形式は次のとおりです (デフォルトはコメントアウトされており、システムが自動的に使用します):

    #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。私が使用するログ形式

デフォルトに基づいて、より懸念される応答時間の 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]\]"
ログイン後にコピー

Nginxのログ形式を設定する方法

##3. パラメータ

Description

  • $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: 処理にかかる合計時間ユーザーデータ受信時間を含むリクエスト

  • ##$upstream_response_time

    : 接続を確立してから上流サーバーから応答本文の最後のバイトを受信するまでの時間

  • $upstream_connect_time

    : アップストリーム サーバーへの接続の確立に費やした時間

  • $upstream_header_time

    :接続の確立と接続の確立に費やした時間 上流サーバーが応答ヘッダーの最初のバイトを受信するまでの時間

  • 4. テスト効果

デフォルト ログの前変更

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート