INTEGRITY Dokumentace

Porovnávání

Při porovnávání časových řad napříč lokalitami, časovými rozsahy a podobně u endpointů, které normalizují hodnoty pomocí min-max, musíte tak učinit v rámci stejného požadavku. To se provádí vyžádáním více řad. Všechny hodnoty se poté normalizují pomocí stejné minimální a maximální hodnoty a lze je bezpečně vzájemně porovnávat.

NetFlows hodnoty se normalizují pomocí min0-max, proto jej použijeme jako příklad. Více informací najdete v Získat časové řady NetFlow s dalšími informacemi.

Porovnat lokality

V následujícím příkladu porovnáme změnu provozu mezi dvěma různými lokalitami: Spojenými státy a Portugalskem. Příklad použije kódy alpha-2 ↗ za posledních sedm dní:

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>"

Ve výše uvedeném příkladu žádáme o dvě časové řady. První řada má následující parametry:

name=us_data&dateRange=7d&location=US

Druhá řada má následující parametry:

name=pt_data&dateRange=7d&location=PT

Všechny tyto parametry jsou pole a právě pozice v poli určuje, do které série filtr patří. Více informací najdete v Koncový bod NetFlow pro další informace o dostupných parametrech.

Odpověď (níže zkrácená pro přehlednost) používá zadaný name pro zabalení časových značek a odpovídajících hodnot. Pokud tato data vykreslíme do grafu, je zřejmé, že Cloudflare zaznamenal z Portugalska mnohem méně provozu než ze Spojených států.

{
  "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",
			// ...
    }
  }
}

Porovnání lze provádět ve většině koncových bodů, nikoli pouze v těch, které používají min-max.

Porovnat rozsahy dat

V dalším příkladu porovnáme Spojené státy v různých časových rozsazích pomocí zkratek 7d a 7dControl. Ty znamenají posledních sedm dní a sedm dní před nimi, jinými slovy tento týden oproti předchozímu týdnu.

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>"

První řada má následující parametry:

name=this_week&dateRange=7d&location=US

Druhá řada má následující parametry:

name=previous_week&dateRange=7dControl&location=US

Nyní v result byste měli dostat něco takového:

{
  "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"]
  }
}

Na základě těchto informací lze konstatovat, že maximální hodnota byla dosažena 2022-10-27T14:00:00Z (všechny časové značky v Radaru jsou uvedeny v koordinovaném světovém čase (UTC)). Můžeme se také podívat, co znamenají zkratky časových rozsahů 7d a 7dControl byly přeloženy v okamžiku spuštění tohoto běhu.

Použijte konkrétní časová razítka

Můžete si také vyžádat konkrétní časová razítka. V následujícím příkladu požádáme o data vztažená k Tonga ↗ v říjnu oproti lednu 2022, kdy došlo k výpadku.

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>"

První řada má následující parametry (kódované v URL):

name=tonga&dateStart=2022-10-15T02%3A00%3A00Z&dateEnd=2022-10-15T05%3A00%3A00Z%&location=TO

Druhá řada má tyto parametry:

name=tonga_outage&dateStart=2022-01-15T02%3A00%3A00Z&&dateEnd=2022-01-15T05%3A00%3A00Z&location=TO

Ve výše uvedeném příkladu jsme požádali o interval agregace jedné hodiny (aggInterval=1h), aby bylo možné výsledky zobrazit na této stránce. format a aggInterval nejsou pole, jak je uvedeno v Referenční dokumentace API, a platí globálně pro všechny řady v požadavku.

result by měla vrátit odpověď podobnou této:

{
	"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"]
	}
}

Toto ukazuje, jak provoz během výpadku klesl téměř na nulu. Pokud jej zobrazíme v grafu a nastavíme datum konce na 18. ledna pro větší přehlednost, získáme následující:

Tonga: říjen vs. leden 2022

Další kroky

Chcete-li podrobněji prozkoumat data, která Radar vrací, přejděte do sekce Investigate, například NetFlows.