Skip to content

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

S3 互換エンドポイントを有効にする

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

Cloudflare Logpush は、Cloudflare ダッシュボードまたは API から、次を含む S3 互換の保存先へログをプッシュできます。

Logpush と現行の本番 API の詳細は、Cloudflare Logpush のドキュメントを参照してください。

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

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

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

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

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

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

  1. Select a destinationS3-Compatible を選びます。

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

    • Bucket - S3 互換バケット名
    • Path - ストレージコンテナ内のバケット位置
    • Organize logs into daily subfolders(推奨)
    • Endpoint URL - バケット名やパスを含まない URL。例: sfo2.digitaloceanspaces.com
    • Bucket region
    • Access Key ID
    • Secret Access Key

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

  1. ストレージサービスへプッシュするデータセットを選択します。

  2. 次のステップで Logpush ジョブを設定します。

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

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

API で管理する

S3 互換エンドポイントを設定する手順は次のとおりです。

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

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

1. ジョブを作成する

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

  • name(任意) - ジョブ名にはドメイン名を使います。
  • destination_conf - エンドポイント名、バケット名、バケットパス、リージョン、access-key-id、secret-access-key からなるログ保存先です。次の文字列形式を使います。
"s3://<BUCKET_NAME>/<BUCKET_PATH>?region=<REGION>&access-key-id=<ACCESS_KEY_ID>&secret-access-key=<SECRET_ACCESS_KEY>&endpoint=<ENDPOINT_URL>"
  • dataset - 受け取りたいログのカテゴリです。対応データセットの一覧は データセット を参照してください。
  • 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": "s3://<BUCKET_NAME>/<BUCKET_PATH>?region=<REGION>&access-key-id=<ACCESS_KEY_ID>&secret-access-key=<SECRET_ACCESS_KEY>&endpoint=<ENDPOINT_URL>",
		"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": "s3://<BUCKET_NAME>/<BUCKET_PATH>?region=<REGION>&access-key-id=<ACCESS_KEY_ID>&secret-access-key=<SECRET_ACCESS_KEY>&endpoint=<ENDPOINT_URL>",
    "last_complete": null,
    "last_error": null,
    "error_message": null
  },
  "success": true
}

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

役に立ちましたか?