Femton maskiner. Femton loggkataloger. Ingen av dem läser sig själv.
Loggar har en egendomlig egenskap: de är värdelösa exakt där de ligger. Så länge en logg bara finns på maskinen den beskriver kan man bara läsa den genom att veta i förväg vilken maskin som hade problemet — vilket är den information man saknar när något är fel.
Inventeringen var värre än väntat
Första steget var att ta reda på vad som faktiskt skickade någonstans. Resultatet var talande: en enda server vidarebefordrade sina loggar. Alla andra — lastbalanseraren, övervakningsservern, samtliga hypervisorer, applikationsservrarna — skrev bara lokalt.
Värre: den mottagande servern vidarebefordrade i sin tur till två adresser, varav en tillhörde ett system som inte fanns längre. Den hade skickat loggar ut i tomma intet i månader utan att någon märkt det, eftersom ingenting någonsin klagar över att inte bli lyssnad på.
Flera av hypervisorerna saknade dessutom loggtjänsten helt. De hade bara systemets egen journal, som inte skickar något vidare. Det är standard på moderna installationer och det är lätt att missa: en maskin utan den klassiska loggtjänsten är inte tyst av ondska, den är tyst för att ingen bett den prata.
Att samla in är den lätta halvan
Själva konfigurationen är två rader per maskin. Skicka allt, över TCP, till en adress. TCP snarare än UDP, för att en logg som tappas tyst under belastning är sämre än ingen logg alls — och belastning är precis när man behöver den.
Den svåra halvan är vad som händer sedan. När allt samlas på ett ställe har man flyttat femton maskiners diskproblem till en enda disk. En pratsam applikation, en loop som loggar ett fel tio gånger i sekunden, en enhet som börjar spamma — och plötsligt är den centrala mottagaren full, vilket tar ner både loggningen och allt annat på den maskinen.
Så insamlingen är inte klar förrän det finns rotation med tak, komprimering av det äldre, och ett städjobb som gallrar efter storlek och inte bara efter ålder. Åldersbaserad gallring skyddar inte mot att någon skickar en gigabyte på en timme.
Så vet du att det funkar
Skriv en testrad på varje maskin och kontrollera att den dyker upp centralt. Inte ”konfigurationen ser rätt ut” — själva raden, med maskinens namn i.
Räkna avsändare. Om du har femton maskiner ska femton kataloger fyllas. Fjorton betyder att någon tystnat, och det är alltid den som är intressantast.
Fyll disken med flit i ett testfall och se att rotationen går in innan det blir kritiskt.
Vad jag tar med mig
Centraliserad loggning är inte i sig ett skydd. Det är en förutsättning — för sökning, för larm på mönster, för att kunna svara på frågan ”hände det här på fler maskiner?”. Utan den är varje utredning en runda med inloggningar och gissningar.
Och den läxa jag fick gratis: en mottagare som försvinner tar med sig loggflödet utan ett ljud. Kontrollera med jämna mellanrum att det som skickas faktiskt tas emot. Att skicka och att bli hörd är två olika saker.