Ne, nije ping dovoljan, zato sto server moze biti online, a sajt ne mora da radi.
Kad vec pisemo...
ovo je veoma bitna tema za npr. fail-over pricu u "tierd" i distribuiranim sistemima. Frontend (proxy) mora da zna kad postoji problem na backend serveru i da taj server ne koristi.
Npr Airbnb infrastruktura svaki server ima "/health" uri koji daje status servera (cak i
https://www.airbnb.com/health). Tako frontend stack (oni valjda koriste nerve/synapse za health monitoring) zna koji backend server je ziv tj. stack sam menja podesavanja proxyja. Mislim da je osnova tog sistema svakako Haproxy, koji je inace "industry standard" za to.
Kad smo kod "system design-a" DNS moze imati vise A rekorda koji su u stvari proxy/load-balanceri. Za svaki od tih rekorda tj. ip adresa obicno budu 2 servera sa "keepalived-om" koji drzi taj IP kao "float" izmedju 2 servera i radi failover u slucaju da jedan server padne (VRRP). Dalje proxy/load-balancer serveri (ili neki drugi stack) rade "health monitoring" backend servera, i prosledjuju zahteve shodno statusu (pazeci na npr. session persistance), ili kes serverima izmedju. Backend serveri mogu da pricaju sa bazom takodje preko proxy servera (npr MySql proxy), i npr dele read/write request-e prema odredjenim serverima. Npr read se mogu opsluzivati iskljucivo sa "slave" (read-only) servera, dok se write prosledjuju masterima. Klaster baze moze ispred imati neki dinamicki kes npr. memcached.
Btw, alatka za proveru sajta moze biti Nagios sa skriptom koja ce da svuce sadrzaj, isparsira i prosledi Nagiosu status. To moze biti i na vise nivoa, provera pingom, provera porta, provera servisa pa tek onda svlacenje sadrzaja i parsiranje.
[Ovu poruku je menjao Aleksandar Đokić dana 07.06.2016. u 16:20 GMT+1]