Dokumentacija

Vrste monitorjev

En monitor je ena tarča, preverjana na vašem intervalu. Vsak primarni monitor zasede eno mesto v vašem paketu; dodatna preverjanja, ki pridejo z njim (SSL, potek domene, zgodovina DNS, PageSpeed), ga ne.

Spletna stran (HTTP / HTTPS)

Zahtevek GET na stran, ki sledi do 5 preusmeritvam.

  • Deluje pomeni odgovor 2xx ali 3xx (ali točno tisto kodo stanja, ki jo nastavite).
  • Preverjanje ključne besede: po želji zahtevajte besedo na strani ali zahtevajte, da je beseda ni (uporabno za "maintenance" ali besedilo napake).
  • Pri vsakem preverjanju beležimo odzivni čas strežnika, razdeljen na DNS, vzpostavitev povezave, TLS in čas do prvega bajta. Teža celotne strani (JavaScript, CSS, slike in pisave) pride iz Google PageSpeeda (glejte hitrost).

Suspendirano gostovanje, parkirane domene in privzete strani

Nekatere nedelujoče strani še vedno odgovorijo z 200. Prepoznamo tri vrste in jih prikažemo kot izpad, saj tudi obiskovalci strani ne vidijo:

  • Gostovanje začasno ustavljeno: ponudnik namesto strani prikaže obvestilo o suspenzu (cPanel, DirectAdmin). Običajno gre za neplačan račun ali presežene vire.
  • Parkirana domena: parkirna stran ali stran za prodajo domene (GoDaddy, Sedo, ParkingCrew, Bodis, Dan.com, Afternic, HugeDomains, Namecheap). Običajno gre za potekel zakup domene ali DNS, ki kaže na registrarja.
  • Privzeta stran strežnika: privzeta stran nginxa, Apacheja, IIS-a, cPanela, Pleska ali DirectAdmina. Običajno manjkajo datoteke strani, DNS kaže na napačen strežnik ali je bila konfiguracija strežnika ponastavljena.

Prepoznamo samo točne podpise (naslov, na katerega preusmeri panel, naslov privzete strani, naslov parkirne storitve), nikoli besed v vaši vsebini, zato stran, ki piše o suspenzih, ni prizadeta. Na novo dodana stran, ki že kaže eno od teh strani, je nedokončana nastavitev: incidenta ni, dokler ne pokaže prave strani. Če spremljate strežnik, ki namenoma nima strani, vklopite Nastavitve → Privzeta stran strežnika je pričakovana. Strani suspenza in parkirne strani se vedno štejejo kot izpad.

Strani, zaščitene z geslom

Testne in razvojne strani so pogosto za HTTP Basic auth. Brez gesla taka stran odgovori z 401, mi pa to prikažemo kot Zahtevano geslo, ne kot izpad.

  • Uporabniško ime in geslo vnesite ob dodajanju strani (Stran je zaščitena z geslom (HTTP Basic auth)) ali pozneje v monitorju pod Nastavitve → Zaščita z geslom. Pošljemo ju z vsakim preverjanjem kot glavo Authorization. Geslo je shranjeno šifrirano in nikoli več prikazano.
  • Če stran geslo, ki ga pošljemo, zavrne (ker je bilo spremenjeno), monitor pokaže Geslo zavrnjeno.
  • Na novo dodana stran, ki zahteva geslo, je nedokončana nastavitev, ne izpad: incidenta ni, dokler gesla ne vnesete.
  • Zavrnjeno geslo je opozorilo, ne izpad: brez SMS-a in se ne šteje v razpoložljivost, ker ne vidimo, ali stran deluje.
  • Stran, ki je bila odprta in nenadoma zahteva geslo, je izpad: tudi obiskovalci je ne morejo odpreti.
  • Podprt je samo Basic auth. Stran, ki zahteva Digest auth, je prikazana kot taka; naša preverjanja raje spustite skozi z glavo.
  • Google PageSpeed za stran, zaščiteno z geslom, ne teče: gesla ne more poslati in bi izmeril samo prijavno okno.
  • Potrditev lastništva z datoteko deluje: ko datoteko prenesemo, pošljemo isto geslo.

Vrata TCP

Odpre povezavo na vrata in jo zapre. Ničesar ne pošljemo: protokola storitve ne govorimo, zato vam monitor TCP pove, da vrata sprejemajo povezave, ne pa, da je storitev za njimi zdrava. db.example.com:5432 in db.example.com:6379 sta dva monitorja.

Ping

Zahtevki ICMP echo na ime gostitelja ali naslov IP. Nekatera omrežja ICMP zavržejo; če strežnik, ki deluje, nikoli ne odgovori, raje uporabite monitor TCP.

API endpoint

Zahtevek z vašo metodo (GET, POST, PUT, PATCH, DELETE, HEAD), glavami in telesom. Glave so shranjene šifrirano, zato jih uporabite za ključe API.

  • Deluje privzeto pomeni odgovor 2xx ali točno tisto kodo stanja, ki jo nastavite.
  • Preverjanja odgovora JSON: do 5 preverjanj JSON odgovora. Pot uporablja pike, za elemente seznama pa številke: data.status, items.0.id.
Operator Uspe, ko
equals / not equals je vrednost na poti (ni) točno podana vrednost
contains vrednost vsebuje podano besedilo
less than / greater than je število pod / nad podano vrednostjo
exists / not exists pot v odgovoru (ni) prisotna

Odgovor, ki ni JSON (na primer stran z napako v HTML-ju), pade pri vsakem preverjanju z lastno napako, zato ga je lahko prepoznati.

Cron heartbeat

Obratno: vaše opravilo ob zagonu pokliče nas. Glejte cron heartbeate. Heartbeati imajo svojo kvoto in ne zasedajo mest za monitorje.