Logtailプラグインを使用して、NGINXログをlog_formatに基づいて構造化データに解析できます。 この場合、ログは複数のキーと値のペアに解析されます。
NGINXログの概要
NGINXサーバーは、log_formatとaccess_logに基づいてNGINXアクセスログを生成します。 次のコードは、log_formatとaccess_logのデフォルト設定を示しています。
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$request_time $request_length '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent"';
access_log /var/logs/nginx/access.log main
次の表に、ログフィールドを示します。
項目 | 説明 |
remote_addr | クライアントの IP アドレス。 |
remote_user | クライアントがリクエストを送信するために使用するユーザー名。 |
time_local | サーバーのシステム時刻。 値は [] で囲む必要があります。 |
request | リクエストのURIおよびHTTPプロトコル。 |
request_time | リクエストの処理に必要な時間。 単位は秒です。 |
request_length | リクエストの長さ。 リクエスト行、リクエストヘッダー、リクエスト本文がすべてカウントされます。 |
status | リクエストのステータス。 |
body_bytes_sent | クライアントに送信される応答のバイト数。 レスポンスヘッダーはカウントされません。 |
http_referer | ソースwebページのURL。 |
http_user_agent | クライアントのブラウザ情報。 |
エントリーポイント
Logtailプラグインを使用してログを処理する場合は、Logtail設定を作成または変更するときにLogtailプラグイン設定を追加できます。 詳細については、「概要」をご参照ください。
設定の説明
パラメーター | 説明 |
NGINXログ設定 | NGINX設定ファイルで指定されたログ設定セクション。 セクションはlog_formatで始まります。 例:
詳細については、「NGINXログの概要」をご参照ください。 |
元のフィールド | 解析前のログコンテンツを格納する元のフィールド。 デフォルト値: content。 |
抽出フィールド | NGINXログ設定に基づいて自動的に抽出されるキー。 |
解析に失敗した場合に元のフィールドを保持する | [解析に失敗した場合に元のフィールドを保持する] を選択した後、解析に失敗した場合に元のフィールドが保持されます。 |
解析が成功した場合に元のフィールドを保持する | [解析が成功した場合に元のフィールドを保持する] を選択した後、解析が成功した場合に元のフィールドが保持されます。 |
元のフィールドの新しい名前 | [解析が失敗した場合に元のフィールドを保持する] または [解析が成功した場合に元のフィールドを保持する] を選択した場合、ログコンテンツを格納する元のフィールドの名前を変更できます。 |