Webbipalvelin toimii --- vai toimiiko sittenkään ?
Ping on yksinkertainen ja kätevä jos haluaa tarkistaa että jonkinlainen yhteys on olemassa. Jos pingaa jotain webbinimellä, esimerkiksi "forum.ubuntu-fi.org" ja saa vastauksen jossa ip-osoite niin tietää että nimipalvelukin toimii.
Vastauksen saaminen pingiin on vasta ensimmäinen vaihe. Voihan tilanne olla että yhteys kohteeseen on toimintakunnossa mutta webbipalvelin koneella on nurin. Joskus voi pingaus olla estetty tahallisestikin. Tuon tilanteen havaitsemiseen on kätevintä tehdä eräänlainen "http-ping", lähetetään webbipalvelimelle lyhyt kysymys http-koodattuna (eli samalla periaatteella kuin webbiselainkin kysyy) "onko siellä ketään". Tuon kysymyksen lähettäminen päätteessä on hyvin yksinkertaista "wget" -ohjelman avulla:
wget --spider -S -T 3 -t 3 forum.ubuntu-fi.org
--2013-02-23 22:04:40-- http://forum.ubuntu-fi.org/
Resolving forum.ubuntu-fi.org (forum.ubuntu-fi.org)... 91.189.94.248
Connecting to forum.ubuntu-fi.org (forum.ubuntu-fi.org)|91.189.94.248|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Date: Sat, 23 Feb 2013 20:04:40 GMT
Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.26 with Suhosin-Patch
X-Powered-By: PHP/5.2.4-2ubuntu5.26
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Cache-Control: private
Pragma: no-cache
Last-Modified: Sat, 23 Feb 2013 20:04:40 GMT
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from vostok.canonical.com
X-Cache-Lookup: MISS from vostok.canonical.com:8800
Via: 1.1 vostok.canonical.com:8800 (squid/2.7.STABLE7)
Set-Cookie: PHPSESSID=9be179467400e252161979760b881246; path=/
Via: 1.1 forum.ubuntu-fi.org
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
Tuossa on aika pitkästi tietoja. Jos tarve on vain saada pelkkä tieto vastaako webbipalvelin ja tehdä jotain kielteisessä tapauksessa niin se käy helposti näin:
wget --spider -T 3 -t 3 -q forum.ubuntu-fi.org || echo "Ei löytynyt"
Tuon toiminta on helppoa ymmärtää kun muistaa että "tuplaputken" eli "||" jälkeen oleva komento suoritetaan vain kun ensimmäinen komento epäonnistuu eli kun "wget" menee virheeseen yrittäessään yhteyttä. Tuo "-q" vipu saa aikaan sen että "wget" on hiljaa eli ei tulosta mitään tekstiä vaan välittää vain seuraavalle ohjelmalle tiedon onnistumisesta/epäonnistumisesta. Iso "T" on timeout, pieni "t" yrityskertojen määrä ja "-S"= --server-response.
Tuohon voi tietysti laittaa minkä hyvänsä komennon tuon tuplapalkin perään, vaikka viestin lähetyksen tai hälytyksen epäonnistumisesta. Samoin tuota komentoa pystyy automaattisesti ajamaan toistuvasti halutulla aikavälillä (esim. 1 min) laittamalla sen "crontab" ohjelmaan.
Jos epäilet silti että vika on omissa laitteissa, lähistön laitteissa tms. niin ei keinot tähän lopu. Netistä löytyy monia paikkoja mistä voi kokeilla tuleeko http-vastausta. Googlella löytyy noita nopeasti mutta tässä esimerkkejä:
http://www.inspyder.com/free/HttpHeaderViewer.aspxhttp://pgl.yoyo.org/http/server-headers.phphttp://web-sniffer.net/Tai sitten voit katsella merkkipohjaisella webbiselaimella (Lynx) eri paikoista näkyykö mitään:
http://www.yellowpipe.com/yis/tools/lynx/lynx_viewer.phphttp://www.kk-software.de/Lynxview.htmlEdit:
Korjasin pienen kirjoitusvirheen tuolla "wget": in vivuissa. Nyt se ei myöskään enää jumitu vastauksen puutteeseen vaan luovuttaa yritettyään kolme kertaa.