tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

Tiedätkö onko sivusto kaatunut? (downtime monitoring)

Kaikenlaiset tilastot ovat jänniä. Osasta saattaa olla jopa jotain hyötyäkin, mutta useimmiten niiden ihmettely on vain hyvä tekosyy olla tekemättä jotain hyödyllistä. Muutamaa asiaa on kuitenkin syytä seurata, kuten prosessorin käyttöä, muistin kulutusta. levytilaa sekä ehkä tavalliselle verkkosivun omistajalle tärkeimpänä: onhan sivusto pystyssä. Käyttäjät nimittäin eivät sitä sinulle kerro, vaikka kuinka olisit virittänyt Facebook-sivuja, twittertilejä tai muita tapoja ottaa yhteyttä. Vaikka koira-aiheisessa Katiskassa on aktiivinen Facebook-yhteisö, niin ennätys on ollut kaksi päivää saitti kumollaan, ennen kuin joku ujo sielu kyseli, että koska se mahtaisi tulla linjoille taas. Jokin tapa seurata edes sivustolle pääsyä täytyy olla, vaikka mitään muuta ei monitoroisikaan.

WordPress-maailmassa yleisin lienee Jetpack. Downtimen seuraaminen on osa sen ilmaista osaa. Se lähettää sähköpostin, kun sivusto on saavuttamattomissa. Koska samalla saa hallintaan tilastot käyntimääristä, niin Jetpackin korkeat asennusmäärät eivät ole yllätys. Semminkin kun Jetpack on osa de facto WordPressin omistavan Automatticin myyntitoimintaa ja sitä – kuten muitakin Automatticin tuotteita – mainostetaan ohi muiden WordPressin lisäosissa (joten ei moista vain Google ja Apple harrasta, osaa muutkin).

Jetpack on laaja kokonaisuus erilaisia toimintoja, joista suurin osa on aidosti turhia – turha tarkoittaa tässä sellaista, joka on korvattavissa muilla ja suoraan sanottuna paremmilla lisäosilla. Käyttäjämääriä kannattaa seurata Google Analyticsilla, jolloin saa aidosti (kohtuullisen) paikkaansapitävää dataa. Jos sen haluaa sivuston dashboardiin näkyviin, niin sekin onnistuu. Kuvien lataaminen vasta kun scrollataan kohdalla, eli lazy load, on osa Jetpackin palvelupakettia. Lazy loadin saa toteutettua useimmiten jo tyyleissäkin, tai sitten SEO-palikalla. Useimmat välimuistia rakentavat tarjoavat myös lazy loadin. Toki sen saa erillisenäkin lisäosana.

Jetpackin suurin ongelma on sen raskaus. Se hidastaa sivuston toimintaa huomattavasti. Lisäksi sivusto tulee toimintansa suhteen hyvinkin riippuvaiseksi Automatticin serverien toiminnasta. Jos ne ovat alhaalla tai hidastelevat, niin silloin lakkaa toimimasta omakin sivusto.

Jetpack tarjoaa oikeastaan vain kaksi työkalua, joiden korvaaminen muilla on ainakin hieman työlästä. Ne ovat downtime seuranta ja automaattinen ilmoitus uusista julkaisuista niin tilaajille kuin some-kanaviin. Uusien artikkelien ilmoitusta ei oikein saa toteutettua mitenkään ns. sisäisesti, ja siihen on viritettävä jokin ulkoinen palvelu – yleensä maksullinen – tai sitten hyväksyy semimanuaalisen ratkaisun ja hyödyntää tilaajien kohdalla vaikka MailChimpiä ja somen tekee täysin käsin. Vaikka automaatio on kivaa, niin uusien julkaisujen mainostaminen kannattaa aina muokata kanavan mukaan – ja siihen ei automaatio todellakaan taitu.

Ilmoitus sivuston kaatumisesta on ilmiselvistä syistä oleellinen. Jo pelkästään tieto lyhyistä sekä satunnaisista saavuttamattomuuksista on tärkeä, koska se juoruaa joko teknisestä ongelmasta sivustolla tai palveluntarjoajan epäluotettavuudesta. Sitä ei sitten helposti saakaan. Tai saa, mutta ei ilmaisena. Syy siihen lienee se, että moista ei oikein voida toteuttaa sivuston sisältä, vaan sen täytyy olla ulkoinen. Jos se olisi sisäinen, niin sen toiminta lakkaisi samalla hetkellä kun sivustokin kaatuu- Toki jälkiseurannan voisi tehdä vaikka kelloa seuraamalla, mutta se olisi suunnilleen yhtä hyödyllistä kuin soittaa palokunta savuaville raunioille toteamaan, että tulipalo on tapahtunut. Koska monitorointia voidaan tehdä vain ulkoiselta sivustolta, niin aika harva on valmis tarjoamaan moista ilmaiseksi. Ja jos rakentaisi oman palvelun, vaikka erilliselle virtuaaliserverille, joka hoitaisi kohdesivuston pingaamisen ja ilmoittaisi kaatumisesta, niin ei sekään ilmaista olisi.

Mahdollisesti rahasyistä johtuu, että WordPressin lisäosarepo ei montaa vaihtoehtoa tarjoa kaatumisen seurantaan. Ne mitkä löytyvät, ovat kaikki perimmältään maksullisia. Jos hakee Googlella, niin tarjoaa kahden sivun verran TOP-5 monitorointiohjelmat WordPressiin -artikkeleihin, jotka kopioivat toinen toisiaan; kun olet lukenut yhden, niin olet lukenut kaikki (tuota sisällön kopiointia kutsutaan nykyään sisältömarkkinoinniksi ja sen ainoa tarkoitus on mainosnäytöt). Ei liene yllätys, että tarjotut ovat kaikki kuukausimaksullisia.

Hinnat eivät ole mitenkään edullisia. Maksat alkaen 5 euroa kuussa, että sinulle kerrotaan sivuston kaatuneen. Tiedän, että isommissa bisneksissä tuo on kahvikupin hinta, mutta kun niitä 5 – 15 euron edullisia kuukausikuluja syntyy noin 50 – 100 lähteestä, niin aletaan puhumaan rahasta. Kannattaa muistaa, että kun aidosti tyypilliset hinnat ovat 30 €/kk, niin se tarkoittaa monitorointiin pelkästään 360 euroa vuodessa.

Maksullisissa on kuitenkin yksi vahva etu. Joku muu vastaa toimivuudesta ja sillä jollain muulla ainakin pitäisi olla parempi osaaminen. Joten tässä joutuu aina punnitsemaan hinnan, ajankäytön, hyödyn ja luotettavuuden välillä. Maksullisia palveluja on digimaailma väärällään ja melkoinen osa tarjoaa käytännössä samaa palvelua. Silloin valinta on hieman samaa sarjaa kuin että onko Valion maito parempaa kuin Ingmannin maito. Silloin kun ei oikein osaa valita, joka on aika yleistä nettipalvelujen suhteen, niin aina kannattaa valita kotimainen vaihtoehto. Ihan vaan siksi, että  rahat ainakin periaatteessa jäävät Suomeen. Kannatan monessa globaalia järjestelmää, mutta silti voi hieman vetää kotiinpäinkin. Joten harkitsemisen arvoinen vaihtoehto voisi silloin olla käyttää suomalaista tech-osaamista ja ostaa palvelu vaikka AdminLabsiltä. En ole heihin missään kytköksissä, mutta sain vinkin Facebookin WordPress Suomi -ryhmästä.

Uptime Robot

Jos haluaa välttää Jetpackin kaltaisen tehorohmun ja hidastelija, ja haluaa olla käyttämättä rahaa, niin käytännössä on vain yksi vaihtoehto: UptimeRobot.

Ilmainen sopimus kattaa 50 monitoria neljällä eri valinnalla:

  • http(s): seuraa osoitteen vastausta; toimii sivuston seurannassa
  • ping: kysyy serverin vastausta; toimii virtuaaliserverin seurannassa
  • keyword: tarkistaa löytyykö haluttu avainsana sivulta
  • port: seuraa palvelimen portin vastausta; saa tarkistettua erilaisten palveluiden toimivuuden

Ilmainen sopimus tarkistaa tilan aina viiden minuutin välein, joten aivan satatarkka se ei ole. Jos on valmis maksamaan alkaen 5,50 taalaa kuukaudessa, niin saa mm. tekstiviesti-ilmoitusten lisäksi kerran minuutissa tapahtuvan tarkastuksen.

Käyttöönotto edellyttää tilin luomista, mutta se ei ole muuta kuin tyypillinen mailiosoite/salasana/kuittaa ketju.

Monitoreiden luominen on todella simppeliä. Add New Monitor ja annetaan tarvittavat tiedot. Mutta yksi vinkki. Jos haluat hälytyksen sivuston kaatumisesta ja asennat http-seurannan JA sinulla on välimuisti käytössä, niin laita urlin perään ?*cachebuster*. Se laittaa silloin osoitteeseen satunnaisen numeron, joka ohittaa cachen. Oleellista esimerkiksi Varnishin kanssa, niin kaatuneen sivuston sisältö ei tule välimuistista.

Tuolle löytyy muutama plugin ja ainoastaan yksi, jonka suostuin koemielessä asentamaan.

https://fi.wordpress.org/plugins/powies-uptime-robot/

Sillä saa lyhytkoodilla ”palvelun status” sivun ja tietysti widgetin. Minun on vaikea oivaltaa noiden hyötyä, mutta ovatpahan kuitenkin. Tein tänne sivun, jossa näkee kahden serverin ja muutaman saitin tilan.

Pluginin setup löytyy valikon kohdasta Asetukset ja käyttöönottoon tarvitset API:n. Sen saat luotua yhdellä klikkauksella UptimeRobotin tililtä välilehdessä My Settings.

Entä jos kaatuikin joku muu?

Yleensä WordPress ei kaadu yhtä äkkiä omia aikojaan. Käytännössä aina WordPressin kaatuminen WordPressin takia tapahtuu kun asennetaan uusi lisäosa tai teema, tai jokin päivitys on rikki. Jos olet niin rohkea, että päivität kaiken mahdollisen automaattisesti, niin tarvitset taatusti automaatin valvomaan toimintaa. Muutoin et saa kavennettua ongelman aiheuttajaa.

Pääsääntöisesti hyvä politiikkaa on antaa lupa automaattisen asennukseen vain ja ainoastaan WordPressin tietoturvapäivityksille – yleensä versionumero on silloin x.x.jotain eli eräällä tavalla kolmella desimaalilla. Kaikkien muiden kohdalla mietitään erikseen päivittääkö heti vai odottaako.

Major-päivityksiä ei koskaan asenneta ensimmäisten joukossa, ellei ole jonkun odotetun korjauksen takia pakko. Antaa innokkaampien tehdä testaus. Pienet korjaussarjat sen sijaan kannattaa asentaa heti.

Tuo kaikki tarkoittaa sitä, että sinun täytyy käydä sivustosi hallinnassa hieman useammin kuin joskus ja harvoin. Sekä myös ajaa päivitykset. Jos sinä et halua tehdä sitä, niin maksa jollekulle talonmieshommista. Muutoin olet hyvinkin äkkiä kyselemässä miten murrettu sivusto saadaan korjattua.

Yleisin syy kaatumisiin on palveluntarjoajan omat ongelmat. Webhotellit ovat hiemn surullisen kuuluisia tämän suhteen. Yleensä niidenkään systeemit eivät hajoa oikeasti, vaan esimerkiksi error 5xx virheet tulevat aidosti vain liian isosta kuormasta: sinulla on liikaa kävijöitä, eikä webhotelli jaksa. Silloin sinulla on kaksi vaihtoehtoa: joka ostat isomman webhotellisiivun tai teet kuten minä ja siirryt virtuaaliserverille. Kyse on kuitenkin siitä, että sinun täytyy saada tieto niin nopeasti kuin mahdollista, kun sivusto on saavuttamattomissa.

Webhotelleissa ei ole tarvetta asentaa mitään syvempää monitorointiohjelmaa. cPanelin tiedot ovat täysin riittäviä. Joutuisi asentamaan valvonnan WordPressiin ja se kuormittaisi lisää sivustoasikin.

Virtuaaliservereillä asia on toinen. Niidenkin hallinnassa saa seurattua prosessorikuormaa, muistin käyttöä, liikennemääriä tai levytilan kulutusta, mutta ei muuta. Sinulla on kuitenkin vähintään webserveri, joka saattaa myös kaatua, puhumattakaan tietokantapalvelimesta. Tai käytät välimuisteihin Varnishia websivuliikenteelle ja Redisiä PHP:n ja tietokannan cachena. Noita kaikkia pitäisi seurata, mielellään automaattisesti.

Serveritason monitorointiin on työkaluja vaikka kuinka, Google auttaa. Valinta voi olla vaikea, mutta joku on syytä ottaa käyttöön. Jos et pelkää tehdä itse, niin Monit on hyvä vaihtoehto – täältä löydät asennusohjeet:

https://www.eksis.one/ubuntu/monit-jarjestelman-seuranta-ja-monitori/