min-max で値を正規化するエンドポイントで、ロケーションや期間などをまたいで時系列を比較する場合は、同じリクエスト内で行う必要があります。複数の系列を要求してください。すべての値が同じ最小値と最大値で正規化されるため、安全に比較できます。
NetFlows の値は min0-max で正規化されるため、これを例にします。詳細は NetFlow 時系列の取得 を参照してください。
次の例では、米国とポルトガルの 2 つのロケーションでトラフィックの変化を比較します。直近 7 日間を対象に、alpha-2 コード ↗ を使います。
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=us_data&dateRange=7d&location=US&name=pt_data&dateRange=7d&location=PT&format=json" \
--header "Authorization: Bearer <API_TOKEN>"上の例では、2 つの時系列を要求しています。1 つ目の系列のパラメーターは次のとおりです。
name=us_data&dateRange=7d&location=US
2 つ目の系列のパラメーターは次のとおりです。
name=pt_data&dateRange=7d&location=PT
これらのパラメーターはすべて配列です。フィルターがどの系列に属するかを決めるのは、配列内の位置です。利用できるパラメーターの詳細は NetFlow のエンドポイント を参照してください。
レスポンス(以下は簡潔にするため短縮しています)は、指定した name プロパティでタイムスタンプと対応する値を包みます。このデータをチャートにすると、Cloudflare がポルトガルから受け取ったトラフィックは、米国よりはるかに少ないことがわかります。
{
"success": true,
"errors": [],
"result": {
"us_data": {
"timestamps": [ "2022-10-26T17:00:00Z", "2022-11-02T15:00:00Z" ],
"values": [ "0.871752", "1" ]
},
"pt_data": {
"timestamps": [ "2022-10-26T17:00:00Z", "2022-11-02T15:00:00Z" ],
"values": [ "0.020457", "0.012313" ]
},
"meta": {
"dateRange": {
"startTime": "2022-10-26T17:00:00Z",
"endTime": "2022-11-02T17:00:00Z"
},
"aggInterval": "ONE_HOUR",
// ...
}
}
}比較は min-max を使うエンドポイントに限りません。ほとんどのエンドポイントで行えます。
次の例では、ショートカット 7d と 7dControl を使い、米国を異なる日付範囲で比較します。それぞれ直近 7 日間と、その直前の 7 日間を意味します。つまり、今週と前週の比較です。
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=this_week&dateRange=7d&location=US&name=previous_week&dateRange=7dControl&location=US&format=json" \
--header "Authorization: Bearer <API_TOKEN>"1 つ目の系列のパラメーターは次のとおりです。
name=this_week&dateRange=7d&location=US
2 つ目の系列のパラメーターは次のとおりです。
name=previous_week&dateRange=7dControl&location=US
result プロパティには、次のような内容が返ります。
{
"this_week": {
"timestamps": [ "2022-10-27T13:00:00Z", "2022-10-27T14:00:00Z", "...", "2022-11-03T12:00:00Z" ],
"values": [ "0.794321", "1", "...", "0.718433"]
},
"previous_week": {
"timestamps": [ "2022-10-20T13:00:00Z", "2022-10-20T14:00:00Z", "...", "2022-10-27T12:00:00Z" ],
"values": [ "0.774392", "0.835071", "...", "0.720181"]
}
}この情報から、最大値に達したのは 2022-10-27T14:00:00Z だとわかります(Radar のタイムスタンプはすべて協定世界時(UTC)です)。実行時点で日付範囲ショートカット 7d と 7dControl がどの期間に解決されたかも確認できます。
特定のタイムスタンプを指定して要求することもできます。次の例では、2022 年 10 月と、障害が発生した 2022 年 1 月の トンガ ↗ のデータを比較します。
curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=tonga&dateStart=2022-10-15T02%3A00%3A00Z&dateEnd=2022-10-15T05%3A00%3A00Z&location=TO&name=tonga_outage&dateStart=2022-01-15T02%3A00%3A00Z&dateEnd=2022-01-15T05%3A00%3A00Z&location=TO&format=json&aggInterval=1h" \
--header "Authorization: Bearer <API_TOKEN>"1 つ目の系列のパラメーター(URL エンコード済み)は次のとおりです。
name=tonga&dateStart=2022-10-15T02%3A00%3A00Z&dateEnd=2022-10-15T05%3A00%3A00Z%&location=TO
2 つ目の系列のパラメーターは次のとおりです。
name=tonga_outage&dateStart=2022-01-15T02%3A00%3A00Z&&dateEnd=2022-01-15T05%3A00%3A00Z&location=TO
上の例では、結果をこのページに表示できるよう、集約間隔 を 1 時間(aggInterval=1h)にしています。API リファレンス のとおり、format と aggInterval は配列ではなく、リクエスト内の全系列に共通して適用されます。
result プロパティは、次のようなレスポンスを返します。
{
"tonga": {
"timestamps": ["2022-10-15T02:00:00Z", "2022-10-15T03:00:00Z", "2022-10-15T04:00:00Z", "2022-10-15T05:00:00Z"],
"values": ["1.0", "0.832473", "0.820083", "0.79408"]
},
"tonga_outage": {
"timestamps": ["2022-01-15T02:00:00Z", "2022-01-15T03:00:00Z", "2022-01-15T04:00:00Z", "2022-01-15T05:00:00Z"],
"values": ["0.354105", "0.357287", "0.181811", "0.044198"]
}
}障害中にトラフィックがほぼゼロまで落ちたことがわかります。チャートにして終了日を 1 月 18 日にすると、よりはっきり見えます。
Radar が返すデータをさらに掘り下げるには、「調査する」セクションを参照してください。例として NetFlows があります。