Skip to content

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

ログ検索

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

Log Explorer を使うと、Cloudflare のログを Cloudflare ダッシュボードまたは API 上で保存・確認でき、サードパーティサービスへ転送しなくてもログを把握できます。ログは R2 オブジェクトストレージを使って Cloudflare のグローバルネットワークに保存され、ダッシュボードまたは SQL API で照会できます。

Log Explorer を使う場面

本番トラフィックで実際に何が起きたかを調べるときは、Log Explorer を使います。

  • 過去のデータと傾向の分析
  • 発生後のセキュリティインシデントの調査
  • 数千件のリクエストにわたるパターンの検索
  • アプリケーションパフォーマンスの継続的な監視
  • サポートチーム向けのフォレンジック証拠の提供

シミュレーションしたリクエストで何が起きるかを確認したい場合は、Trace を使います。

  • ルールが想定どおりに発動しなかった理由を調べる
  • さまざまなリクエストシナリオでルールの扱いを試す
  • ルールの評価順を確認する
  • 別の地理位置や条件からリクエストをシミュレートする

大きな違いは、Log Explorer は実際のトラフィックを表示し、Trace は「もし〜なら」というシミュレーションを表示する点です。

Log Explorer を使う

ダッシュボードまたは API でログをフィルターし、表示できます。

  1. Cloudflare ダッシュボードで、Log Explorer > Log Search ページを開きます。

    Log search を開く ↗
  2. 使う Dataset を選び、Columns でデータセットのフィールドを選びます。ゾーンスコープのデータセットを選んだ場合は、使うゾーンも選びます。

  3. Limit を入力します。Limit は返す結果の最大件数です。例: 50。

  4. 照会する Time period を選びます。例: 直近 12 時間。

  5. Add filter を選んでクエリを作成します。FieldOperatorValue を選んでから Apply を選びます。

  6. クエリのプレビューが表示されます。クエリを変更するには Custom SQL を選びます。

  7. 準備ができたら Run query を選びます。結果は下の Query results セクションに表示されます。

たとえば、特定の Ray ID を持つ HTTP リクエストを探すには、Custom SQL を開き、次の SQL クエリを入力します。

SELECT
	clientRequestScheme,
	clientRequestHost,
	clientRequestMethod,
	edgeResponseStatus,
	clientRequestUserAgent
FROM http_requests
WHERE RayID = '806c30a3cec56817'
LIMIT 1

別の例として、特定の期間から選んだ列で Cloudflare Access のリクエストを探す場合は、次の SQL クエリを実行できます。

SELECT
	CreatedAt,
	AppDomain,
	AppUUID,
	Action,
	Allowed,
	Country,
	RayID,
	Email,
	IPAddress,
	UserUID
FROM access_requests
WHERE Date >= '2025-02-06' AND Date <= '2025-02-06' AND CreatedAt >= '2025-02-06T12:28:39Z' AND CreatedAt <= '2025-02-06T12:58:39Z'

リクエストヘッダー、応答ヘッダー、Cookie を照会するには、先に Custom fields でこれらのフィールドのログ記録を有効にする必要があります。カスタムフィールドの一覧は API またはダッシュボードで設定します。Logpush ジョブ自体を変更する必要はありません。

次の例は、日付、タイムスタンプ、クライアントの国、カスタムリクエストヘッダーで HTTP リクエストを照会する方法です。照会するヘッダーや Cookie は、事前にログ記録してください。

SELECT clientip, clientrequesthost, clientrequestmethod, edgeendtimestamp, edgestarttimestamp, rayid, clientcountry, requestheaders
FROM http_requests
WHERE Date >= '2025-07-17'
  AND Date <= '2025-07-17'
  AND edgeendtimestamp >= '2025-07-17T07:54:19Z'
  AND edgeendtimestamp <= '2025-07-18T07:54:19Z'
  AND clientcountry = 'us'
  AND requestheaders."x-test-header" like '%654AM%';

クエリを保存する

クエリ用のフィールドをすべて選んだあと、Save query を選んで保存できます。あとで識別しやすい名前と説明を付けます。保存済みクエリと最近のクエリを見るには Queries を選びます。サイドパネルに表示され、新しいクエリの挿入や、任意のクエリの削除ができます。

Security Analytics との連携

Security Analytics ダッシュボード から、Log Explorer のダッシュボードを直接開くこともできます。その場合、Security Analytics で適用したフィルターは、Log Explorer のクエリへ自動で引き継がれます。

クエリを最適化する

Log Explorer が対応するすべてのテーブルには、date という特別な列があります。この列でスキャンするデータ量を絞ると、クエリの応答が速くなります。date の値は YYYY-MM-DD 形式である必要があります。たとえば、2023 年 10 月 12 日に発生したログを照会するには、WHERE 句に次を追加します: date = '2023-10-12'。この列は <>= の標準演算子をサポートします。

  1. Cloudflare ダッシュボード にログインし、アカウントを選びます。
  2. Log Explorer > Log Search > Custom SQL を開きます。
  3. 次の SQL クエリを入力します。
SELECT
	clientip,
	clientrequesthost,
	clientrequestmethod,
	clientrequesturi,
	edgeendtimestamp,
	edgeresponsestatus,
	originresponsestatus,
	edgestarttimestamp,
	rayid,
	clientcountry,
	clientrequestpath,
	date
FROM
	http_requests
WHERE
	date = '2023-10-12' LIMIT 500

クエリ最適化の追加のヒント

  • 照会する時間範囲を狭めます。処理するデータ量を減らすため、短い時間枠に絞ります。過剰なデータを照会せずに済み、応答が速くなります。
  • ORDER BYLIMIT 句は省略します。これらの句は、特に大きなデータセットでクエリを遅くすることがあります。多数のレコードが返るクエリでは、広い時間枠から新しい N 件に制限するのではなく、時間枠自体を狭めます。
  • 必要な列だけを選びます。たとえば、SELECT * を、必要な列の一覧に置き換えます。最初は SELECT RayId で試し、その Ray ID で絞り込んで追加の列を取得する方法もあります。条件に合うレコードがある時間枠を探るだけなら、データセット全体を取得せずに SELECT COUNT(*) も使えます。

役に立ちましたか?