コンテンツにスキップ

フィルター

以下の表は、サポートされている比較演算子とその例を示しています。フィルターは、{"key":"<field>","operator":"<comparison_operator>","value":"<value>"}の形式でエスケープされたJSON文字列として追加されます。

  • 各データセットに関連するフィールドのリストについては、ログフィールドページを参照してください。

  • 比較演算子は、式がtrueを返すために、値がログ行のフィールドにどのように関連する必要があるかを定義します。

  • 値はフィールドに関連付けられたデータを表します。

フィルターのフィールドには、約30の演算子と1000バイトの制限があります。この値を超えるとエラーが返されます。

論理演算子

  • フィルターは、ANDORの論理演算子を使用して接続できます。

  • 論理演算子はネストできます。

以下は、論理演算子の実装例です。XYZはフィルター基準を表します:

  • X AND Y AND Z - {"where":{"and":[{X},{Y},{Z}]}}

  • X OR Y OR Z - {"where":{"or":[{X},{Y},{Z}]}}

  • X AND (Y OR Z) - {"where":{"and":[{X}, {"or":[{Y},{Z}]}]}}

  • (X AND Y) OR Z - {"where":{"or":[{"and": [{X},{Y}]},{Z}]}}

APIまたはダッシュボードを介してフィルターを設定する

フィルターはAPIまたはCloudflareダッシュボードを介して設定できます。フィルターの使用はオプションですが、使用する場合はwhereキーを含める必要があります。

API

以下は、APIを介してcURLを使用したリクエストの例です:

Terminal window
curl -s -X POST https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/logpush/jobs \
-H 'X-Auth-Key: <KEY>' \
-H 'X-Auth-Email: <EMAIL>' \
-H 'Content-Type: application/json' \
-d '{
"name":"static-assets",
"output_options": {
"field_names": ["ClientIP", "EdgeStartTimestamp", "RayID"],
"sample_rate": 0.1,
"timestamp_format": "rfc3339"
"CVE-2021-44228": "true"
},
"dataset": "http_requests",
"filter":"{\"where\":{\"and\":[{\"key\":\"ClientRequestPath\",\"operator\":\"contains\",\"value\":\"/static\"},{\"key\":\"ClientRequestHost\",\"operator\":\"eq\",\"value\":\"example.com\"}]}}",
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2/"
}' | jq .

ダッシュボード

ダッシュボードを介してフィルターを設定するには:

  1. Cloudflareダッシュボードにログインし、使用するドメインを選択します。
  2. Analytics & Logs > Logsに移動します。
  3. Add Logpush jobを選択します。モーダルウィンドウが開きます。
  4. ストレージサービスにプッシュするデータセットを選択します。
  5. Select data fieldsの下のFilterセクションでフィルターを設定できます。
  6. FieldOperator、およびValueを選択する必要があります。
  7. ANDおよびORの論理演算子を使用して、さらにフィルターを接続できます。
  8. Nextを選択して、Logpushジョブの設定を続行します。