INTEGRITY Dokumentace

Monitoring API

Zaraz Monitoring API umožňuje uživatelům získávat podrobná data o událostech Zaraz prostřednictvím GraphQL Analytics API. Pomocí tohoto API můžete sledovat události, zobrazení stránek, triggery, akce a stavy server-side požadavků, včetně chyb i úspěšných výsledků. Data dostupná přes API odpovídají tomu, co se zobrazuje na stránce Zaraz Monitoring v dashboardu, ale přes API je můžete dotazovat programově a vytvářet tak upozornění na neočekávané odchylky.

Než začnete, vygenerujte token Analytics API podle Průvodce ověřováním pomocí API tokenu.

Klíčové entity

Monitoring API obsahuje následující základní entity, z nichž každá poskytuje odlišný přehled:

Příklady GraphQL dotazů

Pomocí výše uvedených datových sad si můžete sestavit libovolný dotaz, zde je ale několik příkladů dotazů, které můžete použít.

Dotaz na počet událostí Zaraz seskupených podle času.

query ZarazEvents(
	$zoneTag: string
	$limit: uint64!
	$start: Time
	$end: Time
	$orderBy: ZoneZarazTrackAdaptiveGroupsOrderBy!
) {
	viewer {
		zones(filter: { zoneTag: $zoneTag }) {
			data: zarazTrackAdaptiveGroups(
				limit: $limit
				filter: { datetimeHour_geq: $start, datetimeHour_leq: $end }
				orderBy: [$orderBy]
			) {
				count
				dimensions {
					ts: datetimeHour
				}
			}
		}
	}
}

Dotaz na počet načtení Zaraz seskupených podle času.

query ZarazLoads(
	$zoneTag: string
	$limit: uint64!
	$start: Date
	$end: Date
	$orderBy: ZoneZarazTriggersAdaptiveGroupsOrderBy!
) {
	viewer {
		zones(filter: { zoneTag: $zoneTag }) {
			data: zarazTriggersAdaptiveGroups(
				limit: $limit
				filter: { date_geq: $start, date_leq: $end, triggerName: Pageview }
				orderBy: [$orderBy]
			) {
				count
				dimensions {
					ts: date
				}
			}
		}
	}
}

Dotaz na celkový počet spuštění jednotlivých triggerů zpracovaných službou Zaraz.

query ZarazTriggers(
	$zoneTag: string
	$limit: uint64!
	$start: Date
	$end: Date
) {
	viewer {
		zones(filter: { zoneTag: $zoneTag }) {
			data: zarazTriggersAdaptiveGroups(
				limit: $limit
				filter: { date_geq: $start, date_leq: $end }
				orderBy: [count_DESC]
			) {
				count
				dimensions {
					name: triggerName
				}
			}
		}
	}
}

Dotaz na počet serverových odpovědí 400, seskupených podle času a URL adresy.

query ErroneousResponses(
	$zoneTag: string
	$limit: uint64!
	$start: Time
	$end: Time
	$orderBy: ZoneZarazFetchAdaptiveGroupsOrderBy!
) {
	viewer {
		zones(filter: { zoneTag: $zoneTag }) {
			data: zarazFetchAdaptiveGroups(
				limit: $limit
				filter: {
					datetimeHour_geq: $start
					datetimeHour_leq: $end
					url_neq: ""
					status: 400
				}
				orderBy: [$orderBy]
			) {
				count
				dimensions {
					ts: datetimeHour
					name: url
				}
			}
		}
	}
}

Příklad proměnných

{
	"zoneTag": "d6dfdf32c704a77ac227243a5eb5ca61",
	"start": "2025-01-01T00:00:00Z",
	"end": "2025-01-30T00:00:00Z",
	"limit": 10000,
	"orderBy": "datetimeHour_ASC"
}

Nezapomeňte upravit zoneTag tak, aby odpovídal vaší konkrétní zóně, a nastavit požadovaná data začátku a konce

Vysvětlení parametrů

Příklad curl Request

Použijte tento curl příkaz pro dotaz na Zaraz Monitoring API na počet událostí zpracovaných Zaraz. Nahraďte $TOKEN svým API tokenem, $ZONE_TAG svým zone tag a podle potřeby upravte data zahájení a ukončení.

curl -X POST https://api.cloudflare.com/client/v4/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "query": "query AllEvents($zoneTag: String!, $limit: Int!, $start: Date, $end: Date, $orderBy: [ZoneZarazTriggersAdaptiveGroupsOrderBy!]) { viewer { zones(filter: { zoneTag: $zoneTag }) { data: zarazTrackAdaptiveGroups( limit: $limit filter: { datetimeHour_geq: $start datetimeHour_leq: $end } orderBy: [$orderBy] ) { count dimensions { ts: datetimeHour } } } } }",
    "variables": {
      "zoneTag": "$ZONE_TAG",
      "start": "2025-01-01T00:00:00Z",
      "end": "2025-01-30T00:00:00Z",
      "limit": 10000,
      "orderBy": "datetimeHour_ASC"
    }
  }'

Vysvětlení curl Components

Tento curl příklad vrátí JSON odpověď obsahující počty událostí a časová razítka v rámci zadaného časového rozsahu. Upravte variables hodnoty podle potřeby vašeho případu použití.

Další zdroje

Viz úplná dokumentace k GraphQL Analytics API kde najdete podrobnosti o dostupných polích, filtrech a dalších možnostech přizpůsobení dotazů na Zaraz Monitoring API.