Jak nastavit monitorování API v HostTracker
Kontrola API požaduje koncový bod stejně jako HTTP kontrola, ale jde o krok dál: zparsuje tělo odpovědi jako JSON, XML nebo prostý text a ověří konkrétní hodnotu uvnitř něj, ne jen stavový kód. Použijte ji pro koncový bod REST nebo SOAP, jehož data chcete ověřovat pravidlem, například pole stavu, počet skladem nebo cenu. Pokud jen potřebujete potvrdit, že se URL načte a vrací přijatelný stav, jednodušší volbou je HTTP kontrola.
Hlavní nastavení
Pro typ API neexistuje pro tuto sekci snímek obrazovky, ale používá stejné sdílené ovládací prvky jako každý jiný typ kontroly. Monitorování povoleno je hlavní vypínač. Rozvrh intervalu (1 minuta až 24 hodin, posuvník nebo rozbalovací seznam) nebo generátor rozvrhu cron (každých N minut/hodin, denně, týdně, měsíčně, nebo vlastní výraz, jen placený plán) řídí, jak často kontrola běží. Timeout je 1 až 100 sekund; čas na rozlišení DNS se nepočítá. Značky jsou štítky oddělené čárkou pro seskupování a filtrování. Úplný protokol uloží každý výsledek místo seskupování shodných po sobě jdoucích výsledků a Veřejné statistiky zveřejní statistiky a protokol úlohy na veřejném odkazu. Na rozdíl od HTTP nemá formulář API přepínač DNSBL (DNSBL přetrvává jen u Http/Ping/Port); nese ale stejné karty Vypršení domény, Vypršení certifikátu a Web Risk, každá běží co 12 hodin - upomínky na vypršení se řídí vašimi odběry Up níže, špatný výsledek se řídí Down/Repeat.
Konfigurace požadavku
- Metoda HTTP - GET, HEAD, POST, PUT, DELETE nebo PATCH. GET (výchozí) je potřeba pro čtení a analýzu těla odpovědi; HEAD stáhne jen hlavičky.
- Tělo požadavku (jen POST/PUT/PATCH) - Nezpracované tělo odešle přesně to, co napíšete (přidejte vlastní hlavičku Content-Type k popisu json/xml/plaintext); Parametry POST přijímají jeden
KEY=VALUEna řádek a odesílají se jako form-urlencoded tělo. - Chování přesměrování - Okamžitá odpověď posoudí první odpověď tak, jak je; Následovat přesměrování (výchozí) sleduje celý řetězec, s posuvníkem Max přesměrování k sledování (1-20); Přesměrování je chyba selže při jakémkoli přesměrování (nedostupné v režimu pravidel).
- HTTP hlavičky - vlastní dvojice název/hodnota, s návrhy z datalistu pro běžné názvy a hodnoty hlaviček API (Content-Type, Authorization, X-API-Key, předpony Bearer/Basic a další). Když je pole prázdné, sonda odešle výchozí hlavičky (User-Agent, Accept, Accept-Language, Referer).
- Autentizace požadavku - odkryje uživatelské jméno a heslo pro vlastní HTTP autentizační výzvu serveru (Basic, Digest, NTLM, Kerberos, Negotiate). Pro token nosiče nebo klíč API místo toho přidejte hlavičku Authorization výše.
- Výběr serveru DNS - Výchozí servery DNS v lokalitách; Veřejné servery DNS země lokality; nebo Ručně definované servery DNS (vlastní IP adresy resolveru). Poslední dvě možnosti vyžadují placený plán.
- Zakázat mezipaměť DNS - vynutí čerstvé vyhledání DNS při každé kontrole místo opětovného použití cache agenta.
Ověření odpovědi
Ve výchozím stavu kontrola uspěje, když se vyřeší DNS, dokončí se spojení a handshake TLS (pro https), server vrátí stav HTTP Ok a odpověď se zparsuje ve zvoleném formátu níže.
- Režim pravidel - na snímku je vypnutý, s panelem, který vás vyzývá k jeho zapnutí kvůli pravidlům pro stavový kód, dobu odezvy, hlavičku nebo obsah těla. API a HTTP jsou jediné dva typy kontrol s funkčním editorem pravidel; celý jazyk pravidel popisuje hloubkový rozbor režimu pravidel. Dokud je vypnutý, verdikt řídí klasická pole níže.
- Ignorovat chyby HTTP - stavové kódy, které by NEMĚLY kontrolu shodit, například
401, 403, 500; prázdné pole znamená, že každý kód 400+ je chyba. - Chyba při těchto stavech HTTP - opak: kódy, které by měly kontrolu shodit, i když by za normálních okolností neshodily.
- Formát odpovědi - jak se tělo parsuje, než se spustí selektor: Analýza JSON (JSONPath nebo selektor vlastnosti, zvolený na snímku), Analýza XML (dotaz XPath), nebo Analýza řetězce (regex se zachycením). Ke čtení těla je potřeba GET.
- Selektor - vybere hodnotu ze zparsované odpovědi; nechte prázdné, aby se jako hodnota použila celá odpověď.
- Co kontrolovat - ve výchozím stavu podmínka níže posuzuje samotnou vybranou hodnotu (kontrola samotné získané hodnoty); přepněte na kontrolu změny hodnoty mezi kontrolami, nebo na rychlost změny za sekundu/minutu, abyste místo toho posuzovali, o kolik se hodnota pohnula.
- Podmínka - porovnává hodnotu:
any (no validation)(výchozí, na snímku),equal to,not equal to,in set of,out of set,less than,less or equal,greater than,greater or equal,in range,out of range,absent in content, nebojson null. Každá podmínka kromě posledních dvou potřebuje pod sebou zadanou srovnávací hodnotu. - Zásady HTTP - stejné volitelné kontroly hlaviček/cookies/obsahu jako u typu kontroly HTTP: Vynutit HTTPS, hlavička HSTS, žádný downgrade z https na http, CSP, ochrana proti clickjackingu, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, žádné odhalení verze, pravidla Cache-Control, hlavičky odpovědi CORS, zabezpečení cookies a smíšený obsah. Přednastavení Baseline, Strict a API nahradí celý výběr; porušení uzavře kontrolu jako Down stejně jako jakékoli jiné selhání.
- Handshake TLS - čtyři přepínače přísnosti (placený plán): vyžadovat platný řetězec certifikátu SSL, vyžadovat TLS 1.2 nebo vyšší, blokovat slabé (128bitové nebo nižší) šifry a kontrolovat odvolání certifikátu.
- Ověření očekávaných IP adres - potvrzuje, že DNS při každé kontrole přeloží vašeho hostitele na jednu z IP adres, které uvedete, čímž zachytí únos nebo zastaralý záznam i ve chvíli, kdy nějaký server pořád odpovídá.
- Maximální velikost odpovědi - přestane číst tělo po dosažení této velikosti, takže parser a selektor vidí jen staženou část. Výchozí 1 MB, maximum 10 MB; 0 nečte žádné tělo.
Poznámka ke snímkům výše: byly pořízeny na účtu, jehož balíček neobsahuje typ kontroly API, takže pole výběru typu tam ukazovalo "not in your package". To je artefakt testovacího účtu, ne něco, co uvidíte vy - každé pole a výchozí hodnota popsané zde jinak odpovídají přesně tomu, co formulář ukazuje.
Odběry upozornění
Sdílené všemi typy kontrol. Down = koncový bod kontrolu neprošel, Up = zotavil se, Repeat = připomínky, dokud zůstává dole. Přihlásit všechny kontakty k událostem Up/Down je zkratka; tabulka dává kontrolu po jednotlivých kontaktech, jednotlivě nebo přes znovupoužitelná přednastavení skupin kontaktů. Úloha bez odběrů upozornění pořád běží a zaznamenává výsledky - jen nikoho nikdy neupozorní.
Předplatné zpráv
Pravidelné zprávy o dostupnosti, jen e-mailem. Zvolte Denně, Týdně nebo Měsíčně pro každý kontakt; Měsíčně zahrnuje i čtvrtletní a roční souhrny. Přepínač pro přihlášení všech funguje stejně jako u Odběrů upozornění.
Umístění monitorování
- Výběr lokality - vyhledávejte nebo procházejte stromem regionů/zemí a zaškrtněte lokality, ze kterých se má kontrolovat; každý řádek ukazuje dostupné agenty proti vybraným. "Kopírovat lokality z jiného úkolu" znovu použije existující sadu.
- Strategie opětovné kontroly - při přechodu stavu (např. z Up na Down) ho několik lokalit znovu ověří, než je nový stav přijat, což chrání proti falešnému poplachu z jednoho regionu. Možnosti: výchozí hlasování většinou; stanovený počet lokalit potvrzujících Down (přidá posuvník 1-7); bez opětovné kontroly; plná shoda každé lokality opětovné kontroly; nebo plná shoda pro Down, hlasování většinou pro Up.
- Pokud jsou vybrané lokality nedostupné - Pouze vybrané lokality (výchozí) raději počká, než by riskovala falešné upozornění; Nejbližší lokality použije nejbližší dostupnou lokalitu; Libovolná lokalita spadne zpátky na celý svět.
Vypracovaný příklad
Monitorování koncového bodu se stavem JSON: kontrola API, interval 5 minut, timeout 40 s, GET, Následovat přesměrování (max 20). Formát odpovědi analýza JSON, selektor $.status, Co kontrolovat "samotná získaná hodnota", podmínka "equal to" se srovnávací hodnotou ok. Ignorovat chyby HTTP ponecháno prázdné. Umístění monitorování ponecháno na All world s výchozí strategií opětovné kontroly. E-mail servisního týmu přihlášen k Down, Up a Repeat a k týdenním zprávám.
Řešení potíží
- Kontrola vždy projde, i když je koncový bod zjevně rozbitý - Podmínka je ve výchozím stavu
any (no validation), což posuzuje jen parsování a přenos, ne samotnou hodnotu. Jakmile víte, jak vypadá zdravá odpověď, zvolte skutečnou podmínku a srovnávací hodnotu. - Selektor nic nevrátí - potvrďte, že formát odpovědi odpovídá tomu, co koncový bod vrací (JSON vs XML vs prostý text); selektor JSONPath proti tělu XML nikdy neodpovídá. Nejdřív nechte selektor prázdný, abyste potvrdili, že prochází celá odpověď, a pak ho zužte.
- Číselná podmínka (greater than, in range atd.) hlásí chybu - potřebuje, aby se vybraná hodnota dala převést na číslo. Selektor mířící na řetězec, nebo výpočet v režimu změny bez dosud existující předchozí kontroly, jí nedá nic k porovnání.
- Přešlo na Down hned po zapnutí zásad HTTP (zvlášť Strict) - Strict očekává hlavičky, které mnoho API nemá nastavené. Opravte hlavičky, snižte na Baseline, nebo nejdřív spusťte zásady jako samostatnou úlohu.
- Selektor přestane nacházet hodnotu u velké odpovědi - Maximální velikost odpovědi tělo ořízne, takže vše za hranicí se k parseru ani selektoru nedostane. Zvyšte ji.
Související
- Monitorování a ověřování API - stránka produktu pro tento typ kontroly.
- Bezplatná okamžitá kontrola HTTP/API - spusťte jednorázovou kontrolu bez nutnosti účtu.
- Pravidla ověřování odpovědi v režimu pravidel - celý jazyk pravidel za Ověřením odpovědi.
- API HostTracker - automatizujte správu monitorů z vlastního kódu.
- Dokumentace API v2 - úplná referenční dokumentace API používaného pro tvorbu integrací.
- 429 Too Many Requests - stav, který API vrátí, když je volající omezen limitem, a co s tím dělat.
- Všechny návody k monitoringu - návod na nastavení pro každý další typ kontroly.