比較を行う
時系列を比較する際、場所や時間範囲などにおいて、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つの時系列を要求しています。最初の系列は次のパラメータを持っています:
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>"最初の系列は次のパラメータを持っています:
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月のTonga ↗に関連するデータを要求します。この時期には停電がありました。
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>"最初の系列は次のパラメータを持っています(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)、そのため結果をこのページに表示できるようにしました。formatとaggIntervalは配列ではなく、APIリファレンスで指定されているように、リクエスト内のすべての系列にグローバルに適用されます。
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が返す情報を詳しく調べるには、Investigateセクションを参照してください。たとえば、NetFlowsなどです。