Vai al contenuto principale

Guide / Guide al monitoraggio: ogni tipo di controllo, passo per passo

Come configurare il monitoraggio API in HostTracker

Un controllo API richiede un endpoint nello stesso modo di un controllo HTTP, poi fa un passo in più: analizza il corpo della risposta come JSON, XML o testo semplice e valida un valore specifico al suo interno, invece del solo codice di stato. Usalo per un endpoint REST o SOAP i cui dati vuoi verificare tramite un'asserzione, per esempio un campo di stato, un conteggio di magazzino o un prezzo. Se ti serve solo confermare che un URL si carica e restituisce uno stato accettabile, un controllo HTTP è la scelta più semplice.

Impostazioni principali

Non esiste uno screenshot per questa sezione per il tipo API, ma usa gli stessi controlli condivisi di ogni altro tipo di controllo. Monitoraggio abilitato è l'interruttore generale on/off. La pianificazione a intervalli (da 1 minuto a 24 ore, cursore o menu a tendina) oppure un generatore di pianificazione cron (ogni N minuti/ore, giornaliera, settimanale, mensile, o un'espressione personalizzata, solo piano a pagamento) controlla ogni quanto gira il controllo. Il timeout va da 1 a 100 secondi; il tempo di risoluzione DNS non viene conteggiato. I tag sono etichette separate da virgola per raggruppare e filtrare. Log completo salva ogni risultato invece di raggruppare quelli identici consecutivi, e Statistiche pubbliche pubblica le statistiche e il log dell'attività su un link pubblico. A differenza di HTTP, il modulo API non ha l'interruttore DNSBL (DNSBL resta solo per Http/Ping/Port); porta comunque le stesse card Scadenza dominio, Scadenza certificato e Web Risk, ognuna eseguita ogni 12 ore: i promemoria di scadenza seguono le tue iscrizioni Up qui sotto, un risultato negativo segue Down/Repeat.

Configurazione della richiesta

Pannello Configurazione della richiesta per un controllo API: menu a tendina Metodo HTTP impostato su GET, selettore del comportamento di reindirizzamento impostato su Segui i reindirizzamenti con un cursore Reindirizzamenti massimi a 20, una tabella Intestazioni HTTP vuota, interruttore Autenticazione della richiesta, menu a tendina Selezione server DNS, e interruttore Disabilita cache DNS
  • Metodo HTTP - GET, HEAD, POST, PUT, DELETE o PATCH. GET (predefinito) è necessario per leggere e analizzare un corpo della risposta; HEAD recupera solo le intestazioni.
  • Corpo della richiesta (solo POST/PUT/PATCH) - Corpo grezzo invia esattamente quello che digiti (aggiungi la tua intestazione Content-Type per descrivere json/xml/testo semplice); Parametri POST accetta una coppia CHIAVE=VALORE per riga ed è inviato come corpo form-urlencoded.
  • Comportamento di reindirizzamento - Risposta immediata giudica la prima risposta così com'è; Segui i reindirizzamenti (predefinito) segue la catena, con un cursore Reindirizzamenti massimi da seguire (1-20); Il reindirizzamento è un errore fallisce su qualsiasi reindirizzamento (non disponibile in modalità asserzione).
  • Intestazioni HTTP - coppie nome/valore personalizzate, con suggerimenti a comparsa per i nomi e valori di intestazione API comuni (Content-Type, Authorization, X-API-Key, prefissi Bearer/Basic e altro). Se lasciato vuoto, il probe invia le intestazioni predefinite (User-Agent, Accept, Accept-Language, un Referer).
  • Autenticazione della richiesta - rivela nome utente/password per l'autenticazione a sfida HTTP del server stesso (Basic, Digest, NTLM, Kerberos, Negotiate). Per un token bearer o una chiave API, aggiungi invece un'intestazione Authorization sopra.
  • Selezione server DNS - Server DNS predefiniti nelle ubicazioni; Server DNS pubblici del paese dell'ubicazione; oppure Server DNS definiti manualmente (i tuoi indirizzi IP di resolver). Le ultime due richiedono un piano a pagamento.
  • Disabilita cache DNS - forza una ricerca DNS fresca a ogni controllo invece di riutilizzare la cache dell'agente.

Validazione della risposta

Pannello Validazione della risposta per un controllo API con la modalità asserzione disattivata: un banner informativo che promuove la modalità asserzione, campi Ignora errori HTTP e Errore su questi stati HTTP, Formato della risposta impostato su analisi JSON, un campo Selettore vuoto, Cosa controllare impostato su Controlla il valore ottenuto stesso, Condizione impostata su qualsiasi (nessuna validazione), e l'inizio dell'elenco Policy HTTP

Per impostazione predefinita un controllo ha successo quando il DNS si risolve, la connessione e l'handshake TLS (per https) si completano, il server restituisce uno stato HTTP Ok, e la risposta viene analizzata correttamente nel formato selezionato sotto.

  • Modalità asserzione - lo screenshot la mostra disattivata, con un banner che invita ad attivarla per regole su codice di stato, tempo di risposta, intestazioni o contenuto del corpo. API e HTTP sono gli unici due tipi di controllo con un editor di asserzioni funzionante; vedi l'approfondimento sulla modalità asserzione per il linguaggio completo delle regole. Mentre è disattivata, i campi classici sotto guidano il verdetto.
  • Ignora errori HTTP - codici di stato che NON devono far fallire il controllo, per esempio 401, 403, 500; vuoto significa che ogni codice 400+ è un errore.
  • Errore su questi stati HTTP - il contrario: codici che devono far fallire il controllo anche se normalmente non lo farebbero.
  • Formato della risposta - come viene analizzato il corpo prima che parta il selettore: analisi JSON (selettore JSONPath o per proprietà, mostrato selezionato nello screenshot), analisi XML (query XPath), oppure analisi di stringa (regex con cattura). GET è necessario per leggere un corpo.
  • Selettore - estrae un valore dalla risposta analizzata; lascia vuoto per usare l'intera risposta come valore.
  • Cosa controllare - per impostazione predefinita la condizione sotto giudica il valore selezionato stesso (Controlla il valore ottenuto stesso); passa a Controlla la variazione del valore tra controlli, oppure a un tasso di variazione al secondo/al minuto, per giudicare invece quanto si è mosso il valore.
  • Condizione - confronta il valore: any (no validation) (predefinito, mostrato nello screenshot), 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, oppure json null. Ogni condizione tranne le ultime due richiede un valore di confronto inserito sotto di essa.
  • Policy HTTP - gli stessi controlli opzionali su intestazioni/cookie/contenuto del tipo di controllo HTTP: applicazione forzata di HTTPS, intestazione HSTS, nessun downgrade da https a http, CSP, protezione dal clickjacking, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, nessuna divulgazione di versione, asserzioni Cache-Control, intestazioni di risposta CORS, sicurezza dei cookie e contenuto misto. I preset Baseline, Strict e API sostituiscono l'intera selezione; una violazione conclude il controllo come Down come qualsiasi altro fallimento.
  • Handshake TLS - quattro interruttori di rigore (piano a pagamento): richiedi una catena di certificati SSL valida, richiedi TLS 1.2 o superiore, blocca cifrari deboli (128 bit o meno), e controlla la revoca del certificato.
  • Validazione IP attesi - conferma che il DNS risolva il tuo host verso uno degli IP che elenchi a ogni controllo, individuando un dirottamento o un record obsoleto anche mentre qualche server continua a rispondere.
  • Dimensione massima della risposta - smette di leggere il corpo oltre questa dimensione, così il parser e il selettore vedono solo la parte scaricata. Predefinito 1 MB, massimo 10 MB; 0 non legge alcun corpo.

Una nota sugli screenshot sopra: sono stati catturati su un account il cui piano non include il tipo di controllo API, quindi il campo di selezione del tipo lì mostrava "non nel tuo piano". Questo è un artefatto dell'account di test, non qualcosa che vedrai: ogni campo e valore predefinito descritto qui è altrimenti esattamente ciò che mostra il modulo.

Iscrizioni agli avvisi

Pannello Iscrizioni agli avvisi: interruttore Iscrivi tutti i contatti agli eventi Up/Down attivato, una casella di ricerca contatti, e un contatto email con i pulsanti Down, Up e Repeat tutti attivi

Condiviso da ogni tipo di controllo. Down = l'endpoint ha fallito il controllo, Up = si è ripreso, Repeat = promemoria finché resta giù. Iscrivi tutti i contatti agli eventi Up/Down è una scorciatoia; la tabella dà un controllo per singolo contatto, individualmente o tramite preset di gruppi di contatti riutilizzabili. Un'attività senza iscrizioni agli avvisi gira comunque e registra i risultati: semplicemente non avvisa mai nessuno.

Iscrizioni ai report

Pannello Iscrizioni ai report: interruttore Iscrivi tutti i contatti ai report Settimanali/Mensili attivato, e un contatto email con gli interruttori Settimanale e Mensile attivi e Giornaliero disponibile

Report periodici sull'uptime, solo email. Scegli Giornaliero, Settimanale o Mensile per contatto; Mensile include anche i riepiloghi Trimestrale e Annuale. L'interruttore iscrivi-tutti funziona come nelle Iscrizioni agli avvisi.

Ubicazioni di monitoraggio

Pannello Ubicazioni di monitoraggio: un albero di ubicazioni ricercabile con Tutto il mondo, Nord America, Russia e Europa occidentale selezionati e i loro conteggi di agenti, più i menu a tendina Strategia di riverifica e Se le ubicazioni selezionate non sono disponibili sotto
  • Selettore di ubicazioni - cerca o sfoglia l'albero regione/paese e spunta le ubicazioni da cui controllare; ogni riga mostra gli agenti disponibili rispetto agli agenti selezionati. "Copia ubicazioni da un'altra attività" riusa un insieme esistente.
  • Strategia di riverifica - a una transizione di stato (per esempio da Up a Down), diverse ubicazioni la riverificano prima che il nuovo stato venga accettato, proteggendo da un falso positivo di una singola regione. Opzioni: predefinita voto della maggioranza; un numero specificato di ubicazioni che confermano Down (aggiunge un cursore 1-7); nessuna riverifica; accordo completo di ogni ubicazione di riverifica; oppure accordo completo per Down, voto della maggioranza per Up.
  • Se le ubicazioni selezionate non sono disponibili - Solo le ubicazioni selezionate (predefinito) aspetta invece di rischiare un falso avviso; Ubicazioni più vicine usa l'ubicazione disponibile più vicina; Qualsiasi ubicazione ripiega su tutto il mondo.

Esempio pratico

Monitorare un endpoint di stato JSON: controllo API, intervallo di 5 minuti, timeout di 40s, GET, Segui i reindirizzamenti (massimo 20). Formato della risposta analisi JSON, Selettore $.status, Cosa controllare "il valore ottenuto stesso", Condizione "equal to" con valore di confronto ok. Ignora errori HTTP lasciato vuoto. Ubicazioni di monitoraggio lasciate su Tutto il mondo con la strategia di riverifica predefinita. L'email del team di reperibilità iscritta a Down, Up e Repeat, e ai report Settimanali.

Risoluzione dei problemi

  • Il controllo ha sempre successo anche se l'endpoint è chiaramente rotto - Condizione è impostata per default su any (no validation), che giudica solo l'analisi e il trasporto, non il valore stesso. Scegli una condizione e un valore di confronto reali una volta che sai come appare una risposta sana.
  • Il selettore non restituisce nulla - conferma che Formato della risposta corrisponda a ciò che restituisce l'endpoint (JSON contro XML contro testo semplice); un selettore JSONPath contro un corpo XML non corrisponde mai. Lascia prima Selettore vuoto per confermare che passi l'intera risposta, poi restringi.
  • Una condizione numerica (greater than, in range, ecc.) dà errore - richiede che il valore selezionato si converta in un numero. Un selettore che punta a una stringa, o un calcolo in modalità variazione senza ancora un controllo precedente, non gli dà nulla da confrontare.
  • È andato giù subito dopo aver attivato le Policy HTTP (specialmente Strict) - Strict si aspetta intestazioni che molte API non hanno configurato. Correggi le intestazioni, scendi a Baseline, oppure esegui prima le policy come attività separata.
  • Il selettore smette di trovare un valore su una risposta grande - Dimensione massima della risposta taglia il corpo, quindi nulla oltre il taglio raggiunge il parser o il selettore. Alzala.

Correlati

Controlla ora

Esegui il controllo gratuito sul tuo sito, senza bisogno di un account.

Web api validation

Monitora in modo permanente

Ricevi un avviso appena qualcosa si rompe: HostTracker controlla da oltre 300 località e ti avvisa via e-mail, SMS, Slack, Telegram e altro.

Funzionalità di HostTracker

Altro in questa sezione: Guide al monitoraggio: ogni tipo di controllo, passo per passo