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