Pålitelighetsovervåkning på billig med Cacti og Monitor.Us

Hvis tjenesten min ikke er pålitelig, er den ikke klar til bruk. Jeg vil forutsi hvor pålitelig den nye tjenesten min blir når den blir i drift. Jeg vil ikke bruke penger. Hvordan gjør jeg det?

Krav til pålitelighet

Jeg skrapte sammen noen få enkle funksjonskrav å teste mot.

  • Vis hjemmesiden innen 5 sekunder.
  • Hold denne tunge oppgaven oppe i 1 uke.
  • Ta kontakt med en bruker om gangen.

Det er klart dette er litt latterlig. Et nettsted med én side som omhandler en kunde om gangen, kan drives med et papirark og en pakke med fargestifter. En reell beskrivelse av pålitelighetskrav for en bedrift vil strekke seg til mange sider.

Jeg må falske et operativt miljø og se hva som skjer. Jeg driver produksjonstjenesten min i en uke, samler noen tall på ytelse og feil, og sammenligner disse målingene med kravene.

Forutsi pålitelighet før bruk

Jeg trenger et overvåkings- og varslingssystem som ser på tjenesten min.

  • fra innsiden, se på komponentene og
  • utenfra, og sjekk hva en klient ville se.

For å se på systemet mitt fra innsiden, bruker jeg open source-applikasjonen Cacti fordi det er gratis, og prosjektbudsjettet mitt er null. Jeg kunne bruke de grunnleggende CloudWatch-beregningene som AWS pakker med EC2-maskinen min. Jeg får disse gratis.

Figur A

Det er bra, men jeg er ikke helt fornøyd med detaljnivået. Jeg kunne muliggjøre detaljert overvåking for en liten avgift, men det trenger jeg ikke.

For å se på systemet mitt utenfra bruker jeg den skybaserte overvåkningstjenesten Monitor.Us.

Ser på innsiden med kaktus

Kaktus er et open source-program som kan vise meg historien til hvor mye systemets ressurser ble brukt. Den produserer grafer over systemaktivitet - CPU, nettverksbruk, antall brukere som er logget på og så videre. Disse grafene viser meg hva som har skjedd de siste fem minuttene, de siste timene, uken og til og med året. En enkel installasjon av kaktus holder øye med bare EC2-maskinen der den er installert, men den kan også se hundrevis av andre maskiner.

Figur B

Jeg følger denne fremgangsmåten for å begynne å se på systemet mitt fra innsiden.

  • Installer kaktus for å produsere ytelsesgrafer.
  • Utvid kaktusovervåking for å dekke alle EC2-maskinene mine.
  • Få den nye tjenesten til å gjøre noe, med å teste mennesker eller en syntetisk belastningsgenerator.
  • Samle en uke med grafer.

Jeg har nå mitt første syn på om noen komponent sannsynligvis vil mislykkes. Hvis jeg allerede har problemer, vil jeg sannsynligvis ha et uakseptabelt nivå av feil.

Kaktus er irriterende å installere, på en måte som bare open source-produkter kan være. Det vil absolutt ikke overleve som et lukket kildeprodukt: ingen betalende kunder vil bruke gode penger på å fikle med config i flere timer. Det hele starter så enkelt med sudo yum install kaktus, og deretter raskt ned i SNMP-konfigurasjon og manglende grafforvirring. Jeg beundrer den idealistiske advokaten Professor Eben Moglen som sa at proprietær programvare er like latterlig som proprietær matematikk (selv om jeg leste det på Wikipedia, så han kan ha sagt "matematikk er ordentlig latterlig") og selv gleder jeg meg ikke til å installere kaktus. En gang forbi smertehindringen er det likevel et ypperlig produkt som opprettholder rikelig med lettleste sammendragsgrafer som dekker perioder fra 5 minutter til 1 år.

(Hvis du vil at kaktusene skal installere jukseark, kan du si.)

Ser på utsiden med Monitor.Us

Jeg må sjekke responstiden på Internett og sørge for at systemet tilfredsstiller mine krav. Jeg kan se etter et mønster i resultatene mine for å hjelpe meg med å finne ut konsistensen i tjenesten min.

Monitor.Us følger freemium-markedsføringsmodellen. Som AWS Cloudwatch gir Monitor.Us det grunnleggende gratis, som får oppmerksomhet fra billigskøyter som meg, og tar betalt for de smarte tingene. Jeg kan gratis få en vanlig HTTP-sjekk av www.internetmachines.co.uk og en svartid graf for den nåværende dagen (jeg vil faktisk ha en uke med grafer, noe som betyr at enten må jeg følge nøye med i en uke eller betale litt penger).

Figur C

Monitor.Us-tjenesten kan fungere som en operativ monitor, som tilfredsstiller en annen av mine krav til operasjonell beredskap.

Måle pålitelighet under drift

En permanent pålitelighetsmonitor legger tallene til smerten ved å mislykkes. I løpet av systemets levetid kan jeg registrere ytelsen og evaluere dataene mine. Kaktus vil etter hvert vise meg en graf over hele årets ytelse.

I teorien, jo mer data jeg har, jo bedre er mitt bilde av påliteligheten, slik at jeg kan forbedre spådommene mine med historiske data. I praksis må jeg være forsiktig. Det tar bare en liten infrastrukturendring for å fjerne verdien av målingene mine. Bare fordi tjenesten min fungerte fint i mange år på IBM-blad, betyr ikke det at den vil fungere bra på EC2 VM-er.

© Copyright 2021 | pepebotifarra.com