Monitoring voor beginners: hoe hou je een website in de lucht?
- op 15 juli 2015
- in Handig
- 0
Als er onverhoopt iets mis is met een website, dan moet je als webmaster zo snel mogelijk kunnen reageren. Maar hoe ontdek je dat er problemen zijn? Of nog liever: hoe ontdek je dat er misschien problemen aan zitten te komen, zodat je ze nog op tijd kunt voorkomen? In deze blogpost geef ik je een kijkje in mijn eigen keuken.
Primaire doelgroep: webmasters, applicatiebeheerders, ICT-projectleiders.
Secundaire doelgroep: webredacteuren, online marketeers.
De eerste stap: risicoanalyse
Het bewaken van een website begint altijd met een risicoanalyse. Een beetje een duur woord misschien, maar de onderliggende vraag is eigenlijk heel simpel: wat zijn de belangrijkste fouten en storingen die jouw website kunnen treffen?
In de afgelopen 20 jaar heb ik meer dan 40 websites voor korte of langere tijd onder mijn hoede gehad. Als ik een lijstje moet maken van dingen die het vaakst misgaan, dan ziet die er als volgt uit (in willekeurige volgorde).
Grote risico’s voor een website
Website op tilt door piekbelastingen
Die kunnen ontstaan door verschillende oorzaken: een tv-uitzending, een spamaanval, een nieuwsbrief aan 25.000 abonnees. Of wat nog wel de heftigste pieken veroorzaakt: gelinkt worden in een post op GeenStijl.
Storingen bij de provider
Dit kan van alles zijn: belangrijke verbindingen vallen uit, een server wordt lamgelegd door een DDoS-aanval, hardware kapot, noem maar op.
Spam: registraties, reacties
Er zijn verschillende soorten spam:
- reactiespam (onderaan nieuwsberichten of blogposts),
- forumspam (stortvloed aan ongewenste forumberichten),
- registraties van nepgebruikers.
Deze hebben weer gevolgen op verschillende vlakken:
- de server wordt trager,
- de database (bijna elke moderne website heeft er een) groeit ongezond hard,
- redacteuren en moderatoren kunnen het beoordelen van nieuwe reacties niet meer bijbenen.
Inbraakpogingen
Bij echt élke website, hoe groot of hoe klein ook, zie je ze in de logfiles terug: ‘requests’ vanuit buitenlandse (merendeels Chinese) IP-adressen met de bedoeling om mogelijke leks te ontdekken. Hieronder vallen ook inlogpogingen om binnen te komen via accounts van collega’s, die mogelijk zwakke wachtwoorden hebben gekozen.
Terugval in Google-vindbaarheid
Naast bezoekerspieken heb je ook het omgekeerde: opeens blijven de bezoekers weg. Soms komt dat door een straf van Google, waardoor je site lager in de zoekresultaten staat; soms is het je eigen schuld. Die terugval manifesteert zich niet ineens, maar het kan geleidelijk in 1 of 2 dagen verlopen. Opeens heb je 20% minder bezoekers, terwijl je site verder goed werkt. De oorzaak: je bent uit de gratie bij Google.
Diskruimte van de webserver is volgelopen
De database met alle content van je website loopt vol met spam, of gebruikers hebben te veel plaatjes geüpload via je website, of een nog veel waarschijnlijker oorzaak: er worden automatische backups gemaakt zonder bewaarlimiet, zodat de harde schijf na verloop van maanden of jaren heel stilletjes dichtslibt.
Van alle technische calamiteiten vind ik een volgelopen disk verreweg het naarst. Want de schade is soms lastig, of zelfs helemaal niet, te herstellen. Een volgelopen disk moet je daarom tegen elke prijs zien te vermijden, zorg dat dit je als webmaster niet overkomt.
Maar hoe ontdek je dat dit het probleem is? Ik zal een geheimtip met je delen: in 80% van de gevallen manifesteert een volgelopen disk zich het eerst indirect in de vorm van databaseproblemen. De database met de content van je website raakt beschadigd, de databaseserver vliegt er vervolgens uit, waarna je website geen content meer kan ophalen uit de database en alleen nog maar blanco webpagina’s of pagina’s met foutmeldingen produceert.
Wangedrag op het forum
Naast forumspammers heb je ook zieke geesten. Ze bedreigen andere forumgebruikers of doen op andere manieren het imago van je website geen goed. (En als je als forumbeheerder stevig ingrijpt, dan zijn sommige zieke geesten dat zelfs na 5 jaar nog niet vergeten.)
Redactionele fouten
Ook de meest ervaren webredacteur maakt weleens een foutje. Door een verkeerd vinkje is de homepage overhoop gegooid, of is een nieuwsbericht onder embargo per ongeluk al geplaatst, of is een onbeduidende pagina plotseling in de hoofdnavigatie terechtgekomen, of staat er in de ‘caroussel’ op de homepage opeens een plaatje van 5 MB zwaar, waardoor de website plotseling veel trager wordt.
Bugs in het CMS
Meestal komen die al vrij snel na de livegang aan het licht, maar bij open-source CMS’en (Drupal, WordPress, Typo3) kan ook een ogenschijnlijk triviale upgrade van een module onverwachts voor problemen zorgen.
En wat zijn hiervan de grootste risico’s?
Natuurlijk zijn er nog veel meer oorzaken van fouten en storingen te bedenken, maar dit zijn wel de belangrijkste. Terug naar het woord risicoanalyse, dat ik aan het begin van dit verhaal gebruikte. Wat zijn van dit rijtje nu eigenlijk de grootste risico’s?
Mijn antwoord: dat ligt bij iedere website weer anders. Bij een omroepwebsite moet je extra rekening houden met piekbelastingen tijdens of vlak na tv-uitzendingen, een website met een actief forum brengt weer andere risico’s met zich mee, en in een organisatie met weinig veiligheidsbewustzijn en medewerkers met zwakke wachtwoorden zal vooral beveiliging en het heropvoeden van collega’s je grootste zorg worden.
Het is dus de kunst om als webmaster zo snel mogelijk thuis te raken in de ins en outs van je website, maar net zo belangrijk: ook de ins en outs van je bedrijf of organisatie. Risico’s inschatten is een kwestie van ervaring, feeling en gezond verstand – geen trucje dat je in een blogpost leert.
Het dreigt mis te gaan – hoe kom je dit zo snel mogelijk te weten?
Het sleutelwoord is monitoring. Het mooie van een webserver is dat je vrijwel alles kunt meten: bereikbaarheid, snelheid, diskruimte, databases, noem maar op. Er bestaan dan ook honderden tools om een of meer van die componenten in de gaten te houden.
Welk monitoringtools zijn het best? In de loop der jaren heb ik er talloze uitgeprobeerd. Uiteindelijk heb ik gemerkt dat onderstaande combinatie van 5 soorten monitoring voor mij het beste werkt.
1. Monitoring van bereikbaarheid
Er zijn diverse diensten die regelmatig checken of je website nog in de lucht is, en zo niet, je waarschuwen via e-mail, sms of Pushover:
- Pingdom: uitstekende maar prijzige service, vooral als je meerdere sites hebt lopen de prijzen aardig op
- Uptime Robot: vooral voordelig als je veel sites hebt, maar die hooguit eens per 5 minuten wil laten checken
- PHP Server Monitor: een open-source PHP-script dat je zelf moet installeren op een server (en even opletten: uiteraard een andere server dan waarop je websites draaien), werkt prima samen met Pushover
Voor mijn eigen websites gebruik ik een combinatie van Uptime Robot (1 check per 5 minuten) en PHP Server Monitor (1 check per 3 minuten). Waarom dubbele monitoring? Het is in theorie mogelijk dat een van deze twee er zelf uit ligt, of dat een notificatie je niet bereikt. Komt zelden voor, maar een professionele webmaster moet het zekere voor het onzekere nemen. En een bijkomend voordeel is dat je met twee monitoringdiensten nog sneller wordt ingelicht als er een website uit ligt (kies dan wel verschillende frequenties, het liefst met grootste gemene deler 1).
Ook hostingproviders bieden soms monitoringdiensten aan voor hun klanten. Hierbij zijn er verschillende varianten: de een checkt alleen of je server nog draait, maar niet de websites die erop staan; de ander checkt wel specifiek je website. En bij de een zitten dit soort checks inbegrepen in het hostingpakket, de ander biedt hiervoor aparte SLA’s (Service Level Agreements). Die zijn doorgaans vrij prijzig, maar daarvoor krijg je wel 24/7 support bij storingen.
2. Monitoring onder de motorkap
Met monitoring van bereikbaarheid kom je al een heel eind, maar als het dan een keer gebeurt dat je website niet bereikbaar is, dan is de vraag: waar zit het probleem? Te weinig intern geheugen? De disk volgelopen? De databaseserver eruit geklapt? En nog beter dan genezen is voorkómen: kun je vooraf al zien aankomen dat een van deze schakels van de spreekwoordelijke ketting op het punt staat het te begeven?
Hiervoor is het noodzakelijk om onder de motorkap van een website te kunnen kijken. Enkele hulpmiddelen en informatiebronnen die ik daarvoor gebruik:
- Munin: een script om op je server te installeren dat alle componenten minutieus monitort en mooie grafiekjes produceert (of vergelijkbare scripts: Nagios en Cacti)
- firewall: monitoring en filtering van binnenkomende requests (zeg maar de bezoekers op je site, maar ook de hackers die stiekem aan de achterdeur zitten te morrelen)
- enkele eigen scripts, bijvoorbeeld om beschikbare diskruimte te monitoren en checken of er belangrijke software-updates zijn
- logfiles van webserver en databaseserver: als het kwaad eenmaal is geschied, dan zijn deze bijzonder informatief bij ‘forensisch’ onderzoek
3. Monitoring van de content: Follow That Page
Een andere categorie storingen en onregelmatigheden: de website werkt op zich prima, maar met de content is iets mis. Dat kan van alles zijn: een forumspammer, of een redactionele uitglijder, zoals een nieuwsbericht onder embargo te vroeg gepubliceerd, of een vreemde eend in de hoofdnavigatie.
Hiervoor is Follow That Page heel handig. Deze dienst houdt webpagina’s in de gaten en stuurt je een mail zodra er wijzigingen zijn. In principe wordt elke wijziging gedetecteerd, hoe groot of hoe klein ook, maar je kunt dit finetunen door bijvoorbeeld alleen een bepaald deel van de pagina te scannen, of door numerieke wijzigingen uit te sluiten.
Realiseer je wel dat Follow That Page alleen individuele pagina’s monitort, niet hele websites. Maar door die pagina’s heel slim te kiezen, kun je wel vrijwel alles dekken wat er op een website gebeurt. Bijvoorbeeld:
- de homepage (hierop staan de laatste nieuwsberichten en blogposts)
- het forum (de laatste reacties)
Wat ik soms daarnaast ook doe:
- een verborgen pagina op de site maken met daarop alle recente reacties, alle recente forumberichten, alle nieuwe forumgebruikers en alle onlangs gewijzigde pagina’s, en vervolgens deze verborgen pagina door Follow That Page laten monitoren
- via Google Analytics achterhalen wat de minstbezochte (!) pagina op de hele site is en ook deze laten monitoren
Waarom dat laatste? Dat verklap ik niet meteen, maar als je denkt dat je het antwoord weet, dan ben je welkom om dat hieronder bij de reacties te melden. 🙂
4. Google Webmaster Tools
Deze gratis dienst van Google is minder bekend dan Google Analytics, maar voor webmasters minstens zo belangrijk. Via de Google Webmaster Tools zie je hoe vaak Google langskomt op je site, en of die nog opvallende dingen is tegengekomen, bijvoorbeeld:
- links die niet meer werken
- belangrijke SEO-missers, zoals pagina’s met dezelfde Title en Description
- mobiele bruikbaarheid van je site
Ook handig van Google Webmaster Tools zijn overzichtjes van hoe je site scoort bij bepaalde Google-zoekopdrachten. Een terugval in Google-vindbaarheid zie je dan in één oogopslag.
5. Google Analytics
Vooral bekend als tool voor online marketeers en content managers, maar ook voor technisch georiënteerde webmasters een belangrijke informatiebron. In een eerdere blogpost heb ik laten zien wat je allemaal kunt meten met Google Analytics. Specifiek voor webmasters zijn de automatische meldingen heel nuttig. En er zijn nog veel meer handige rapportagemogelijkheden, ik geef twee voorbeelden om je toch een idee te geven:
- Google Analytics geeft inzicht in welke browsers en browserversies je bezoekers gebruiken. Door dat bezoek uit te splitsen naar browserversies kun je ontdekken of bezoekers met een heel oude of juist heel nieuwe versie grote problemen ondervinden op je site. Hetzelfde geldt voor Flashversies.
- Contactformulier op je website: zodra je dat hebt ingevuld, wordt er doorgaans een ‘bedankt-pagina’ getoond. Als in Google Analytics blijkt dat die pagina van de ene op de andere dag nooit meer wordt getoond, dan kan dat wijzen op een bug in het contactformulier.
Samengevat
Een website niet laten omvallen is een kwestie van:
- adequate technische kennis van websites en webservers
- het type website, organisatie en collega’s goed kennen
- niet genezen maar voorkómen
- slim gebruik van de juiste monitoringtools
Vooral op het punt van adequate monitoring denk ik dat een professionele webmaster zich kan onderscheiden van een gemiddelde webmaster. Maar sla er vooral niet in door. Dag in dag uit voortdurend notificaties ontvangen kan je ook een gevoel van schijnveiligheid geven en je op den duur afstompen – vooral als die notificaties nogal eens loos alarm zijn. Met als mogelijk risico dat je nét even niet scherp bent als er wél iets aan de hand is. Techniek is en blijft mensenwerk!
Laatste reacties