Hva er egentlig monitorering og overvåking?

Christian Aarthun
Systek
Published in
6 min readSep 25, 2017
https://www.flickr.com/photos/kamiphuc/11396381123

Er systemet oppe igjen? Har responstiden gått ned etter siste deploy? Hvilke av våre APIer har mest trafikk? Hvor mange transaksjoner har vi i sekundet? Hvordan skal vi løse det stadige problemet med “Out of Memory Error”?

Hva gjør du når du får denne typen spørsmål — om systemet du er satt til å utvikle — og som du er eksperten på? Hvilke verktøy har du, prosjektet og bedriften anskaffet for å til enhver tid ha kontroll på egne data og systemer? Har dere rutiner og verktøy på plass i det hele tatt? Hvor lett blir det å identifisere den tilbakevendende minnelekkasjen og deretter rette feilen så raskt som mulig — og med minst mulig nedetid og bryderi for sluttbrukeren?

Monitorering og overvåking

Svaret på noen av disse spørsmålene kan samles under begrepene monitorering og overvåking. Ved å ha støttesystemer som kontinuerlig samler inn nøkkelinformasjon om dine systemer, og gir alarm i henhold til predefinerte situasjoner, kan du være trygg på at systemene er oppe og at de fungerer i henhold til spesifikasjon — også når du sover. De rette systemene, i kombinasjon med innarbeidede rutiner, vil gjøre jobben med å løse kritiske hendelser i produksjon mye lettere.

La oss definere begrepene først som sist — noe som faktisk er vanskeligere enn man skulle tro. For det første; hvorfor heter det “monitorering og overvåking” på norsk? Sier man “monitoring and surveillance” på engelsk? Nei, på engelsk bruker man selvfølgelig kun “monitoring”.

Har ordene monitorering og overvåking så forskjellig definisjon at de begge fortjener å være med? Er det forskjell på begrepene?

Monitorering

Monitorering/monitor er kjente begrep, og brukes i ulike industrier og situasjoner — gjerne med forskjellig betydning. På et sykehus monitorerer ulike apparater en pasients hjertefrekvens og andre vitale funksjoner. Før i tiden hadde datamaskinen en monitor, og ikke en skjerm. Musikere på en scene har monitorer som formidler lydbildet som publikum opplever.

Opprinnelsen av ordet monitor kommer, som så mye annet, av latinsk — og ordet kan brukes både som et verb og substantiv:

Vi trenger monitorering av databasen!

Hvordan kan vi monitorere at systemet fungerer i henhold til spesifikasjonene?

Opprinnelig betyr monitor/monitorering advarsel/å advare. Og er ikke dette nøyaktig hva vi ønsker når vi “legger på monitorering” av et system slik at vi kan “monitorere” om systemet er oppe og fungerer som vi ønsker? Vi vil at systemet selv (eller via støttesystemer) skal advare oss når noe med systemet har gått galt — eller enda bedre — før det forferdelig skjer.

Dette blogginnlegget er forresten ikke ment å være en innføring innen lingvistikk eller semantikk — selv om begge disse begrepene naturlig hører hjemme under informatikk-paraplyen. Av og til er det bryet verdt å gå til kilden av ord og begreper for å skape en felles forståelse innad i en gruppe om hva vi egentlig mener.

Les også: Hvorfor snakker alle om maskinlæring?

Overvåking

Hvis vi kan fastslå at monitorering alene kan advare oss om systemer er oppe og assisterer oss med å finne feilene. Hva så med overvåking? Hva tilbyr overvåking som ikke allerede er dekket av monitorering?

Jeg fikk en ny ide for kort tid siden under en MeetUp (om nettopp distribuert monitorering) om hvordan vi tydeligere kan skille begrepene. Foredragsholderen introduserte oss for betegnelsen small data [1]. Av en eller annen grunn hadde jeg aldri hørt om den noen ukjente lillebroren til big data. Kort fortalt handler small data om å konsentrere seg om mindre datasett. Datasett så små at selv en menneskehjerne kan forstå innholdet. Enda viktigere enn selve størrelsen på datasettet er måten dataene presenteres på. Et bilde sier som kjent mer enn tusen ord. Ved å abstrahere datapunkter i form av en graf, histogram e.l. kan selv store datasett lett forstås av oss mennesker.

Positive og negative hendelser illustrert vha. grafer. Det rette verktøyet kan gi alarm ved langvarige negative trender.

Personlig mener jeg at dette er essensen av overvåking: korte(re) tidsintervaller og abstraksjoner av dataene, for å få øyeblikksbilder av hvordan systemets tilstand er akkurat nå. Overvåkingen blir spesielt verdifullt når man kan sammenlikne tidsintervaller og på den måten se trender. Overvåking har også latinsk opprinnelse og betyr å holde øye med. Vi “kaster et øye” på noen grafer eller sektordiagrammer og får med en gang en overfladisk totaloversikt over systemet. Dersom vi ønsker vi knytte alarmer opp til ulike grenseverdier på samme måte som de mer konkrete metrikkene vi monitorerer.

De verktøyene som er tilgjengelig på markedet i dag gir en helt ny og effektiv måte på å dykke inn i egne data og få innsikt om både tekniske- og forretningsmessige karakteristika i systemet, uten at de på noen måte er en erstatter for et fullblods BI-system.

Har du lyst til å jobbe med nyeste teknologi og spennende kunder? Se her

Så bra kan man gjøre monitorering og overvåking

Monitorering og overvåking er ikke lenger noe som legges på kort tid før systemene skal i produksjon — da er det for sent å høste all den potensielle gevinsten. Monitorering og overvåking er noe som bygges inn i systemene (herunder valg av arkitektur, plattform og organisering av prosjekt) fra starten, og må også inkorporeres i måten prosjektdeltakerne, og ulike deler av en organisasjon, jobber sammen på.

Det er spesielt dagens krav til rask utvikling (time-to-market [2]), kombinert med paradigmeskifter innen systemarkitektur (mikrotjenester) og arbeidsmåter (DevOps) som gjør monitorering og overvåking så verdifullt — også tidlig i en prosess. Selskapene som lykkes er gjerne de som tør og våger mest. Ved en slik tilnærming med hyppig deploy til produksjon for å teste endringer på ekte kunder/data er man helt avhengig av systemer som gir umiddelbar feedback av både teknisk- og forretningsmessig karakter. Hvis eksperimentet feilet er ikke det nødvendigvis et nederlag, men derimot en lærdom som danner grunnlaget for neste hypotese og test [3].

Kroneksempelet på hvor bra og strømlinjeformet en slik prosess kan være finner vi (selvfølgelig) hos de største selskapene i Silicon Valley [4]. Disse selskapenes tøffe konkurranseposisjon gjør at de kontinuerlig må forbedre eksisterende tjenester og ikke minst lansere nye produkter fortløpende for å kapre flere kunder. Dessuten har big data, og mulighetene for innsikt i egne data og kunder, skapt et behov for stadig bedre verktøy og prosesser.

Spesielt gjør streaming-giganten Netflix en imponerende jobb når de betjener over 100 millioner unike månedlige kunder. Deres behov for å forstå kundens oppførsel, teste ut endringer i produksjon, og selvfølgelig monitorere alle sine systemer har ført til at Netflix selv har måttet bygge egne systemer som gjør denne jobben [5]. Den totale trafikken og antall hendelser (metrikker) som skal prosesseres (> 1 PB per dag) er for stor for kommersielle produkter. Dette fører igjen denne typen selskaper opp i interessante problemstillinger som hvordan gjøre monitorering og overvåking av systemene som skal gjøre nettopp monitorering og overvåking. Det fantastiske er at mange av systemene som Netflix, LinkedIn, Twitter, Facebook, Google osv. bygger er open source, og således tilgjengelig for alle oss andre å bruke i systemene vi bygger [6].

Vi er interessert i å høre dine erfaringer- og meninger om monitorering og overvåking. Definerer du begrepene annerledes? Betyr de det samme? Får begrepene nok oppmerksomhet, tidlig nok, i utviklingsprosessen — eller er monitorering og overvåking fortsatt noe som “noen andre” tar seg av når systemet er i produksjon?

Er du et kodetalent? Se våre ledige stillinger

--

--