• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Cloudflare Logpushを使ったログの転送

Cloudflare Logpush サービスを設定し、Cloudflare ダッシュボードまたは API 経由で New Relic にログを送信します。

Cloudflareのダッシュボードで管理

Cloudflareのダッシュボード経由でNew RelicへのLogpushサービスを有効にする方法です。

  1. Cloudflare ダッシュボード にログインし、Logpush で使用したい Enterprise ドメインを選択します。

  2. Analytics> Logs にアクセスしてください。

  3. Connect a service をクリックすると、モーダルウィンドウが表示されます。

  4. ストレージサービスにプッシュしたいデータセットを選択します。

  5. ログに含めるデータフィールドを選択します。 Logs> Logpush で設定を変更することにより、後からフィールドの追加や削除が可能です。

  6. New Relic を選択します。

  7. New Relicのログエンドポイントを入力してください:

    私たち: "https://log-api.newrelic.com/log/v1?Api-Key=<NR_LICENSE_KEY>&format=cloudflare"

    EU: "https://log-api.eu.newrelic.com/log/v1?Api-Key=<NR_LICENSE_KEY>&format=cloudflare"

    NewRelicアカウントで設定したリージョンを使用します。 <NR_LICENSE_KEY>、UIまたはAPIから取得できるNewRelicライセンスキーに置き換えます。

  8. アクセスを確認する をクリックします。

  9. Save and Start Pushing をクリックして、Logpushの有効化を完了します。

接続すると、Cloudflare は Logs> Logpush の下に接続されたサービスとして New Relic をリストアップします。ここから接続されているサービスを編集または削除します。

Cloudflare APIによる管理

1.ジョブの作成

ジョブを作成するには、次のフィールドを使用してLogpushジョブエンドポイントにPOSTリクエストを送信します。

  • name (オプション):ドメイン名をジョブ名として使用します。

  • logpull_options (オプション):フィールド、サンプルレート、およびタイムスタンプ形式を構成するには、 LogpushAPIオプションを参照してください。 Cloudflareログをクエリするために、NewRelicではフィールドをUnixタイムスタンプとして送信する必要があります。

  • destination_conf:エンドポイントURL、ライセンスキー、および次の文字列形式の形式で構成されるログの宛先:

    <NR_ENDPOINT_URL>:New Relic HTTPログ取り込みエンドポイント。これは、New Relicアカウントに設定されているリージョンに応じて、米国の場合はhttps://log-api.newrelic.com/log/v1 、EUの場合はhttps://log-api.eu.newrelic.com/log/v1です。 <NR_LICENSE_KEY>UIまたはAPIから取得できるNewRelicライセンスキーに置き換えます。 format :形式はcloudflareです。

    例えば:

    私たち: "https://log-api.newrelic.com/log/v1?Api-Key=<NR_LICENSE_KEY>&format=cloudflare"

    EU: "https://log-api.eu.newrelic.com/log/v1?Api-Key=<NR_LICENSE_KEY>&format=cloudflare"

  • max_upload_records (オプション):バッチごとのログ行の最大数。これは少なくとも1,000行以上である必要があります。バッチごとのログ行の最小数を指定する方法はないことに注意してください。これは、ログファイルに含まれる行が指定よりもはるかに少ない可能性があることを意味します。

  • max_upload_bytes (オプション):ログのバッチの最大非圧縮ファイルサイズ。これは少なくとも5MBである必要があります。最小ファイルサイズを設定する方法がないことに注意してください。これは、ログファイルがこのバッチサイズよりもはるかに小さい可能性があることを意味します。とにかく、このパラメーターを5,000,000に設定することをお勧めします。

  • dataset:受信するログのカテゴリ。サポートされているデータセットの完全なリストについては、 Cloudflareのログフィールドのドキュメントを参照してください。

cURLを使用したリクエスト例です。

bash
$
curl -s https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/logpush/jobs -X POST -d '
$
{
$
"name": "<DOMAIN_NAME>",
$
"logpull_options": "fields=ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestURI,EdgeEndTimestamp,EdgeResponseBytes,EdgeResponseStatus,EdgeStartTimestamp,RayID&timestamps=unix",
$
"destination_conf": "https://log-api.newrelic.com/log/v1?Api-Key=<NR_LICENSE_KEY>&format=cloudflare",
$
"max_upload_bytes": 5000000,
$
"dataset": "http_requests",
$
"enabled": true
$
}' \
>
-H "X-Auth-Email: <EMAIL>" \
>
-H "X-Auth-Key: <API_KEY>" | jq .

応答:

bash
$
{
$
"errors" : [],
$
"messages" : [],
$
"result" : {
$
"dataset" : "http_requests",
$
"destination_conf" : "https://log-api.newrelic.com/log/v1?Api-Key=<NR_LICENSE_KEY>&format=cloudflare",
$
"enabled" : true,
$
"error_message" : null,
$
"frequency" : "high",
$
"id" : 100,
$
"kind" : "",
$
"last_complete" : null,
$
"last_error" : null,
$
"logpull_options" : "fields=ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestURI,EdgeEndTimestamp,EdgeResponseBytes,EdgeResponseStatus,EdgeStartTimestamp,RayID&timestamps=unix",
$
"logstream" : true,
$
"max_upload_bytes" : 5000000,
$
"name" : "<DOMAIN_NAME>"
$
},
$
"success" : true
$
}

2.ジョブを有効化(更新)する

ジョブを有効にするには、LogpushジョブエンドポイントにPUTリクエストを送信します。前の手順で返されたジョブIDをURLで使用し、リクエスト本文で{"enabled": true}を送信します。

cURLを使用したリクエスト例です。

bash
$
curl -s -X PUT \
>
https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/logpush/jobs/100 -d'{"enabled":true}' \
>
-H "X-Auth-Email: <EMAIL>" \
>
-H "X-Auth-Key: <API_KEY>" | jq .

応答:

bash
$
{
$
"errors" : [],
$
"messages" : [],
$
"result" : {
$
"dataset" : "http_requests",
$
"destination_conf" : "https://log-api.newrelic.com/log/v1?Api-Key=<NR_LICENSE_KEY>&format=cloudflare",
$
"enabled" : true,
$
"error_message" : null,
$
"frequency" : "high",
$
"id" : 100,
$
"kind" : "",
$
"last_complete" : "null",
$
"last_error" : null,
$
"logpull_options" : "fields=ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestURI,EdgeEndTimestamp,EdgeResponseBytes,EdgeResponseStatus,EdgeStartTimestamp,RayID&timestamps=unix",
$
"logstream" : true,
$
"max_upload_bytes" : 5000000,
$
"name" : "<DOMAIN_NAME>"
$
},
$
"success" : true
$
}

次のステップ

Cloudflareネットワークログから主要なメトリックを確認するために、事前に構築されたダッシュボードを数分で開始します。

Dashboard in Cloudflare network logs quickstart

Cloudflareネットワークログのインスタント可観測性クイックスタートには、事前に構築されたダッシュボードが含まれています。

ログ転送を無効にする

ログ転送機能を無効にするには、 Cloudflare Logpush documentation に記載されている標準的な手順に従ってください。New Relic では、他に何もする必要はありません。

Copyright © 2022 New Relic Inc.