Nginx のログフォーマットおよびディレクトリは/etc/nginx/nginx.conf設定ファイルに指定します。

Nginx のログフォーマット

ログ設定ファイルに、Nginx ログの出力フォーマットが定義されています (main フォーマット)。
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                 '$request_time $request_length '
                 '$status $body_bytes_sent "$http_referer" '
                 '"$http_user_agent"';

次の宣言文には、 main ログフォーマットおよびログデータの書き込み先ファイル名が定義されています。

access_log /var/logs/nginx/access.log main

フィールド説明

フィールド名 定義
remote_addr クライアントの IP アドレス
remote_user クライアントのユーザー名
request リクエスト URL および HTTP プロトコル
status リクエストステータス
body_bytes_sent クライアントへの送信バイト数 (応答ヘッダーを含まない。本変数は、Apache モジュールの modlogconfig で bytes_sent と併せて使用)
connection 接続のシリアル番号
connection_requests 接続で受信したリクエストの数
msec ログ書き込み時間(ミリ秒単位)
pipe リクエスト送信を HTTP パイプライン経由にするかどうか (HTTP パイプライン経由でリクエストを送信する場合はp、パイプライン経由でリクエストを送信しない場合は.を指定)
http_referer Web ページの参照元
“http_user_agent” クライアントのブラウザ情報 (http_user_agent は、二重引用符で囲むこと)
request_length リクエストの長さ (リクエスト行、リクエストヘッダー、およびリクエスト本文を含む)
request_time リクエストの処理時間 (単位: ミリ秒単位、最初のバイトがクライアントに送信されてから、最後の文字がクライアントに送信されるまでの時間)
[$time_local] 一般的なログフォーマットが適用されるローカル時刻 (本変数は角かっこで囲むこと)

ログサンプル

192.168.1.2 - - [10/Jul/2015:15:51:09 +0800] "GET /ubuntu.iso HTTP/1.0" 0.000 129 404 168 "-" "Wget/1.11.4 Red Hat modified"

Logtail を使用した Nginx ログの収集

  1. Logstoreリストページのデータインポートウィザードアイコンをクリックすると、データインポートウィザードが起動します。
  2. データソースを選択します。

    テキストファイルを選択し、次へをクリックします。

  3. データソースを選択します。
    1. 構成名およびログパスを入力します。
    2. Nginx のログフォーマットを入力します。

      Nginx 標準のログフォーマット設定を入力します。通常、log_formatで始まります。Log Service によって、ご利用の Nginx キーが自動的に読み込まれます。

    3. 必要に応じて詳細オプションを設定します。設定したら、次へをクリックします。

      詳細については、「詳細オプション」をご参照ください。

    Logtail を設定したら、設定をマシングループに適用します。Nginx ログの収集が開始されます。