← Cloudflare One / cloudflare-one / networks / connectors / cloudflare-wan / analytics
Dotazování výsledků kontrol stavu tunelu Cloudflare WAN IPsec/GRE pomocí GraphQL
Tento příklad používá GraphQL Analytics API k dotazování na výsledky kontrol stavu tunelu Cloudflare WAN. Tyto výsledky se agregují z jednotlivých kontrol stavu, které servery Cloudflare provádějí u tunelů nakonfigurovaných ve vašem účtu. Dotazovat lze až týden dat, a to pro data stará až tři měsíce.
Následující volání API si vyžádá kontroly stavu tunelu pro konkrétní účet za období jednoho dne a pro konkrétní datacentrum Cloudflare a vrátí požadovaná pole. Nahraďte <CLOUDFLARE_ACCOUNT_TAG> a <API_TOKEN>1 s vašimi přihlašovacími údaji API a upravte datetimeStart a datetimeEnd proměnné podle potřeby.
Volání API vrací výsledky kontrol stavu tunelu podle datového centra Cloudflare. Cloudflare agreguje výsledek jednotlivých datových center z kontrol stavu prováděných na jednotlivých serverech. tunnelState pole představuje stav tunelu. Cloudflare WAN používá tyto stavy pro směrování. tunnelState hodnotu 0 představuje nedostupný tunel, 0.5 představuje degradovaný tunel a 1 představuje funkční tunel.
Volání API
echo '{ "query":
"query GetTunnelHealthCheckResults($accountTag: string, $datetimeStart: string, $datetimeEnd: string) {
viewer {
accounts(filter: {accountTag: $accountTag}) {
magicTransitTunnelHealthChecksAdaptiveGroups(
limit: 100,
filter: {
datetime_geq: $datetimeStart,
datetime_lt: $datetimeEnd,
}
) {
avg {
tunnelState
}
dimensions {
tunnelName
edgeColoName
}
}
}
}
}",
"variables": {
"accountTag": "<CLOUDFLARE_ACCOUNT_TAG>",
"datetimeStart": "2022-08-04T00:00:00.000Z",
"datetimeEnd": "2022-08-04T01:00:00.000Z"
}
}' | tr -d '\n' | curl --silent \
https://api.cloudflare.com/client/v4/graphql \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data @-Výsledky se vrací ve formátu JSON (jak bylo požadováno), takže přesměrování výstupu do jq je formátuje pro snazší analýzu (parsování), jak ukazuje následující příklad:
... | curl --silent \
https://api.cloudflare.com/client/v4/graphql \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data @- | jq .
## Example response:
#=> {
#=> "data": {
#=> "viewer": {
#=> "accounts": [
#=> {
#=> "conduitEdgeTunnelHealthChecks": [
#=> {
#=> {
#=> "avg": {
#=> "tunnelState": 1
#=> },
#=> "dimensions": {
#=> "edgeColoName": "mel01",
#=> "tunnelName": "tunnel_01",
#=> "tunnelState": 0.5
#=> }
#=> },
#=> {
#=> "avg": {
#=> "tunnelState": 0.5
#=> },
#=> "count": 310,
#=> "dimensions": {
#=> "edgeColoName": "mel01",
#=> "tunnelName": "tunnel_02",
#=> "tunnelState": 0.5
#=> }
#=> }
#=> ]
#=> }
#=> ]
#=> }
#=> },
#=> "errors": null
#=> }Poznámky pod čarou
-
Podrobnosti najdete v Nakonfigurujte token Analytics API. ↩