Skip to content

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

IBM Cloud Logs を有効にする

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

Cloudflare Logpush は、ダッシュボードまたは API から IBM Cloud Logs へログを直接プッシュできます。

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

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

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

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

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

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

  1. Select a destinationIBM Cloud Logs を選びます。

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

  • HTTP Source Address — 例: ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles
  • IBM API Key — 詳細は IBM Cloud Logs のドキュメント を参照してください。

保存先の詳細を入力したら、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 で管理する

IBM Cloud Logs 向けのジョブを設定する手順は次のとおりです。

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

1. ジョブを作成する

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

  • name(任意)— ジョブ名にはドメイン名を使います。
  • output_options(任意)— 出力形式と構造を定義します。設定できるフィールドは次のとおりです。
    • output_type
    • timestamp_format
    • batch_prefix と batch_suffix
    • record_prefix と record_suffix
    • record_delimiter
  • destination_conf — Instance ID、Region、IBM API Key からなるログ保存先です。次の文字列形式を使います。

ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>

  • max_upload_records(任意)— 1 バッチあたりの最大ログ行数です。1,000 行以上である必要があります。バッチあたりの最小行数は指定できません。そのため、指定した行数よりかなり少ない行数のログファイルになることがあります。
  • max_upload_bytes(任意)— ログバッチの非圧縮時の最大ファイルサイズです。IBM の制限を踏まえ、アップロードあたり 2 MB を推奨します。この保存先ではシステム側でこの値を強制します。最小ファイルサイズは設定できないため、指定したバッチサイズより小さいログファイルになることがあります。
  • dataset — 受け取りたいログのカテゴリです。対応データセットの一覧は データセット を参照してください。

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>",
		"output_options": {
				"output_type": "ndjson",
				"timestamp_format": "rfc3339",
				"batch_prefix": "[",
				"batch_suffix": "]",
				"record_prefix": "{\"applicationName\":\"ibm-platform-log\",\"subsystemName\":\"internet-svcs:logpush\",\"text\":{",
				"record_suffix": "}}",
				"record_delimiter": ","
		},
		"destination_conf": "ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>",
		"max_upload_bytes": 2000000,
		"dataset": "http_requests",
		"enabled": true
	}'

レスポンス:

{
  "errors": [],
  "messages": [],
  "result": {
    "id": <JOB_ID>,
    "dataset": "http_requests",
    "kind": "",
    "max_upload_bytes": 2000000,
    "enabled": true,
    "name": "<DOMAIN_NAME>",
    "output_options": {
      "output_type": "ndjson",
      "timestamp_format": "rfc3339",
      "batch_prefix": "[",
      "batch_suffix": "]",
      "record_prefix": "{\"applicationName\":\"ibm-platform-log\",\"subsystemName\":\"internet-svcs:logpush\",\"text\":{",
      "record_suffix": "}}",
      "record_delimiter": ","
    },
    "destination_conf": "ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>",
    "last_complete": null,
    "last_error": null,
    "error_message": null
  },
  "success": true
}

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

役に立ちましたか?