ログ分析が劇的に変わる!Cloudflare Log Explorerで実現するフォレンジックと可視化

はじめに
Cloudflare Doc:
https://developers.cloudflare.com/log-explorer/
Cloudflare Blog:
https://blog.cloudflare.com/logexplorer-ga/
Cloudflareのブログを読むと、Cloudflareダッシュボードにオブザーバビリティとフォレンジック機能が追加され、ダッシュボードからログの分析が出来るようになったようです。
これまでもトラフィック情報やセキュリティ情報などダッシュボードからグラフで確認できましたが、ログからカスタマイズした情報を出力したり、可視化できるようになったようなので検証してみました。
※Log Explorerは有料の機能です。
Log Explorerの概要
メリット
これまではCloudflare log pushを使用して外部の分析ツールにログを送信したり、外部ストレージにログを送信して処理をしてから分析ツールに入れたりする必要がありましたが、Log Explorerを使用することでCloudflareだけで分析を完結できます。
また、分析ツールにログを取り込むまでのリアルタイムとのラグも少ないため、すぐに現状の分析もできます。
機能
Log Search
・セキュリティやパフォーマンスの問題を調査し、原因箇所を特定する。
・調査用に作成したクエリは保存して繰り返し使用でき、他のユーザーも使用可能なため、
共同で問題を調査できます。
・クエリを使用してカスタマイズした情報を抽出できます。
・SQLクエリを使わなくてもクエリビルダーを使用して条件を指定できます。
カスタムダッシュボード
・ダッシュボードを作成してセキュリティとパフォーマンスの問題を可視化します。
・ダッシュボードはカスタムで作成できるため、状況に応じて必要なものを準備できます。
サイトに問題が発生し、短期的に必要な情報だけのダッシュボードが必要な場合も対応可能です。
カスタムアラート(近日公開予定)
ログ検索からクエリを定義し、スケジュール間隔とアラートポリシーを設定します。
スケジュールに沿ってアラートポリシーの内容が自動的に実行され、問題があればアラートを送信します。
保持期間の指定
ログの保存期間の設定が出来ることで、特定のコンプライアンス要件や監査要件を満たすことができます。
Log ExplorerはR2上に構築されているため、過去のログも現在のログと同様に簡単に検索することができます。
Log Explorerの動作検証
データセット
データセットの追加
Cloudflare Log Explorerで使用するログをデータセットから追加します。
現在、以下のデータセットが選択できます。

ドメインスコープは主にコンテンツの配信やサイトのセキュリティ関連のデータセットです。
アカウントスコープ主にゼロトラスト系のデータセットです。
今回はドメインスコープを使用した検証を行います。
Log Explorer -> 「データセットを管理する」に移動し、以下のデータセットを追加します。
- HTTPリクエスト
- ファイアウォールイベント

これでLog Explorerを使用してログの検索などが出来る準備ができました。
Log Search
ログの検索
Log Explorer -> Log Searchに移動します。

Log Searchの簡単な説明をします。

①保存したクエリの呼び出し

②作成したクエリの保存
③クエリビルダーを使用するか、SQLを使用するかの選択
④ログを検索をする時間の指定
⑤作成したクエリの実行
SQLを書いてログの検索条件の絞り込みなどできますが、SQLを使わなくても画面から
検索条件の絞り込みをすることもできますので、エンジニア以外の方でも使用できます。
⑥データセットの選択(HTTPリクエスト or ファイアーウォールイベント)
⑦表示するカラムの選択(デフォルトの値が12)
他のカラムをここから選択すれば増やすことが可能です。
⑧Limitの数値
早速ログを検索してみます。条件は下記にしてみました。
FQDN: xxx.xxxxx.xxx
PATH: /testを含む
リミット: 500
時間: 過去6時間

検索条件と一致したリクエストのログが出力されました。
クエリビルダーで作成したのですが、カスタムSQLに切り替えれば以下のようにSQLも表示できます。
SELECT clientip, clientrequesthost, clientrequestmethod, clientrequesturi, edgeendtimestamp, edgeresponsestatus, originresponsestatus, edgestarttimestamp, rayid, clientcountry, clientrequestpath, date FROM http_requests
WHERE Date >= '2025-07-13'
AND Date <= '2025-07-13'
AND edgeendtimestamp >= '2025-07-13T02:06:41Z'
AND edgeendtimestamp <= '2025-07-13T08:06:41Z'
AND clientrequesthost = 'xxx.xxxxx.xxx' AND clientrequestpath LIKE '%/test%' LIMIT 500
デフォルトの12列で検索・表示してますが使用できるフィールドはCloudflareの公式ドキュメントにありますので参考にしてください。
Cloudflare Doc:
https://developers.cloudflare.com/log-explorer/manage-datasets/#supported-datasets
Ray IDの箇所がリンクになっており、クリックすると該当のリクエストの詳細が確認できます。

次はデータセットをファイアウォールイベントログにして検索してみます。
action: skipと等しくない
FQDN: xxx.xxxxx.xxx
PATH: .envを含む
リミット: 500
時間: 過去24時間

検索条件と一致したファイアウォールイベントログが出力されました。
こちらもカスタムSQLに切り替えれば以下のようにSQLの表示ができます。
条件は使用できるフィールドに対して指定することで、必要なものだけ取得できます。
注意点
これは他の分析ツールでも同じかもしれませんが、検索するデータの量が多いとクエリ結果の返答が遅くなります。
列数を全列にしたり、期間を長くしすぎてしまったりすると発生しますので、ある程度データはフィルタして検索すると早く結果が得られます。
Cloudflareの公式ドキュメントに最適化のヒントや、検索がタイムアウトする場合などは条件の時間を狭めるよう記載されています。
クエリ最適化のヒント(Cloudflare Doc):
https://developers.cloudflare.com/log-explorer/log-search/#additional-query-optimization-tips
タイム・アウトする場合(Cloudflare Doc) :
https://developers.cloudflare.com/log-explorer/log-search/#why-does-my-query-not-complete-or-time-out
Security Analyticsダッシュボードとの連携
Security AnalyticsダッシュボードからLog Explorerにフィルタを適用したまま移動できます。
例えば、以下のようにセキュリティ分析の画面でフィルタを行います。
ソースIP: xxx.xxx.xxx.xxx
ホスト名: xxx.xxxxx.xxx
パス: /
エッジステータスコード: 520

この状態で同じ画面内の「Log Explorerに移動」リンクをクリックします。

そうすると、時間以外の該当のフィルタのSQLクエリがセットされた状態でLog Explorerの画面が表示されます。

あとは時間だけセットして「クエリーの実行」をすればログが検索されます。
ダッシュボード
カスタムダッシュボード(テンプレート)
Log Explorerに取り込まれたログを使用してカスタムしたダッシュボードを作成することができます。
この機能を使用すれば該当のログの可視化が可能です。
エンタープライズプランであれば、100個までダッシュボードの保存が可能となります。
Log Explorer -> ダッシュボードに移動します。

「テンプレートから作成」を選択すると、以下のようにテンプレートが表示されます。

「パフォーマンス監視」を選択すると、自動で以下のようにパフォーマンスに関するグラフが作成されます。


レスポンスに要した時間や、エラー率の情報が表示されました。
ダッシュボード自体は保存されており、以下のようにいつでもアクセスができます。

カスタムダッシュボード(新規作成)
実際には、ご自身でカスタムした内容をグラフ化することが多いと思います。
その場合、「新規作成」で一からダッシュボードを作成ができます。
(テンプレートで作成してから、チャートを追加することも可能です。)
「新規作成」を選択すると下記のように何も無いダッシュボードが表示されます。

「チャートの追加」を選択します。

作成できる項目として、以下があります。
チャートの種類
タイトル
データセット
Metrics
フィルター
設定できる項目の内容などはドキュメントに記載されてますので、参考にしていただければと思います。
Cloudflare Doc:
https://developers.cloudflare.com/log-explorer/custom-dashboards/#create-a-dashboard-from-scratch
今回は以下のように設定してみました。

指定したFQDNにてChromeとFirefoxからのリクエスト数をグラフにしてみました。

画面で項目を指定するだけなので、簡単に作成できます。
また「チャートを追加」はプロンプトから作成することもできます。

画面には英語でプロンプトの例が書いてありますが、日本語も対応しています。
試しに以下のように命令しました。
http statusが400番台と500番台のレスポンスをFQDN毎に数の多い順で表示
そうすると自動で以下グラフを作成してくれました。

このまま「追加」を押せばダッシュボードに追加されます。

このようなグラフの生成に不慣れな方でも、プロンプトを使用すればグラフを作成できます。
いろいろな方が使用できるようになるので、とても良い機能だと感じました。
注意点
Cloudflare Doc:
https://developers.cloudflare.com/log-explorer/log-search/#why-dont-i-see-any-logs-in-my-queries-after-enabling-the-dataset
Cloudflareをこれまで使ってたドメインでデータセットを追加しても、過去のログは分析対象外となります。
データセットに追加した以降のデータしか分析できない仕様になってますので、Log Explorerを導入する際には注意が必要です。
最後に
Cloudflareのログを外部の分析ツールを使うことなく、Cloudflareだけで分析ができるのは管理の観点からは複雑さがなくなりますので良いと感じました。
また、プロンプトから指示を出して、グラフを作成できる点も良かったです。
今後のアップデートの予定としてアラート機能も増えるようで、より使いやすくなりそうです。
特にアラート機能は必須だと感じますので、早く実装されると嬉しいです。
そしてCloudflareなら上記以外でも、
・パフォーマンスの向上
・サイトの信頼性の向上
・セキュリティの向上
が、一つのサービスで実現できますので非常におすすめです。
Cloudflareに、アクセリアの運用サポートをプラスしたCDNサービスを提供しています
移行支援によるスムーズな導入とともに、お客様の運用負担を最小限にとどめながら、WEBサイトのパフォーマンスとセキュリティを最大限に高めます。運用サポートはフルアウトソーシングからミニマムサポートまで、ご要望に合わせてご提供します。
Cloudflare(クラウドフレア)の導入や運用について、またそれ以外のことでもなにか気になることがございましたらお気軽にご相談下さい。
サービスにご興味をお持ちの方は
お気軽にお問い合わせください。
Webからお問い合わせ
お問い合わせお電話からお問い合わせ
平日09:30 〜 18:00
Free Service












