INTEGRITY Dokumentace

Spusťte kontroly stavu koncových bodů (beta)

Magic Transit využívá kontroly stavu koncových bodů ke zjištění celkového stavu vaší mezisíťová propojení. Sondy vycházejí z infrastruktury Cloudflare, mimo síťové jmenné prostory zákazníka, a míří na IP adresy hluboko uvnitř vaší sítě, za hraničním routerem, kde tunel končí. Tyto sondy „na dálku“ slouží čistě k diagnostice.

Při výběru IP adres koncových bodů, které chcete sledovat pomocí kontrol stavu, se řiďte těmito pokyny:

Cloudflare odesílá pingy na IP adresy kontrol stavu zevnitř zveřejněný rozsah IP adres Cloudflare ↗, což je dostupné také prostřednictvím Cloudflare API.

Při konfiguraci kontroly stavu koncového bodu pro prefix IP vyberte IP adresu z rozsahu tohoto prefixu. Příklad konfigurace kontroly stavu koncového bodu najdete v tabulce.

Prefix IP adresa koncového bodu
103.21.244.0/24 103.21.244.100
103.21.245.0/24 103.21.245.100

Viz Tunnel health checks s dalšími informacemi.

Konfigurace kontrol stavu koncových bodů (beta)

Kontroly stavu koncových bodů lze nastavit pouze přes Cloudflare API, v dashboardu tato možnost není k dispozici. Konfigurace kontrol stavu je v současnosti funkcí ve fázi beta.

Viz Dokumentace API se dozvíte, jak vytvářet, vypisovat a mazat kontroly stavu koncových bodů. Následující příklad vytváří novou kontrolu stavu koncového bodu.

curl "https://api.cloudflare.com/client/v4/accounts/account_id/diagnostics/endpoint-healthchecks" \
	--request POST \
	--json '{
		"check_type": "icmp",
		"endpoint": "8.31.160.1",
		"name": "Datacenter 1 - primary"
	}'
{
    "result": {
        "id": "<HEALTH_CHECK_ID>",
        "check_type": "icmp",
        "endpoint": "8.31.160.1",
        "name": "Datacenter 1 - primary"
    },
    "success": true,
    "errors": [],
    "messages": []
}

Dotazování na kontroly stavu koncových bodů pomocí GraphQL

Použijte GraphQL Analytics API k dotazování na výsledky kontrol stavu koncových bodů pro váš účet. magicEndpointHealthCheckAdaptiveGroups dataset vrací výsledky sond agregované podle dimenzí a časového intervalu, které zadáte.

Všechny dotazy GraphQL odesílejte jako HTTP POST požadavky na https://api.cloudflare.com/client/v4/graphql.

Předpoklady

K dotazování dat kontrol stavu koncových bodů potřebujete následující:

Parametry dotazu

Následující parametry patří mezi nejběžnější v filter objekt:

Parametr Popis
date_geq Počáteční datum dotazu ve formátu YYYY-MM-DD formát (například 2026-01-01). Při použití s dimenzí zaokrouhlování data vrátí výsledky od tohoto data dále. Můžete také použít úplné časové razítko ve formátu ISO 8601 (například 2026-01-01T00:00:00Z).
date_leq (Volitelné) Koncové datum dotazu. Používá stejný formát jako date_geq.
datetime_geq (Volitelné) Počáteční časové razítko ve formátu ISO 8601 (například 2026-01-01T00:00:00Z). Použijte místo date_geq pro časové dimenze založené na zkrácení.
datetime_leq (Volitelné) Koncové časové razítko ve formátu ISO 8601.
limit Maximální počet skupin výsledků, které se mají vrátit.

Filtrovat můžete také podle libovolné dimenze uvedené v Dostupné dimenze tabulku. Filtr vytvoříte připojením přípony operátoru k názvu dimenze, například endpoint_in k filtrování podle seznamu koncových bodů, nebo checkType_neq k vyloučení konkrétního typu kontroly. Použití názvu dimenze bez přípony filtruje podle rovnosti. Úplný seznam podporovaných operátorů najdete v Filtrování.

Dostupné dimenze

Následující dimenze můžete dotazovat v dimensions pole:

Dimenze Popis
checkId Jedinečné ID nakonfigurované kontroly stavu.
checkType Typ kontroly stavu (například icmp).
endpoint IP adresa kontrolovaného endpointu.
name Název přiřazený kontrole stavu při jejím nastavení (může být prázdný, pokud není nastaven).
date Časové razítko události zkrácené na den.
datetime Úplné časové razítko události.
datetimeMinute Časové razítko události zkrácené na minutu.
datetimeFiveMinutes Časové razítko události zkrácené na pětiminutové intervaly.
datetimeFifteenMinutes Časové razítko události zkrácené na 15minutové intervaly.
datetimeHalfOfHour Časové razítko události zkrácené na 30minutové intervaly.
datetimeHour Časové razítko události zkrácené na hodinu.

Dostupné metriky

Metrika Popis
count Celkový počet událostí kontroly stavu ve skupině.
sum.total Celkový počet odeslaných sond kontroly stavu.
sum.failures Počet neúspěšných sond kontroly stavu.
avg.lossPercentage Průměrné vypočítané procento ztráty (0-100).

volání API

Následující příklad dotazuje výsledky kontrol stavu koncových bodů pro konkrétní účet a vrací počty sond agregované v pětiminutových intervalech. Nahraďte <ACCOUNT_ID> s vaším ID účtu a <API_TOKEN> s vaším API token.

echo '{ "query":
  "query GetEndpointHealthCheckResults($accountTag: string, $datetimeStart: string) {
    viewer {
      accounts(filter: {accountTag: $accountTag}) {
        magicEndpointHealthCheckAdaptiveGroups(
          filter: {
            datetime_geq: $datetimeStart
          }
          limit: 10
        ) {
          count
          dimensions {
            checkId
            checkType
            endpoint
            datetimeFiveMinutes
          }
          sum {
            failures
            total
          }
        }
      }
    }
  }",
  "variables": {
    "accountTag": "<ACCOUNT_ID>",
    "datetimeStart": "2026-01-21T00:00:00Z"
  }
}' | 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ýstup přesměrujte rourou do jq k naformátování odpovědi JSON pro snazší čtení:

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

Ukázková odpověď

{
  "data": {
    "viewer": {
      "accounts": [
        {
          "magicEndpointHealthCheckAdaptiveGroups": [
            {
              "count": 288,
              "dimensions": {
                "checkId": "90b478c7-bb51-4640-b94b-2c3050e9fa00",
                "checkType": "icmp",
                "datetimeFiveMinutes": "2026-01-21T12:00:00Z",
                "endpoint": "103.21.244.100"
              },
              "sum": {
                "failures": 0,
                "total": 288
              }
            },
            {
              "count": 288,
              "dimensions": {
                "checkId": "90b478c7-bb51-4640-b94b-2c3050e9fa00",
                "checkType": "icmp",
                "datetimeFiveMinutes": "2026-01-21T12:05:00Z",
                "endpoint": "103.21.244.100"
              },
              "sum": {
                "failures": 2,
                "total": 288
              }
            }
          ]
        }
      ]
    }
  },
  "errors": null
}

V této odpovědi sum.total je počet sond odeslaných během intervalu a sum.failures je počet těch, které nedostaly odpověď. failures hodnotu 0 značí, že endpoint byl po celé toto období plně dostupný.

Konfigurace upozornění pro kontroly stavu koncových bodů

Můžete si nastavit upozornění, která vás informují, jakmile stav vašeho koncového bodu klesne pod vámi zvolenou hranici.

  1. Vytvořte GET požadavek, kterým získáte seznam ID všech nakonfigurovaných kontrol stavu koncových bodů:
curl "https://api.cloudflare.com/client/v4/accounts/account_id/diagnostics/endpoint-healthchecks" \
	--request GET
{
    "result": [
        {
            "id": "<HEALTH_CHECK_ID>",
            "check_type": "icmp",
            "endpoint": "8.31.160.1",
            "name": "Datacenter 1 - primary"
        }
    ],
    "success": true,
    "errors": [],
    "messages": []
}
  1. Poznamenejte si id hodnotu koncového bodu, pro který chcete dostávat upozornění.
  2. V dashboardu Cloudflare přejděte na Oznámení stránce.
Přejděte na Oznámení ↗
  1. Vyberte Přidat.
  2. V rozbalovací nabídce vyberte Magic Transit.
  3. Vyberte Magic Endpoint Health Check Alert.
  4. Zadejte název nové notifikace a volitelně přidejte i popis.
  5. V Cíl úrovně služby (SLO) rozbalovací nabídce vyberte prahovou hodnotu SLO pro své upozornění. SLO určuje procento kontrol stavu koncových bodů, které musí projít. Pokud počet úspěšných kontrol stavu koncových bodů klesne pod tuto hodnotu, Cloudflare vygeneruje upozornění:
    • Vysoká - 99%
    • Medium - 98%
    • Low - 97%
  6. V rozevírací nabídce pod SLOs vyberte id hodnotu, která odpovídá id které jste získali přes API v kroku 1. Tato id by mělo odpovídat kontrole stavu koncového bodu, pro kterou chcete dostávat upozornění.
  7. Vyberte preferovaný způsob oznamování (například e-mail nebo webhooky).
  8. Vyberte Save.

Nyní budete zvoleným způsobem dostávat upozornění pokaždé, když SLO vašich kontrol stavu koncových bodů klesne pod zvolenou hranici.