Skip to content

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

Colo Groups の HTTP リクエストから Adaptive Groups の HTTP リクエストへ

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

このガイドでは、非推奨の httpRequests1mByColoGroups および httpRequests1dByColoGroups GraphQL API ノードから、httpRequestsAdaptiveGroups GraphQL API ノードへ移行するときの考慮点を説明します。

たとえば、リクエスト数が最も多いデータセンター 5 か所と、そのリクエスト総数、データ転送量の合計を見たい場合、以前は次の例のように httpRequests1mByColoGroups GraphQL API ノードを使いました。

{
	viewer {
		zones(filter: { zoneTag: $zoneTag }) {
			series: httpRequests1mByColoGroups(
				limit: 5
				orderBy: [sum_requests_DESC]
				filter: { datetime_geq: $start, datetime_lt: $end }
			) {
				sum {
					requests
					bytes
				}
				dimensions {
					coloCode
				}
			}
		}
	}
}

レスポンス

{
	"data": {
		"viewer": {
			"zones": [
				{
					"series": [
						{
							"dimensions": {
								"coloCode": "LHR"
							},
							"sum": {
								"bytes": 18260055,
								"requests": 4404
							}
						},
						{
							"dimensions": {
								"coloCode": "AMS"
							},
							"sum": {
								"bytes": 17563009,
								"requests": 4302
							}
						},
						{
							"dimensions": {
								"coloCode": "CDG"
							},
							"sum": {
								"bytes": 17200434,
								"requests": 4032
							}
						},
						{
							"dimensions": {
								"coloCode": "PTY"
							},
							"sum": {
								"bytes": 10400209,
								"requests": 2707
							}
						},
						{
							"dimensions": {
								"coloCode": "JIB"
							},
							"sum": {
								"bytes": 9040105,
								"requests": 2601
							}
						}
					]
				}
			]
		}
	},
	"errors": null
}

httpRequestsAdaptiveGroups GraphQL API ノード

httpRequests1mByColoGroupshttpRequests1dByColoGroups GraphQL API ノードは非推奨です。同じデータ(countsum(edgeResponseBytes)visits)には、httpRequestsAdaptiveGroups GraphQL API ノードを使います。

リクエスト

query MigrationSample($zoneTag: string, $start: Time, $end: Time) {
	viewer {
		zones(filter: { zoneTag: $zoneTag }) {
			series: httpRequestsAdaptiveGroups(
				limit: 5
				orderBy: [count_DESC]
				filter: {
					datetime_geq: $start
					datetime_lt: $end
					requestSource: "eyeball"
				}
			) {
				count
				avg {
					sampleInterval
				}
				sum {
					visits
					edgeResponseBytes
				}
				dimensions {
					coloCode
				}
			}
		}
	}
}

レスポンス

{
	"data": {
		"viewer": {
			"zones": [
				{
					"series": [
						{
							"avg": {
								"sampleInterval": 10
							},
							"count": 4350,
							"dimensions": {
								"coloCode": "LHR"
							},
							"sum": {
								"edgeResponseBytes": 17860000,
								"visits": 4120
							}
						},
						{
							"avg": {
								"sampleInterval": 10
							},
							"count": 4210,
							"dimensions": {
								"coloCode": "AMS"
							},
							"sum": {
								"edgeResponseBytes": 17110000,
								"visits": 3910
							}
						},
						{
							"avg": {
								"sampleInterval": 10
							},
							"count": 3890,
							"dimensions": {
								"coloCode": "CDG"
							},
							"sum": {
								"edgeResponseBytes": 17050000,
								"visits": 3700
							}
						},
						{
							"avg": {
								"sampleInterval": 10
							},
							"count": 2550,
							"dimensions": {
								"coloCode": "PTY"
							},
							"sum": {
								"edgeResponseBytes": 10286000,
								"visits": 2130
							}
						},
						{
							"avg": {
								"sampleInterval": 10
							},
							"count": 2410,
							"dimensions": {
								"coloCode": "JIB"
							},
							"sum": {
								"edgeResponseBytes": 9029000,
								"visits": 2080
							}
						}
					]
				}
			]
		}
	},
	"errors": null
}

このクエリの意味は次のとおりです。

  • 指定した zoneslimit、時間範囲を前提にします。
  • データセンターごとのリクエスト総数(count)、データ転送量の合計(sum オブジェクトの edgeResponseBytes)、visits の合計を取得します。

注意点は次のとおりです。

  • requestSource フィルターに eyeball を指定すると、サイトのエンドユーザーに関するリクエスト、データ転送、訪問データだけが返ります。
  • httpRequestsAdaptiveGroups ノードは requests の代わりに count を返します。データセンターあたりのリクエスト数です。
  • データ転送量の計測には sum(edgeResponseBytes) を使います。旧 API では bandwidth と呼ばれていましたが、実際にはデータ転送量を測っていました。
  • httpRequestsAdaptiveGroups では unique visitors per colocation は使えません。一方、httpRequestsAdaptiveGroups API は visits をサポートします。visit は、別サイトまたは直接リンクから始まったページビューです。Cloudflare は HTTP リファラーがホスト名と一致しないかを確認します。1 回の visit に複数のページビューが含まれることがあります。

役に立ちましたか?