Als de wachter sterft: waarom stilte geen goed nieuws is
Al weken geen waarschuwingsmail. Er zijn twee verklaringen, en van buiten zien ze er precies hetzelfde uit: of alles is in orde, of de wachter is gestorven.
AtlasPVE ·
Dit artikel beantwoordt
- proxmox geen waarschuwingsmails
- proxmox e-mailmeldingen werken niet
- hoe weet ik of proxmox bewaking draait
- proxmox smtp instellingen testen
- proxmox server uitgevallen en niets gehoord
U heeft de waarschuwingen ingesteld. Er zijn weken voorbij en er is geen enkele mail gekomen.
Er zijn twee verklaringen. Of er is echt niets gebeurd, of het waarschuwingssysteem is gestopt met werken en u weet het niet. Van buiten zien de twee er precies hetzelfde uit.
En de menselijke geest neigt ertoe stilte als goed nieuws te lezen. Juist daarom leeft dit soort storing maandenlang ongemerkt voort.
Dit is een ander probleem dan een controle die zwijgt
Elders in deze wiki schreven we: als een controle zijn gegevens niet kan lezen, mag hij niet zwijgen, hij moet zeggen dat hij niet kon lezen.
Wat we hier beschrijven ligt een trede hoger. Daar zweeg een controle binnen een werkende wachter. Hier is de wachter zelf verdwenen. Er is niemand meer om te spreken, dus ook niemand om te zeggen "ik kon het niet lezen".
Hoe een wachter stilletjes sterft
De dienst stopt. Een update, een crash, te weinig geheugen. Wat het u zou vertellen, is precies wat gestopt is.
Het postpad breekt. Een wachtwoord verandert, een aanbieder blokkeert, het adres komt terug. De wachter werkt door, schrijft zijn berichten, en geen ervan bereikt u. Dit is de bedrieglijkste, want aan de serverkant lijkt alles gezond.
Iemand zet het uit en vergeet het. Meldingen worden tijdelijk uitgezet tijdens een onderzoek. Het probleem wordt opgelost. De meldingen blijven uit.
De machine gaat uit. Het uiterste geval: er is niets stuk, alles is simpelweg stil.
De vier hebben één ding gemeen: geen ervan levert een bericht op. En als uw manier om een storing op te merken het ontvangen van een bericht is, dan zijn storingen zonder bericht voor u onzichtbaar.
De oplossing heeft een andere vorm: geen alarm, maar een hartslag
De richting moet worden omgedraaid.
Een alarm zegt: spreek als er iets mis is. Een hartslag zegt: zeg met regelmaat "ik leef", ook als er niets aan de hand is. En laat dan iemand opmerken wanneer dat zeggen stopt.
Het verschil telt. Een alarm is een bericht over een probleem; een hartslag is een bericht over de boodschapper zelf. Ze beantwoorden verschillende vragen en geen van beide vervangt de ander.
Zodra er een hartslag is, verandert de betekenis van stilte. Stilte draagt nu informatie: iets dat zou moeten spreken, spreekt niet.
Wie het opmerkt moet buiten de bewaakte machine staan
Dit is het deel om bij stil te staan. Een machine kan zijn eigen dood niet melden.
De plek die de hartslag beoordeelt moet buiten de bewaakte server liggen: een andere machine, een telefoon, een extern punt. Een controle die in de server draait, gaat met de server uit en zegt niemand iets.
Zelfs de eenvoudigste zelfgemaakte versie volstaat: laat de server elk uur ergens een markering achterlaten, en kijk naar de leeftijd van die markering. Er is geen ingewikkelde opzet nodig; het enige dat nodig is, is dat het oordelen ergens anders gebeurt.
De hartslag heeft een eigen valkuil
Hier zit een subtiele ontwerpfout, en de meeste opstellingen trappen erin: de hartslag koppelen aan het schema van iets dat de gebruiker kan uitzetten.
Stel dat hij dezelfde timing deelt met de dagelijkse samenvatting. De gebruiker zet de samenvatting uit, omdat het te veel voelde. De hartslag stopt mee. De buitenpartij ziet het signaal wegvallen en slaat alarm met "geen bericht van uw server" terwijl er helemaal niets aan de hand is.
U raadt het gevolg: de gebruiker schrikt één keer voor niets en zet de tweede keer het alarm uit. Een vals alarm dat uw eigen veiligheidsmechanisme voortbrengt, vernietigt het vertrouwen in dat mechanisme sneller dan helemaal geen mechanisme.
De regel: de hartslag moet zijn eigen schema hebben en op niets steunen dat uitgezet kan worden.
Dezelfde vorm, elders
In het artikel over back-uptaken in deze wiki schreven we: kijk niet naar de status van de taak, kijk naar de leeftijd van de nieuwste back-up.
Dezelfde vorm duikt hier op: vraag het waarschuwingssysteem niet of het werkt, kijk naar de leeftijd van het laatste signaal. Een status is een bewering, een leeftijd is een meting.
En tot slot het enige dat op de dag van inrichting moet gebeuren: veroorzaak met opzet een storing en zie de mail aankomen. Een ongetest alarm is geen mechanisme, het is een hoop.
Wat Atlas doet
Atlas Watch stuurt een dagelijkse samenvatting, meldt kritieke situaties direct zonder op de samenvatting te wachten, en produceert daarnaast elk uur een signaal "ik leef".
Het vertellen waard is waaraan dat signaal niet gekoppeld is.
Het signaal steunt noch op het schema van de dagelijkse samenvatting, noch op dat van het alarm. Beide hebben eigen instellingen en de gebruiker kan ze allebei uitzetten. Als het signaal daarvan afhing, zou het op het moment dat de gebruiker de samenvatting uitzet mee stoppen, en zou de andere kant zeggen "geen bericht van deze server" terwijl er niets aan de hand is. Daarom heeft het signaal zijn eigen schema.
Het tweede detail volgt dezelfde gedachte: zolang de meldingsinstelling uit staat, wordt het schemabestand van het signaal helemaal niet geschreven. Er blijft dus geen tussentoestand "aan maar werkt niet"; ofwel het signaal bestaat, ofwel niet.
Het meldingspad zelf is van u: u geeft uw eigen mailserver op, en de mail vertrekt vanaf uw server. Een signaal naar een extern punt sturen is een optionele toevoeging, en het product heeft die niet nodig om te werken.
De algemene les: een veiligheidsmechanisme mag niet leunen op de uitschakelbare delen van wat het beschermt. Doet het dat wel, dan sterft het stilletjes mee.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.