Qroon

CloudflareのAnalyticsを自前のダッシュボードに載せたかった

2024/08/31

CloudflareのWeb Analyticsからデータを引っ張ってきて、自前のダッシュボードにアクセス解析を表示させようとしたけど、URLごとのデータを取得できなかった。

Web Analyticsからデータを取得するのは GraphQL Analytics API から可能。
https://developers.cloudflare.com/analytics/graphql-api/

サイトへのアクセス数を取得することはできたけど、アクセスされたURLごとのデータが引っ張ってこれず、GraphQL力の低さも相まってハマってしまった。
どうやらURLごとのデータが取得可能な httpRequestsAdaptiveGroups() が無料枠では使用できないっぽい。
こんな感じで、何が利用可能かが判別できた。

 query  {
  viewer {
    zones(filter: {zoneTag: $tag}) {
      settings: settings {
        firewallEventsAdaptive {
          enabled,
        },
        httpRequestsAdaptive {
          enabled,
        },
        httpRequestsAdaptiveGroups {
          enabled,
        },
        httpRequestsOverviewAdaptiveGroups {
          enabled,
        },
        firewallEventsAdaptiveGroups {
          enabled,
        },
      }
    }
  }
}

schemaはここを参考にした。
https://pages.johnspurlock.com/graphql-schema-docs/cloudflare.html