• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

Amazon CloudFront のアクセス ログを転送する

Amazon CloudFront ディストリビューションからのログ記録を有効にして、Web アクセス ログを New Relic に送信できます。

ログ送信のオプション

CloudFront からログを送信するには、標準ログまたはリアルタイム ログの 2 つのオプションがあります。

標準ログは CloudFront から S3 バケットに送信され、そこに保存されます。次に、AWS Lambda トリガーを使用して、S3 から New Relic にログを送信します。標準ログ (アクセス ログ) の設定と使用については、Amazon CloudFront のドキュメントを参照してください。これには、S3 バケットの作成と適切な権限の設定に関する詳細情報が含まれています。標準ログにはすべてのデータ フィールドが含まれ、S3 に送信され、5 分ごとに New Relic に送信されます。Amazon コンソールで標準ログを設定し、S3 Lambda トリガーを介して New Relic に送信する方法の詳細な手順については、 「標準ログを有効にする」セクションを参照してください。

リアルタイム ログは、Kinesis Data Stream コンシューマーと Kinesis Data Firehose を使用してリクエストを受信してから数秒以内に送信され、New Relic に配信されます。リアルタイム ログの設定については、Amazon CloudFront のドキュメントを参照してください。リアルタイム ログは構成可能で、サンプリング レート (送信するログの割合) を構成し、ログ レコードで受信する特定のフィールドを選択し、ログを受信する特定のキャッシュ動作 (パス パターン) を定義できます。リアルタイム ログには、すべてのデータまたは失敗したデータのみを送信するための S3 バックアップ バケットも必要です。そのため、リアルタイム ログを有効にするには、S3 バケットを作成するための指示にも従う必要があります。Amazaon コンソールで標準ログを構成し、S3 Lambda トリガーを介して New Relic に送信する方法の詳細な手順については、 「リアルタイム ログを有効にする」セクションを参照してください。

どちらのオプションでも、組み込みのログ解析ルールを使用して CloudFront アクセス ログを自動的に解析し、クイックスタート ダッシュボードを使用してデータの洞察をすぐに得ることができます。組み込みの解析ルールを機能させ、提供されたクイックスタート ダッシュボードのウィジェットにデータを入力するには、手順で定義されているようにlogtype属性を構成する必要があります。一部のロギング フィールドのみを選択した場合のリアルタイム ログの解析の詳細については、「解析」セクションを参照してください。

CloudFront ログを保存するための S3 バケットを作成する

CloudFront ディストリビューションで標準ログまたはリアルタイム ログを有効にするには、最初に CloudFront アクセス ログの保存に使用する S3 バケットを作成する必要があります。

  1. AWS マネジメント コンソールで、 [サービス] > [すべてのサービス] > [S3]を選択します。
  2. [バケットの作成] を選択します。
  3. バケット名を入力し、選択したAWS リージョンを選択します。(標準ログを使用している場合、S3 バケットは、次のセクションで作成する Lambda 関数と同じリージョンにある必要があることに注意してください。)
  4. [オブジェクトの所有権]セクションで、[有効な ACL]を選択します。
  5. [バケットの作成] を選択します。

標準ログまたはリアルタイム ログのいずれかを有効にできるようになりました。これらのオプションの手順については、読み続けてください。

標準ロギングを有効にする

CloudFront ディストリビューションを更新して、標準ログを有効にします。

  1. AWS マネジメント コンソールで、 [サービス] > [すべてのサービス] > [CloudFront]を選択します。
  2. ディストリビューションIDをクリックします。[全般] タブで、[設定] セクションの [編集] を選択します。
  3. [標準ログ]セクションで、[オン] を選択してログを有効にし、ログの構成設定を表示します。
  4. S3 バケットで、上で作成した S3 バケット名を検索して選択します。
  5. オプション: cloudfront_logsのようなログ接頭辞を追加できます。
  6. [変更を保存] を選択します。

5 分以内に、次のファイル名形式でログ ファイルが S3 バケットに表示されるようになります。

<optional prefix>/<distribution ID>.YYYY-MM-DD-HH.unique-ID.gz

次に、AWS Lambda 関数NewRelic-log-ingestion-s3をインストールして設定し、S3 のアクセス ログを New Relic に送信する必要があります。適切なLOG_TYPE環境変数を設定できるように、Amazon CloudFront ログに単一の Lambda 関数が必要になります。これにより、 CloudFront 組み込みの解析ルールクイックスタート ダッシュボードを使用できるようになります。この Lambda 関数がすでにリージョンにインストールされており、それを使用して他の S3 ログ (ALB/NLB ログなど) を New Relic に送信している場合は、Lambda 関数を別のリージョンに再度インストールする必要があります。また、前述したように、アクセス ログを保存するための S3 バケットと S3 ログを New Relic に送信するための Lambda 関数は同じリージョンにある必要があります。

これらの手順を実行するには:

  1. ここの手順に従って、 S3 からログを送信するように AWS Lambda を設定します
  2. Lambda 関数がインストールされたら、[関数] > [NewRelic-s3-log-ingestion] を選択します。
  3. S3 の下の [ + トリガーの追加] ボタンを選択します。
  4. [トリガー構成][S3] を選択します。
  5. Bucketで、上で作成した S3 バケットを検索して選択します。
  6. [再帰呼び出し] セクションで、確認ボックスをオンにして [追加] を選択します。
  7. 関数の [構成] タブで、左側の [環境変数] オプションを選択します。
  8. [編集]を選択し、 LOG_TYPEcloudfront-webと入力します。
  9. Select Save.

5 分以内に、ログ UI にログが表示され始めるはずです。ログを受信していることを確認するには、 ログ UI の検索バーlogtype:cloudfront-web を検索するか、次のような NRQL クエリを実行します。 FROM Log SELECT * WHERE logtype='cloudfront-web'

リアルタイム ログを有効にする

CloudFront ディストリビューションのリアルタイム ログを有効にするには、最初に CloudFront ログを受信するための Kinesis Data Stream を作成する必要があります。

  1. AWS マネジメント コンソールで、 [サービス] > [Kinesis]を選択します。

  2. [データ ストリーム] を選択し、次に [データ ストリーム作成] を選択します。

  3. データ ストリーム名を入力します。たとえば、 CloudFront-DataStream .

  4. 選択したデータ ストリーム容量モードを選択します。

  5. [データ ストリームの作成] を選択します。

  6. [コンシューマー]セクションで、 [配信ストリームで処理] を選択します。

  7. DestinationにはNew Relicを選択します。

  8. 配信ストリーム名を入力します。たとえば、 CloudFront-DeliveryStream .

  9. Destination settings セクションの HTTP エンドポイント URL で、 New Relic logs - USまたはNew Relic logs - EUを選択します。

  10. API キーには、

    New Relic アカウント用。

  11. [パラメーターの追加] を選択します。

  12. 以下のステップ 21 でログイン用にすべてのフィールドを選択する場合は、[キー]logtypeと入力し、[値]cloudfront-rtlと入力します。以下のステップ 21 でログイン用のフィールドのサブセットを選択する場合は、 cloudfront-rtl-customと入力します。すべてのフィールドを選択しない場合は、ログのカスタム解析ルールを作成する方法について、以下のリアルタイム ログ解析セクションを参照してください。

  13. [バックアップ設定] セクションで、好みに応じて、[失敗したデータのみ] または [ Amazon S3 のソース レコードのバックアップ] オプションの [すべてのデータ] を選択できます。

  14. S3 バックアップ バケットの場合は、[参照] を選択して、CloudFront ログを保存するために上で作成した S3 バケット名を検索して選択します。

  15. [配信ストリームを作成] を選択します。

次に、リアルタイム ロギング構成を作成し、CloudFront ディストリビューションにアタッチします。

  1. AWS マネジメント コンソールで、 [サービス] > [CloudFront]を選択します。
  2. 左側の [テレメトリ] セクションで、 [ログ]を選択します。
  3. [リアルタイム構成] タブをクリックし、[構成の作成] を選択します。
  4. 構成名を入力します。例: CloudFront-RealTimeLogs .
  5. 1から100までのサンプリング レートを入力します。
  6. [フィールド]で、[すべてのフィールド] を選択するか、ログに含めるフィールドを選択します。
  7. Endpointには、手順 3 で作成したデータ ストリーム名を選択します。例: CloudFront-DataStream .
  8. [ディストリビューション] セクションで、 CloudFrontディストリビューション ID を選択します。
  9. キャッシュの動作については、 [デフォルト (*)]をオンにします。
  10. [設定の作成] を選択します。

数分以内に、 ログ UIにログが表示され始めるはずです。リアルタイム ログを受信していることを確認するには、ログ UI 検索バーで logtype:cloudfront-rtl* を検索するか、次のような NRQL クエリを使用して検索できます。 FROM Log SELECT * WHERE logtype LIKE 'cloudfront-rtl%'

リアルタイムのログ解析

リアルタイム ログの組み込み解析ルールは、すべてのフィールドがログに記録されることを前提としています。フィールドのサブセットのみをログに記録することを選択した場合は、ログ形式に一致するカスタム解析ルールを定義する必要があります。これは、ログを正しく解析し、クイックスタート ダッシュボードを使用するために必要です。

カスタム解析ルールを作成するには、ログ UI の[データの管理] セクションで [解析]を選択します。

  1. [ルール名] にCloudFront custom parsing ruleと入力します。

  2. NRQL に基づいてログをフィルターするにはlogtype='cloundfront-rtl-custom'と入力します。

  3. 以下の Grok 解析ロジックを更新して、リアルタイム ログ構成で選択したフィールドのみが含まれるようにします。たとえば、 cs_headersフィールドを含めないことを選択した場合は、Grok から%{SPACE}%{NOTSPACE:cs_headers}%を削除します。

    ^%{NOTSPACE:timestamp}.\d{3}%{SPACE}%{NOTSPACE:c_ip}%{SPACE}%{NUMBER:time_to_first_byte:INT}%{SPACE}%{NUMBER:sc_status:INT}%{SPACE}%{NUMBER:sc_bytes:INT}%{SPACE}%{WORD:cs_method}%{SPACE}%{NOTSPACE:cs_protocol}%{SPACE}%{NOTSPACE:cs_host}%{SPACE}%{NOTSPACE:cs_uri_stem}%{SPACE}%{NUMBER:cs_bytes:INT}%{SPACE}%{NOTSPACE:x_edge_location}%{SPACE}%{NOTSPACE:x_edge_request_id}%{SPACE}%{NOTSPACE:x_host_header}%{SPACE}%{NUMBER:time_taken:INT}%{SPACE}%{NOTSPACE:cs_protocol_version}%{SPACE}%{NOTSPACE:cs_ip_version}%{SPACE}%{NOTSPACE:cs_user_agent}%{SPACE}%{NOTSPACE:cs_referer}%{SPACE}%{NOTSPACE:cs_cookie}%{SPACE}%{NOTSPACE:cs_uri_query}%{SPACE}%{NOTSPACE:x_edge_response_result_type}%{SPACE}%{NOTSPACE:x_forwarded_for}%{SPACE}%{NOTSPACE:ssl_protocol}%{SPACE}%{NOTSPACE:ssl_cipher}%{SPACE}%{NOTSPACE:x_edge_result_type}%{SPACE}%{NOTSPACE:fle_encrypted_fields}%{SPACE}%{NOTSPACE:fle_status}%{SPACE}%{NOTSPACE:sc_content_type}%{SPACE}%{NOTSPACE:sc_content_len}%{SPACE}%{NOTSPACE:sc_range_start}%{SPACE}%{NOTSPACE:sc_range_end}%{SPACE}%{NUMBER:c_port:INT}%{SPACE}%{NOTSPACE:x_edge_detailed_result_type}%{SPACE}%{NOTSPACE:c_country}%{SPACE}%{NOTSPACE:cs_accept_encoding}%{SPACE}%{NOTSPACE:cs_accept}%{SPACE}%{NOTSPACE:cache_behavior_path_pattern}%{SPACE}%{NOTSPACE:cs_headers}%{SPACE}%{NOTSPACE:cs_header_names}%{SPACE}%{NOTSPACE:cs_headers_count}$
  4. 更新された Grok を解析ロジック セクションに貼り付け、 Test grokを選択して、パーサーが機能していることを検証します。

  5. ルールを有効にしてから、[解析ルールの保存]を選択します。

CloudFront カスタム解析設定のスクリーンショット。

次は何ですか?

Amazon CloudFront Access Logs のクイックスタートには、事前構築済みのダッシュボードが含まれています。

次のステップのアイデアを次に示します。

ログ転送を無効にする

ログ転送機能を無効にするには、2 つのオプションがあります。New Relic への S3 ログの送信を停止したいだけの場合は、 NewRelic-log-ingestion-s3 Lambda 関数で S3 トリガーを削除できます。Amazon CloudFront アクセス ログを完全に無効にする場合は、トリガーを削除し、CloudFront ディストリビューションの一般設定でログをオフにする必要があります。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.