Korinaa kuopasta

Jo 582 juttua!

Tilaa RSS tai Atom

Palvelimen monitorointiskripti

Otsikoiminen ei ole vahvimpia puoliani. Tämä kirjoitus on seuralainen sille viime lauantaina julkaistulle kirjoitukselle Palvelimen toimivuuden seuraaminen. Vuorossa on nyt skripti, jolla noita palvelimen juttuja voi yrittää vahdata siirtämällä tämän työkalun jollekin toimintavarmalle nettipalvelimelle.

Monitorointityökalun voi ladata tästä.

Työkalun asentaminen käy aika näppärästi, koska tuo juttu sisältää vain pari pientä tiedostoa. Tuo ladattava paketti sisältää kaksi sellaista .php-päätteistä tiedostoa, joihin on tehtävä muutoksia. Helpoin juttu on ensin avata jarjestelmasetukset.php ja säätää sinne seuraavat viisi tietoa:

  1. $osoite = "http://www.kuopassa.com/uptime/";
    (Tähän tulee se URL-osoite, jossa skripti sijaitsee.)
  2. $kieli = "fi";
    (Tämä on kieli. Tätä tuskin tarvitsee säätää.)
  3. $luoja = "Petri Ikonen";
    (Tämä juttu menee tsydeemin HTML-versioon meta tageja varten.)
  4. $title = "Uptime @ Kuopassa.com";
    (Tämäkin HTML-versioon.)
  5. $umptsikavauvaa = "asetustiedosto.php";
    (Tämä on tärkeä juttu, koska tämän tiedoston sisältä löytyy ne URL-osoitteet sivustoista, joiden tilaa halutaan seurata. Oletuksena tiedoston nimi on sama kuin yllä.)

Työkalun asentamisessa tuon järjestelmäasetustiedoston säätäminen on jo 50% asennusrumbasta. Ruljanssin toinen puolisko on pistää tiedostoon asetustiedosto.php ne URL-osoitteet sun muut niistä sivustoista, joiden tilaa aiotaan monitoroida. Olen esimerkin vuoksi jättänyt tiedoston asetustiedosto.php sisälle kolmen sivuston tiedot valmiiksi. Suosittelen, ettette monitoroi meikäläisen saitteja vaan poistatte ne rivit ja asetatte omien sivustojenne tiedot tilalle. ;-) Asetustiedoston sisällä on aina yhdellä rivillä kaikki yhden sivuston tiedot. Tiedot erotellaan kahdella puolipisteellä (;;). Esimerkki yhden sivuston tiedoista on tässä alapuolella.

sivustonosoite.com;;80,443,110,25,143,156;;Sivuston nimi;;Yhteyshenkilön nimi;;yhteyshenkilo@sivustonosoite.com

Tuossa yllä olevassa rivissä on aluksi vasemmalla sivuston osoite, jonka jälkeen on palvelinten porttinumerot, sitten on sivuston kutsumanimi, sivuston yhteyshenkilön nimi ja lopuksi mailiosoite.

Tämän skriptin pitäisi sen asentamisen jälkeen luoda HTML- ja Atom-versio näistä valvottavista saiteista. HTML-version pitäisi löytyä siirtymällä siihen URL-osoitteeseen, johon skripti on asennettu (index.php-tiedosto) ja syötteen pitäisi löytyä avaamalla samasta osoitteesta tiedosto syote.php. Syötteen voi tilata vaikkapa suoraan matkapuhelimeen, jolloin sivustoja voi näppärästi stalkata puhelimen RSS-lukijan avulla.

En ole koodari, joten tämän skriptin toimivuus eikä toteutustapa ole välttämättä parhain mahdollinen. Jos kehittelet tästä oman parannellun versiosi, olisi hauskaa jos mainitsisit siitä minulle.

Koska aika on arvokasta, kannattaa tutustua tähän alla näkyvään listaan jos mielit löytää tämän nettisivuston parhaat kirjoitukset. Tässä alapuolella on kaikkein luetuimpia kirjoituksia Korinaa kuopasta -blogin aarreaitasta. Kirjoitukset on järjestetty suosituimmuusjärjestykseen siten, että luettelon kärjessä on tällä hetkellä eniten lukukertoja saaneet kirjoitukset.

Luetuimpia blogimerkintöjä

Blogimerkintää "Palvelimen monitorointiskripti" muokattiin viimeksi 4168 päivää sitten, eli tiistaina 29.09.2009 kello 17:05. Kirjoitukseen on julkaistu kommentteja 4 kpl. Kaikki kirjoituksen saamat kommentit löytyvät suoraan tämän tekstimötikän alapuolelta.

Julkaisun kommentit

waatti kommentoi 4168 päivää sitten

Tätähän pitää testata ehdottomasti, vaikuttaa sen verran simppeliltä. Nyt vain etsimään sitä toimintavarmaa nettipalvelinta, jolle tämän asentaisi… ;)

Petri kommentoi 4168 päivää sitten

Jees, simppelihän se on! Sen asentaminen on parin minuutin keikka, joten jos ehdit testaamaan sitä niin kerro toki kokemuksistasi. :-)

Gocom kommentoi 4168 päivää sitten

Kun tuon nopeasti luin läpi niin se ainakin jättää niin file() kutsun auki, jos siis oikein näin. fclose($fp); on pakollinen jos ei käytetä PHP:n file to string oikofunktioita.

Jos tuota halutaan parantaa, foreach() ja for() -funktioiden kanssa ei kannata, saati tarvitse, käyttää till-tapaa osien selaamiseen, jos kyseessä on vain yksinkertainen arrayn läpi käynti, on yleensä kannattavampaa käyttää ihan as -muuttujaa, jolloin osat käydään suoraan läpi.

Meidän kaikkien kannattaa huomata että fsockopen(), eli siis connect(), on parasta-mitä-saadaan -funktio. Toisin sanoen se voi palauttaa mitä tahansa maan ja taivaan väliltä.

Jos tuosta scriptistä halutaan tehdä täysin automaattinen voidaan se suorittaa esim. cronjob:in avulla. Minuutin pakkaamisella tuommoisen funtion voisi tehdä vaikka paririvisellä:

function check_sites($sites='',$to='',$subject='',$from='') {
		$sites = explode(",",$sites);
		foreach($sites as $site) {
			$part = explode(':',$site);
			$check = @fsockopen( $part[0] , $part[1] , $errno , $errstr , 5);
			if($check == false)
				$down[] = $part[0].' - '.$errno;
		}
		if(isset($down)) 
			@mail(
				$to,
				$subject,
				'Following services are possibly down:'."\n".implode("\n",$down),
				'From: '.$from,
			);
	}

Käyttäminen siis tapahtuu:

check_sites(
	'example.com:80,example.com:8080,some.com:80',
	'to@example.com',
	'Palvelu mahdollisesti alhaalla',
	'from@example.com'
);

Ei ole tastattu mitenkään, eikä se mm. tarkista emailpalvelinta rivinlopetusten varalta, eikä encodaa erikoismerkkejä jne. Varmaan räjäyttää koko serverin ;)

Petri kommentoi 4168 päivää sitten

Hyvää palautetta, Gocom. Ainakin fclose() on tulossa jossain vaiheessa mukaan tähän päivitykseen ja ehkä myös noita muita mainitsemiasi parannuksia jos vain (o)saan implementoida ne tuohon koodiin. Cronjobia harkitsin itsekin tätä tarkoitusta varten, koska sen avullahan voi lähettää PHP-skriptin välityksellä sähköpostia, mutta eikös myös itse cronbjobissa ole joku sisäänrakennettu maileri?

Oho! Tämän julkaisun kommentointi onkin jo suljettu. Kun tämän julkaisun kommentointi oli vielä avoinna, tälle julkaisulle kirjoitettiin yhteensä 4 kommenttia. Tämä artikkeli on lokeroitu kategoriaan . Tämän julkaisun kestolinkin osoite on http://www.kuopassa.com/weblog/2009/09/29/palvelimen-monitorointiskripti.

Korinaa kuopasta: Palvelimen monitorointiskripti.

Selaat tällä hetkellä blogimerkintää Palvelimen monitorointiskripti. Se julkaistiin 29. päivä syyskuuta 2009. Voit siirtyä lukemaan blogin tuoreimpia kirjoituksia klikkaamalla tiesi weblogin etusivulle. Tässä blogissa julkaistaan kiinnostaviksi katsomiani asioita, joten jos tiedät kiinnostavan nettiin liittyvän aiheen, josta kannattaisi kirjoittaa, laita palautetta!