Når vekteren dør: hvorfor stillhet ikke er gode nyheter
Ingen varselmail på flere uker. Det finnes to forklaringer, og utenfra ser de helt like ut: enten er alt i orden, eller så er vekteren død.
AtlasPVE ·
Denne artikkelen svarer på
- proxmox får ikke varselmail
- proxmox e-postvarsler virker ikke
- hvordan vet jeg at proxmox overvåking kjører
- proxmox teste smtp-innstillinger
- proxmox serveren gikk ned uten beskjed
- hvordan vet jeg at proxmox monitoring kjører
Du satte opp varslene. Uker har gått, og ikke én eneste e-post har kommet.
Det finnes to forklaringer. Enten har det virkelig ikke skjedd noe, eller så har varslingen sluttet å virke og du vet det ikke. Utenfra ser de to helt like ut.
Og menneskesinnet har en tendens til å lese stillhet som gode nyheter. Nettopp derfor lever denne typen feil i månedsvis uten å bli oppdaget.
Dette er et annet problem enn at en sjekk tier
Et annet sted i denne wikien skrev vi: når en sjekk ikke får lest dataene sine, skal den ikke tie, den skal si at den ikke fikk lest.
Det vi beskriver her ligger ett trinn over. Der tidde en sjekk inne i en fungerende vekter. Her er vekteren selv borte. Det er ingen igjen til å snakke, altså heller ingen til å si "jeg fikk ikke lest det".
Hvordan en vekter dør stille
Tjenesten stopper. En oppdatering, en krasj, for lite minne. Det som skulle fortelle deg det, er nettopp det som stoppet.
Postveien ryker. Et passord endres, en leverandør blokkerer, adressen kommer i retur. Vekteren fortsetter å jobbe, skriver meldingene sine, og ingen av dem når deg. Dette er det mest villedende, for på serversiden ser alt friskt ut.
Noen slår av og glemmer. Varsler slås av midlertidig mens noe undersøkes. Problemet løses. Varslene forblir av.
Maskinen slås av. Ytterpunktet: ingenting er ødelagt, alt er bare stille.
Alle fire har én ting felles: ingen av dem lager en melding. Og hvis din måte å merke en feil på er å motta en melding, da er feil som ikke lager meldinger usynlige for deg.
Løsningen har en annen form: ikke et alarmsignal, men et hjerteslag
Retningen må snus.
Et alarmsignal sier: si fra når noe er galt. Et hjerteslag sier: si "jeg lever" med jevne mellomrom selv når ingenting skjer. Og så skal noen merke når den sien stopper.
Forskjellen betyr noe. Et alarmsignal er en melding om et problem; et hjerteslag er en melding om budbringeren selv. De svarer på ulike spørsmål, og ingen erstatter den andre.
Så snart det finnes et hjerteslag, endres stillhetens betydning. Stillhet bærer nå informasjon: noe som burde snakke, gjør det ikke.
Den som merker det må være utenfor maskinen som overvåkes
Dette er delen det er verdt å dvele ved. En maskin kan ikke melde sin egen død.
Stedet som vurderer hjerteslaget må ligge utenfor den overvåkede tjeneren: en annen maskin, en telefon, et ytre punkt. En sjekk som kjører inne i tjeneren, slår seg av sammen med den og sier ingenting til noen.
Selv den enkleste hjemmelagde utgaven holder: la tjeneren legge igjen et merke et sted hver time, og se på alderen til det merket. Det trengs ikke noe innviklet oppsett; det eneste som trengs er at vurderingen skjer et annet sted.
Hjerteslaget har sin egen felle
Her finnes en fin konstruksjonsfeil, og de fleste oppsett går i den: å knytte hjerteslaget til planen for noe brukeren kan slå av.
Si at det deler tidsstyring med det daglige sammendraget. Brukeren slår av sammendraget, fordi det føltes for mye. Hjerteslaget stopper med det. Den ytre parten ser signalet opphøre og slår alarm om "ingen nytt fra serveren din" mens ingenting i det hele tatt er galt.
Du gjetter resultatet: brukeren blir skremt én gang til ingen nytte og slår av alarmen andre gang. En falsk alarm laget av din egen sikkerhetsmekanisme ødelegger tilliten til den mekanismen raskere enn å ikke ha noen i det hele tatt.
Regelen: hjerteslaget må ha sin egen plan og ikke hvile på noe som kan slås av.
Den samme formen, et annet sted
I artikkelen om sikkerhetskopijobber i denne wikien skrev vi: ikke se på jobbens status, se på alderen til den nyeste sikkerhetskopien.
Den samme formen dukker opp her: ikke spør varslingssystemet om det virker, se på alderen til det siste signalet. En status er en påstand, en alder er en måling.
Og til slutt, det ene som skal gjøres på oppsettsdagen: fremkall en feil med vilje og se e-posten komme. En uprøvd alarm er ikke en mekanisme, den er et håp.
Hva Atlas gjør
Atlas Watch sender et daglig sammendrag, melder fra om kritiske situasjoner umiddelbart uten å vente på sammendraget, og ved siden av dette sender et signal hver time om at den lever.
Det som er verdt å fortelle, er hva det signalet ikke er knyttet til.
Signalet hviler verken på det daglige sammendragets plan eller på alarmens. Begge har egne innstillinger, og brukeren kan slå av begge. Hadde signalet vært avhengig av dem, ville det stanset i det øyeblikket brukeren slo av sammendraget, og motparten ville sagt "ingen nytt fra denne tjeneren" selv om ingenting var galt. Derfor har signalet sin egen plan.
Den andre detaljen følger den samme tanken: så lenge varslingsinnstillingen er av, skrives ikke signalets planfil i det hele tatt. Det blir altså ingen mellomtilstand av "påslått, men virker ikke"; enten finnes signalet eller ikke.
Selve varslingsveien er din: du oppgir din egen e-posttjener, og e-posten går ut fra din tjener. Å sende et signal til et ytre punkt er et valgfritt tillegg, og produktet er ikke avhengig av det for å virke.
Den generelle lærdommen: en sikkerhetsmekanisme må ikke lene seg på de avslåbare delene av det den beskytter. Gjør den det, dør den stille sammen med det.
Kilder
Proxmox sin egen dokumentasjon. På engelsk, og den har siste ord i denne saken.