Skip to content

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

アナリティクスとログ

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

Cloudflare DNS を使うと、さまざまな経路から DNS クエリのデータを確認できます。


アナリティクス

DNS アナリティクスでは、ゾーンへの DNS クエリに関するデータを評価できます。

ダッシュボード では、定義済みのディメンション をもとにすぐに傾向を把握できます。API を使うと、GraphQL の DNS アナリティクススキーマで使えるすべてのフィールドにアクセスできます。

GraphQL を使う場合は、指定した Cloudflare アカウント内の全ゾーンを対象に、DNS クエリのデータを取得することもできます。

提供状況と制限

Free Pro Business Enterprise
提供状況 あり あり あり あり
最大期間(ゾーン) 7 日 31 日 31 日 62 日
最大期間(アカウント) 7 日 7 日 7 日 62 日
履歴データ(ゾーン) 8 日 31 日 31 日 62 日
履歴データ(アカウント) 8 日 8 日 8 日 62 日

ダッシュボードで確認する

概要をすばやく確認するには、ダッシュボードで DNS アナリティクスを開きます。

Analytics を開く ↗

DNS アナリティクスのダッシュボードには、4 つの主要パネル があります。ページ上部で指定したフィルターと期間は、すべてのパネルに適用されます。

使えるディメンション

  • クエリ名
  • クエリタイプ(DNS レコードタイプと同じ)
  • レスポンスコード
  • データセンター
  • 送信元 IP
  • 宛先 IP
  • プロトコル
  • IP バージョン

パネル

  • Query overview: クエリ数と、時間経過に沿った分布です。この情報は 使えるディメンション ごとに分割され、グラフには上位 5 件が表示されます。グラフ上部のタブでディメンションを切り替えられます。値にカーソルを合わせて Filter または Exclude を選ぶと、その値ですばやく絞り込んだり除外したりできます。

  • Query statistics: 指定したフィルターと期間に基づくクエリ指標の概要です。具体的には Total queriesAverage queries per secondAverage processing time です。平均処理時間はミリ秒で表示され、フラット化された CNAME レコード の場合は上流クエリも含みます。

  • DNS queries by data center: 選択した期間に、ゾーンへの DNS クエリを処理した Cloudflare データセンターを示す地図です。上位 10 件の一覧も確認できます。データセンターにカーソルを合わせて Filter または Exclude を選ぶと、そのデータセンターですばやく絞り込んだり除外したりできます。

  • Queries by source: 選択に応じて上位 5 件、10 件、または 15 件を、使えるディメンション ごとにグループ化した内訳です。

API で調べる

より詳細な指標が必要な場合は、GraphQL API を使います。始め方は、GraphQL Analytics API ドキュメントの 使用開始 を参照してください。

DNS アナリティクスには、次の 2 つの スキーマ があります。

  • dnsAnalyticsAdaptive: 個々の DNS クエリに関する情報を取得します。
  • dnsAnalyticsAdaptiveGroups: 集計情報だけのレポートを取得します。

アカウント単位のデータを取得するには、次のようなクエリを組み立てられます。

NXDOMAIN になった直近 10,000 件のクエリを取得する

query GetLastNXDOMAINResponses {
  viewer {
    accounts(filter: { accountTag: "83a4527361bcdec24566fd7f837b6de5" }) {
      dnsAnalyticsAdaptive(
        limit: 10000
        filter: {
          date_geq: "2025-06-16",
          responseCode: "NXDOMAIN",
          date_leq: "2025-06-18"
        }
        orderBy: [datetime_DESC]
      ) {
        zoneTag
        queryName
        responseCode
        queryType
        datetime
      }
    }
  }
}

アカウントごとのクエリ総数を取得する

query GetTotalDNSQueryCount {
  viewer {
    accounts(filter: { accountTag: "83a4527361bcdec24566fd7f837b6de5" }) {
      dnsAnalyticsAdaptiveGroups(
        filter: {
          date_geq: "2025-05-01"
          date_leq: "2025-05-30"
        }
        limit: 1
      ) {
        count
      }
    }
  }
}

ログ

ログでは、Enterprise のお客様が個々の DNS クエリの 詳細情報 を確認できます。

Logpush の設定手順は、Logpush のドキュメントを参照してください。

役に立ちましたか?