Log Explorer を使うと、Cloudflare のログを Cloudflare ダッシュボードまたは API 上で保存・確認でき、サードパーティサービスへ転送しなくてもログを把握できます。ログは R2 オブジェクトストレージを使って Cloudflare のグローバルネットワークに保存され、ダッシュボードまたは SQL API で照会できます。
本番トラフィックで実際に何が起きたかを調べるときは、Log Explorer を使います。
- 過去のデータと傾向の分析
- 発生後のセキュリティインシデントの調査
- 数千件のリクエストにわたるパターンの検索
- アプリケーションパフォーマンスの継続的な監視
- サポートチーム向けのフォレンジック証拠の提供
シミュレーションしたリクエストで何が起きるかを確認したい場合は、Trace を使います。
- ルールが想定どおりに発動しなかった理由を調べる
- さまざまなリクエストシナリオでルールの扱いを試す
- ルールの評価順を確認する
- 別の地理位置や条件からリクエストをシミュレートする
大きな違いは、Log Explorer は実際のトラフィックを表示し、Trace は「もし〜なら」というシミュレーションを表示する点です。
ダッシュボードまたは API でログをフィルターし、表示できます。
-
Cloudflare ダッシュボードで、Log Explorer > Log Search ページを開きます。
Log search を開く ↗ -
使う Dataset を選び、Columns でデータセットのフィールドを選びます。ゾーンスコープのデータセットを選んだ場合は、使うゾーンも選びます。
-
Limit を入力します。Limit は返す結果の最大件数です。例: 50。
-
照会する Time period を選びます。例: 直近 12 時間。
-
Add filter を選んでクエリを作成します。Field、Operator、Value を選んでから Apply を選びます。
-
クエリのプレビューが表示されます。クエリを変更するには Custom SQL を選びます。
-
準備ができたら 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 ダッシュボード から、Log Explorer のダッシュボードを直接開くこともできます。その場合、Security Analytics で適用したフィルターは、Log Explorer のクエリへ自動で引き継がれます。
Log Explorer が対応するすべてのテーブルには、date という特別な列があります。この列でスキャンするデータ量を絞ると、クエリの応答が速くなります。date の値は YYYY-MM-DD 形式である必要があります。たとえば、2023 年 10 月 12 日に発生したログを照会するには、WHERE 句に次を追加します: date = '2023-10-12'。この列は <、>、= の標準演算子をサポートします。
- Cloudflare ダッシュボード ↗ にログインし、アカウントを選びます。
- Log Explorer > Log Search > Custom SQL を開きます。
- 次の 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 BYとLIMIT句は省略します。これらの句は、特に大きなデータセットでクエリを遅くすることがあります。多数のレコードが返るクエリでは、広い時間枠から新しいN件に制限するのではなく、時間枠自体を狭めます。- 必要な列だけを選びます。たとえば、
SELECT *を、必要な列の一覧に置き換えます。最初はSELECT RayIdで試し、その Ray ID で絞り込んで追加の列を取得する方法もあります。条件に合うレコードがある時間枠を探るだけなら、データセット全体を取得せずにSELECT COUNT(*)も使えます。