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

この機械翻訳は、参考として提供されています。

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

問題を作成する

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

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

ログ送信のオプション

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

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

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

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

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

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

  1. AWS マネジメントコンソールで、

    Services > All services > S3

    選択します。

  2. Create bucket

    を選択します。

  3. Bucket name

    を入力し、希望する

    AWS region

    を選択します。 (標準ログ記録を使用している場合は、S3 バケットが次のセクションで作成する Lambda 関数と同じリージョンにある必要があることに注意してください。)

  4. Object ownership

    セクションで、

    ACLs enabled

    を選択します。

  5. Create bucket

    を選択します。

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

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

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

  1. AWS マネジメントコンソールで、

    Services > All Services > CloudFront

    選択します。

  2. ディストリビューション

    ID

    をクリックします。 [全般] タブの [設定] セクションで

    Edit

    を選択します。

  3. Standard logging

    セクションで、

    On

    を選択してログ記録を有効にし、ログ記録の構成設定を表示します。

  4. S3 bucket

    では、上記で作成した S3 バケット名を検索して選択します。

  5. オプション: cloudfront_logsのようなログ接頭辞を追加できます。

  6. Save changes

    を選択します。

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関数がインストールされたら、

    Functions > NewRelic-s3-log-ingestion

    を選択します。

  3. S3の下の

    + Add trigger

    ボタンを選択します。

  4. Trigger Configuration

    の場合は、S3 を選択します。

  5. Bucket

    では、上記で作成した S3 バケットを検索して選択します。

  6. Recursive invocation

    セクションで、確認ボックスをオンにして、

    Add

    を選択します。

  7. 関数の

    Configuration

    タブで、左側の

    Environment variables

    オプションを選択します。

  8. Edit

    を選択し、 LOG_TYPEcloudfront-webと入力します。

  9. Save

    を選択します。

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

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

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

  1. AWS マネジメントコンソールで、

    Services > Kinesis

    選択します。

  2. Data streams

    選択し、次に

    Create data stream

    選択します。

  3. Data stream name

    入力してください。 たとえば、 CloudFront-DataStream

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

  5. Create data stream

    を選択します。

  6. Consumers

    セクションで、

    Process with delivery stream

    を選択します。

  7. Destination

    の場合は、

    New Relic

    を選択します。

  8. Delivery stream name

    入力してください。 たとえば、 CloudFront-DeliveryStream

  9. Destination

    設定セクションの HTTP エンドポイント URL で、

    New Relic logs - US

    または

    New Relic logs - EU

    選択します。

  10. API key

    には、New Relic アカウントの

    を入力します。

  11. Add parameter

    を選択します。

  12. 以下の手順 21 でログインするすべてのフィールドを選択する場合は、

    Key

    logtypeを入力し、

    Value

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

  13. Backup settings

    セクションでは、好みに応じて、

    Failed data

    のみを選択するか、

    Source record backup in Amazon S3

    オプションに

    All data

    選択できます。

  14. S3 バックアップ バケットの場合は、

    Browse

    を選択して検索し、CloudFront ログを保存するために上記で作成した S3 バケット名を選択します。

  15. Create delivery stream

    を選択します。

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

  1. AWS マネジメントコンソールで、

    Services > CloudFront

    選択します。

  2. 左側の

    Telemetry section

    で、

    Logs

    を選択します。

  3. Real-time configurations

    タブをクリックし、

    Create configuration

    を選択します。

  4. 構成名を入力します。例: CloudFront-RealTimeLogs .

  5. 1から100までのサンプリング レートを入力します。

  6. Fields

    の場合は、

    All fields

    を選択するか、ログに含めるフィールドを選択します。

  7. Endpoint

    には、手順 3 で作成したデータ ストリーム名を選択します。 例: CloudFront-DataStream

  8. Distrubutions

    セクションで、CloudFront ディストリビューション ID を選択します。

  9. Cache behaviors

    の場合は、

    Default (*)

    を確認してください。

  10. Create configuration

    を選択します。

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

リアルタイムのログ解析

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

カスタム解析ルールを作成するには、ログ UI のManage dataセクションでParsingを選択します。

  1. Rule name

    にはCloudFront custom parsing ruleと入力します。

  2. Filter logs based on NRQL

    の場合はlogtype='cloundfront-rtl-custom'と入力します。

  3. 以下の Grok 解析ロジックを更新して、リアルタイム ログ設定で選択したフィールド

    only

    が含まれるようにします。 たとえば、 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. ルールを有効にして、

    Save parsing rule

    を選択します。

Creating a CloudFront custom parsing rule

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

次は何ですか?

Dashboard in Amazon CloudFront Access Logs quickstart

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.