← Cloudflare One / cloudflare-one / networks / connectors / cloudflare-wan / analytics
Dotazování analytiky šířky pásma tunelu Cloudflare WAN IPsec/GRE pomocí GraphQL
Tento příklad používá GraphQL Analytics API k dotazování na provoz vstupního tunelu Cloudflare WAN za zadané časové období.
Následující volání API si vyžádá provoz vstupního tunelu Cloudflare WAN za období jedné hodiny a vrátí požadovaná pole. Nahraďte <CLOUDFLARE_ACCOUNT_TAG> s ID vašeho účtu, <EMAIL>, <API_KEY>1 (starší verze), nebo <API_TOKEN>2 (preferováno) s vašimi přihlašovacími údaji k API a upravte datetime_geq a datetime_leq hodnoty dle potřeby.
Příklad se dotazuje na příchozí provoz. Chcete-li dotazovat odchozí provoz, změňte hodnotu v direction filtr.
Volání API
PAYLOAD='{ "query":
"query GetTunnelHealthCheckResults($accountTag: string, $datetimeStart: string, $datetimeEnd: string) {
viewer {
accounts(filter: {accountTag: $accountTag}) {
magicTransitTunnelTrafficAdaptiveGroups(
limit: 100,
filter: {
datetime_geq: $datetimeStart,
datetime_lt: $datetimeEnd,
direction: $direction
}
) {
avg {
bitRateFiveMinutes
}
dimensions {
tunnelName
datetimeFiveMinutes
}
}
}
}
}",
"variables": {
"accountTag": "<CLOUDFLARE_ACCOUNT_TAG>",
"direction": "ingress",
"datetimeStart": "2022-05-04T11:00:00.000Z",
"datetimeEnd": "2022-05-04T12:00:00.000Z"
}
}
}'
# curl with Legacy API Key
curl https://api.cloudflare.com/client/v4/graphql \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data "$(echo $PAYLOAD)"
# curl with API Token
curl https://api.cloudflare.com/client/v4/graphql \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data "$(echo $PAYLOAD)"Vrácené hodnoty představují celkovou šířku pásma v bitech za sekundu za pětiminutový interval pro daný tunel. Chcete-li použít jiné agregace než pět minut, použijte pro metriku i datetime stejné časové okno. Chcete-li například analyzovat hodinové skupiny, použijte bitRateHour a datetimeHour.
Výsledek je ve formátu JSON (jak bylo požadováno), takže přesměrování výstupu do jq ho formátuje pro snazší analýzu (parsování), jak ukazuje následující příklad:
curl https://api.cloudflare.com/client/v4/graphql \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data "$(echo $PAYLOAD)" | jq .
## Example response:
#=> {
#=> "data": {
#=> "viewer": {
#=> "accounts": [
#=> {
#=> "magicTransitTunnelTrafficAdaptiveGroups": [
#=> {
#=> avg: { bitRateFiveMinutes: 327680 },
#=> dimensions: {
#=> datetimeFiveMinute: '2021-05-12T22:00-00:00',
#=> tunnelName: 'tunnel_name'
#=> }
#=> },
#=> {
#=> avg: { bitRateFiveMinutes: 627213680 },
#=> dimensions: {
#=> datetimeFiveMinute: '2021-05-12T22:05-00:00',
#=> tunnelName: 'another_tunnel'
#=> }
#=> }
#=> ]
#=> }
#=> ]
#=> }
#=> },
#=> "errors": null
#=> }Poznámky pod čarou
-
Podrobnosti najdete v Ověření pomocí klíče Cloudflare API. ↩
-
Podrobnosti najdete v Nakonfigurujte token Analytics API. ↩