Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Datadog を有効にする

最終更新 Markdown で表示Agent セットアップ

Cloudflare Logpush は、Cloudflare ダッシュボードまたは API から、ログを Datadog に直接送信できます。

Cloudflare ダッシュボードで管理する

  1. Cloudflare ダッシュボードで、アカウントまたはドメイン(ゾーンとも呼ばれます)の Logpush ページを開きます。

    アカウントの場合: Logpush を開く ↗

    ドメイン(ゾーン)の場合: Logpush を開く ↗

  2. 選んだ範囲に応じて、それぞれ アカウントスコープのデータセットゾーンスコープのデータセット を利用できます。

  3. Create a Logpush job を選択します。

  1. Select a destination で、Datadog を選びます。

  2. 次の送信先情報を入力または選択します。

    • Datadog URL Endpoint。次のいずれかです。違いについては Datadog API reference を参照してください。
  • http-intake.logs.datadoghq.com/v1/input
  • http-intake.logs.datadoghq.com/api/v2/logs
  • Datadog API Key は、こちらの手順 に従って取得できます。

  • ServiceHostnameDatadog ddsource fieldddtags は URL パラメーターとして設定できます。詳細は、Datadog ドキュメントの Logs セクション を参照してください。これらのパラメーターは任意ですが、ログのインデックス作成や処理に役立ちます。値に特殊文字が含まれる場合は URL エンコードしてください。

送信先の詳細を入力したら、Continue を選択します。

  1. ストレージサービスに送信するデータセットを選択します。

  2. 次の手順で、Logpush ジョブを設定します。

    • Job name を入力します。
    • If logs match では、ログに含めるイベントや除外するイベントを選べます。詳細は Filters を参照してください。このオプションがないデータセットもあります。
    • Send the following fields では、すべてのログを送信先に送るか、送信するログを選ぶかを選べます。
  3. Advanced Options では、次の設定ができます。

    • ログ内のタイムスタンプフィールドの形式を選びます(RFC3339(デフォルト)、Unix、または UnixNano)。
    • ログの サンプリングレート を選ぶか、ランダムにサンプリングした割合のログを送信します。
    • CVE-2021-44228 のリダクションを有効にします。このオプションは、${ の出現をすべて x{ に置き換えます。
  4. Logpush ジョブの設定が終わったら、Submit を選択します。

API で管理する

Datadog の Logpush ジョブを設定するには、次の手順を実行します。

  1. 適切なエンドポイント URL と認証パラメーターでジョブを作成します。
  2. ジョブを有効にして、ログの送信を開始します。

Logpush ジョブの読み取りや設定の前に、Log Share の権限が有効になっていることを確認してください。詳細は Roles のセクション を参照してください。

1. ジョブを作成する

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

  • name(任意)— ジョブ名にはドメイン名を使います。

  • destination_conf — エンドポイント URL、認可ヘッダー、および Datadog がサポートする 0 個以上の任意パラメーターからなるログ送信先です。次の文字列形式を使います。

    • <DATADOG_ENDPOINT_URL>: Datadog の HTTP ログ取り込みエンドポイントです。次のいずれかです。違いについては Datadog API reference を参照してください。

    https://http-intake.logs.datadoghq.com/api/v2/logs

  • <DATADOG_API_KEY>: Datadog の API トークンです。こちらの手順 に従って取得できます。例: 20e6d94e8c57924ad1be3c29bcaee0197d

  • ddsource: cloudflare に設定します。

  • servicehostddtags: Datadog が許可する任意パラメーターです。

"datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>&ddsource=cloudflare&service=<SERVICE>&host=<HOST>&ddtags=<TAGS>"
  • dataset — 受け取りたいログのカテゴリです。対応データセットの一覧は Datasets を参照してください。
  • output_options(任意)— フィールド、サンプルレート、タイムスタンプ形式の設定は、Log Output Options を参照してください。

cURL を使ったリクエスト例:

Required API token permissions

At least one of the following token permissions is required:
  • Logs Write
Create Logpush jobbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "<DOMAIN_NAME>",
		"destination_conf": "datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>&ddsource=cloudflare&service=<SERVICE>&host=<HOST>&ddtags=<TAGS>",
		"output_options": {
				"field_names": [
						"ClientIP",
						"ClientRequestHost",
						"ClientRequestMethod",
						"ClientRequestURI",
						"EdgeEndTimestamp",
						"EdgeResponseBytes",
						"EdgeResponseStatus",
						"EdgeStartTimestamp",
						"RayID"
				],
				"timestamp_format": "rfc3339"
		},
		"dataset": "http_requests",
		"enabled": true
	}'

レスポンス:

{
  "errors": [],
  "messages": [],
  "result": {
    "id": <JOB_ID>,
    "dataset": "http_requests",
    "kind": "",
    "enabled": true,
    "name": "<DOMAIN_NAME>",
    "output_options": {
      "field_names": ["ClientIP", "ClientRequestHost", "ClientRequestMethod", "ClientRequestURI", "EdgeEndTimestamp", "EdgeResponseBytes", "EdgeResponseStatus" ,"EdgeStartTimestamp", "RayID"],
      "timestamp_format": "rfc3339"
    },
    "destination_conf": "datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>",
    "last_complete": null,
    "last_error": null,
    "error_message": null
  },
  "success": true
}

ジョブの更新(有効化と無効化を含む)は、cURL で Logpush を管理する を参照してください。

制限

Datadog ドキュメント に記載のとおり、Logpush の送信には次の制限があります。

HTTP 経由で Datadog プラットフォームへログを送ります。HTTP リクエストあたりの制限は次のとおりです。

  • ペイロードあたりの最大コンテンツサイズ(非圧縮): 5 MB
  • 1 件のログの最大サイズ: 1 MB
  • 配列で複数ログを送る場合の最大配列サイズ: 1,000 件

役に立ちましたか?