Jak skonfigurować monitoring API w HostTracker
Sprawdzenie API wysyła żądanie do endpointu tak samo jak sprawdzenie HTTP, a potem idzie o krok dalej: interpretuje treść odpowiedzi jako JSON, XML albo zwykły tekst i waliduje konkretną wartość wewnątrz niej, a nie tylko kod statusu. Użyj go dla endpointu REST albo SOAP, którego dane chcesz zweryfikować regułą, na przykład pole statusu, stan magazynowy albo cenę. Jeśli potrzebujesz tylko potwierdzić, że URL się wczytuje i zwraca akceptowalny status, prostszym wyborem jest sprawdzenie HTTP.
Ustawienia główne
Nie ma zrzutu ekranu tej sekcji dla typu API, ale używa ona tych samych wspólnych kontrolek, co każdy inny typ sprawdzenia. Monitorowanie włączone to główny przełącznik wł./wył. Harmonogram interwałów (od 1 minuty do 24 godzin, suwak albo lista rozwijana) albo kreator Harmonogramu cron (co N minut/godzin, dziennie, tygodniowo, miesięcznie albo niestandardowe wyrażenie, tylko w planie płatnym) kontroluje, jak często sprawdzenie się uruchamia. Limit czasu wynosi od 1 do 100 sekund; czas rozwiązywania DNS się nie liczy. Tagi to etykiety oddzielone przecinkami, do grupowania i filtrowania. Pełny dziennik zapisuje każdy wynik zamiast grupować identyczne, kolejne, a Otwarte statystyki publikuje statystyki i dziennik zadania pod publicznym linkiem. W odróżnieniu od HTTP, formularz API nie ma przełącznika DNSBL (DNSBL utrzymuje się tylko dla Http/Ping/Port); ma za to te same karty Wygaśnięcie domeny, Wygaśnięcie certyfikatu i Web Risk, każda uruchamiana co 12 godzin - przypomnienia o wygaśnięciu idą za Twoimi subskrypcjami Up poniżej, zły wynik idzie za Down/Repeat.
Konfiguracja żądania
- Metoda HTTP - GET, HEAD, POST, PUT, DELETE albo PATCH. GET (domyślnie) jest wymagane, by odczytać i przeanalizować treść odpowiedzi; HEAD pobiera tylko nagłówki.
- Treść żądania (tylko POST/PUT/PATCH) - Surowa treść wysyła dokładnie to, co wpiszesz (dodaj własny nagłówek Content-Type, żeby opisać json/xml/plaintext); Parametry POST przyjmuje jedną parę
KLUCZ=WARTOŚĆna linię i jest wysyłane jako treść form-urlencoded. - Zachowanie przekierowań - Odpowiedź natychmiastowa ocenia pierwszą odpowiedź taką, jaka jest; Podążaj za przekierowaniami (domyślnie) podąża za łańcuchem, z suwakiem Maksymalna liczba przekierowań do podążenia (1-20); Przekierowanie to błąd zawodzi przy każdym przekierowaniu (niedostępne w trybie asercji).
- Nagłówki HTTP - niestandardowe pary nazwa/wartość, z podpowiedziami datalist dla typowych nazw i wartości nagłówków API (Content-Type, Authorization, X-API-Key, prefiksy Bearer/Basic i inne). Pozostawione puste, sondowanie wysyła domyślne nagłówki (User-Agent, Accept, Accept-Language, Referer).
- Uwierzytelnianie żądania - odsłania login/hasło dla własnego uwierzytelniania HTTP typu challenge serwera (Basic, Digest, NTLM, Kerberos, Negotiate). Dla tokenu bearer albo klucza API dodaj zamiast tego nagłówek Authorization powyżej.
- Wybór serwera DNS - Domyślne serwery DNS w lokalizacjach; Publiczne serwery DNS kraju lokalizacji; albo Ręcznie zdefiniowane serwery DNS (Twoje własne adresy IP resolverów). Dwie ostatnie opcje wymagają planu płatnego.
- Wyłącz pamięć podręczną DNS - wymusza świeże zapytanie DNS przy każdym sprawdzeniu zamiast ponownego użycia pamięci podręcznej agenta.
Weryfikacja odpowiedzi
Domyślnie sprawdzenie kończy się sukcesem, gdy DNS się rozwiąże, połączenie i uzgadnianie TLS (dla https) się zakończą, serwer zwróci status HTTP Ok, a odpowiedź da się zinterpretować w wybranym poniżej formacie.
- Tryb asercji - zrzut ekranu pokazuje go wyłączonego, z banerem zachęcającym do włączenia dla reguł kodu statusu, czasu odpowiedzi, nagłówka albo treści. API i HTTP to jedyne dwa typy sprawdzenia z działającym edytorem asercji; zobacz dogłębny poradnik o trybie asercji, żeby poznać pełny język reguł. Gdy jest wyłączony, werdykt prowadzą klasyczne pola poniżej.
- Ignoruj błędy HTTP - kody statusu, które NIE powinny prowadzić do niepowodzenia sprawdzenia, na przykład
401, 403, 500; pusto oznacza, że każdy kod 400+ jest błędem. - Błąd przy tych statusach HTTP - odwrotność: kody, które powinny powodować niepowodzenie sprawdzenia, nawet gdyby normalnie tego nie robiły.
- Format odpowiedzi - jak treść jest interpretowana, zanim zadziała selektor: analiza JSON (selektor JSONPath albo właściwości, pokazany jako wybrany na zrzucie ekranu), analiza XML (zapytanie XPath) albo analiza tekstu (wyrażenie regularne z przechwytywaniem). GET jest wymagane, by odczytać treść.
- Selektor - wybiera wartość z przeanalizowanej odpowiedzi; zostaw puste, żeby użyć całej odpowiedzi jako wartości.
- Co sprawdzać - domyślnie poniższy warunek ocenia samą wybraną wartość (Sprawdź samą uzyskaną wartość); przełącz na Sprawdź zmianę wartości między sprawdzeniami, albo tempo zmiany na sekundę/minutę, żeby zamiast tego ocenić, o ile wartość się zmieniła.
- Warunek - porównuje wartość:
dowolny (bez walidacji)(domyślnie, pokazany na zrzucie ekranu),równy,różny od,w zbiorze,poza zbiorem,mniejszy niż,mniejszy lub równy,większy niż,większy lub równy,w zakresie,poza zakresem,nieobecny w treści, albojson null. Każdy warunek poza dwoma ostatnimi wymaga wpisanej poniżej wartości porównania. - Polityki HTTP - te same opcjonalne sprawdzenia nagłówków/ciasteczek/treści co w typie sprawdzenia HTTP: wymuszanie HTTPS, nagłówek HSTS, brak degradacji z https do http, CSP, ochrona przed clickjackingiem, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, brak ujawniania wersji, asercje Cache-Control, nagłówki odpowiedzi CORS, bezpieczeństwo ciasteczek i treść mieszana. Gotowe zestawy Podstawowy, Rygorystyczny i API zastępują cały wybór; naruszenie kończy sprawdzenie statusem Down, tak jak każde inne niepowodzenie.
- Uzgadnianie TLS - cztery przełączniki rygoru (plan płatny): wymagaj ważnego łańcucha certyfikatu SSL, wymagaj TLS 1.2 lub wyższego, blokuj słabe szyfry (128-bitowe lub słabsze), i sprawdzaj unieważnienie certyfikatu.
- Walidacja oczekiwanych adresów IP - potwierdza, że DNS rozwiązuje Twój host do jednego z adresów IP wymienionych przez Ciebie, przy każdym sprawdzeniu, wyłapując przejęcie albo nieaktualny rekord, nawet gdy jakiś serwer wciąż odpowiada.
- Maksymalny rozmiar odpowiedzi - przestaje czytać treść powyżej tego rozmiaru, więc parser i selektor widzą tylko pobraną część. Domyślnie 1 MB, maksymalnie 10 MB; 0 nie czyta żadnej treści.
Uwaga do powyższych zrzutów ekranu: zostały zrobione na koncie, którego pakiet nie obejmuje typu sprawdzenia API, więc pole wyboru typu widniało tam jako "nie w Twoim pakiecie". To artefakt konta testowego, a nie coś, co zobaczysz Ty - poza tym każde opisane tu pole i wartość domyślna są dokładnie tym, co pokazuje formularz.
Subskrypcje alertów
Wspólne dla każdego typu sprawdzenia. Down = endpoint nie przeszedł sprawdzenia, Up = odzyskał sprawność, Repeat = przypomnienia, dopóki pozostaje w stanie Down. Zasubskrybuj wszystkie kontakty do zdarzeń Up/Down to skrót; tabela daje kontrolę per kontakt, indywidualnie albo przez wielokrotnego użytku zestawy grup kontaktów. Zadanie bez żadnej subskrypcji alertów wciąż działa i zapisuje wyniki - po prostu nikogo nigdy nie powiadamia.
Subskrypcje raportów
Okresowe raporty dostępności, tylko e-mail. Wybierz Dziennie, Tygodniowo albo Miesięcznie per kontakt; Miesięcznie dołącza też podsumowania kwartalne i roczne. Przełącznik zasubskrybuj-wszystkie działa tak samo jak w Subskrypcjach alertów.
Lokalizacje monitorowania
- Wybór lokalizacji - szukaj albo przeglądaj drzewo regionów/krajów i zaznacz lokalizacje, z których ma być prowadzone sprawdzenie; każdy wiersz pokazuje dostępnych agentów w zestawieniu z wybranymi. "Skopiuj lokalizacje z innego zadania" ponownie wykorzystuje istniejący zestaw.
- Strategia ponownego sprawdzania - przy zmianie stanu (na przykład z Up na Down) kilka lokalizacji weryfikuje ją ponownie, zanim nowy stan zostanie przyjęty, co zabezpiecza przed fałszywym alarmem z jednego regionu. Opcje: domyślne głosowanie większością; określona liczba lokalizacji potwierdzających Down (dodaje suwak 1-7); brak ponownego sprawdzania; pełna zgoda każdej lokalizacji ponownie sprawdzającej; albo pełna zgoda dla Down, głosowanie większością dla Up.
- Jeśli wybrane lokalizacje są niedostępne - Tylko wybrane lokalizacje (domyślnie) czeka, zamiast ryzykować fałszywy alarm; Najbliższe lokalizacje używa najbliższej dostępnej lokalizacji; Dowolna lokalizacja korzysta z całego świata.
Przykład zastosowania
Monitorowanie endpointu statusu JSON: sprawdzenie API, interwał 5 minut, limit czasu 40 s, GET, Podążaj za przekierowaniami (maks. 20). Format odpowiedzi analiza JSON, Selektor $.status, Co sprawdzać "sama uzyskana wartość", Warunek "równy" z wartością porównania ok. Ignoruj błędy HTTP pozostawione puste. Lokalizacje monitorowania pozostawione na Cały świat z domyślną strategią ponownego sprawdzania. E-mail zespołu dyżurnego zasubskrybowany do Down, Up i Repeat oraz do raportów tygodniowych.
Rozwiązywanie problemów
- Sprawdzenie zawsze przechodzi, mimo że endpoint jest wyraźnie zepsuty - Warunek domyślnie ma wartość
dowolny (bez walidacji), co ocenia tylko parsowanie i transport, a nie samą wartość. Wybierz realny warunek i wartość porównania, gdy tylko wiesz, jak wygląda zdrowa odpowiedź. - Selektor nic nie zwraca - potwierdź, że Format odpowiedzi pasuje do tego, co zwraca endpoint (JSON kontra XML kontra zwykły tekst); selektor JSONPath względem treści XML nigdy nie dopasuje. Zostaw najpierw Selektor pusty, żeby potwierdzić, że dociera cała odpowiedź, a potem zawężaj.
- Warunek liczbowy (większy niż, w zakresie itd.) zgłasza błąd - wymaga, żeby wybrana wartość dała się zamienić na liczbę. Selektor wskazujący na ciąg tekstowy albo obliczenie w trybie zmiany bez jeszcze żadnego poprzedniego sprawdzenia nie ma czego porównać.
- Przeszło na Down zaraz po włączeniu Polityk HTTP (zwłaszcza Rygorystycznych) - Rygorystyczny oczekuje nagłówków, których wiele API nie skonfigurowało. Napraw nagłówki, zejdź do Podstawowego albo najpierw uruchom polityki jako osobne zadanie.
- Selektor przestaje znajdować wartość w dużej odpowiedzi - Maksymalny rozmiar odpowiedzi ucina treść, więc nic za tym punktem nie dociera do parsera ani selektora. Podnieś go.
Powiązane
- Monitoring i walidacja API - strona produktu dla tego typu sprawdzenia.
- Darmowe natychmiastowe sprawdzenie HTTP/API - uruchom jednorazowe sprawdzenie bez konta.
- Reguły walidacji odpowiedzi w trybie asercji - pełny język reguł stojący za Weryfikacją odpowiedzi.
- API HostTracker - automatyzuj zarządzanie monitorami z własnego kodu.
- Dokumentacja API v2 - pełna dokumentacja API używanego do budowania integracji.
- 429 Too Many Requests - status, który API zwraca, gdy wywołujący przekroczył limit żądań, i co z tym zrobić.
- Wszystkie poradniki monitoringu - poradnik konfiguracji dla każdego innego typu sprawdzenia.