Loggrotasjon bryt saman på ein føreseieleg måte: tre komponentar trur kvar for seg at dei eig fila, og resultatet er ein rotert logg som held fram med å veksa medan den nye blir ståande tom. Dæmonen held ein deskriptor, logrotate gjev stien nytt namn, og rsyslog skriv ein heilt annan stad. Vel éin skrivar og éin rotator før du legg endå ei regel på haugen. Sjekklista nedanfor går i den rekkjefølgja fordi kvart seinare steg heng på det.

Avgjer kven som skriv fila

To design er legitime. I det første skriv VPN-prosessen sjølv ei fil via sitt eige log- eller log-append-alternativ. I det andre sender han oppføringar til systemloggen, og rsyslog eller journald avgjer kvar dei hamnar.

Dei er alternativ, ikkje lag. Ein vert som slår på begge, endar med to filer som ikkje stemmer overeins, og den du les er ofte den forelda. Vel stien med vilje, og fjern deretter den andre skrivaren.

Les den effektive tenestekonfigurasjonen før du endrar noko, inkludert drop-ins som kan overstyra unit-fila. Eit direktiv i profilen du redigerte er ikkje prov på at det er det den køyrande prosessen lasta. Samanlikn unit med argumenta til prosessen, og deretter med filene han faktisk opna.

Nemn dæmonen slik at filteret kan vera smalt

På syslog-stien gjev du dæmonen ein eigen identitet og filtrerer på han. Ei regel som passar på programnamnet til denne VPN-førekomsten held oppføringane hans utanfor ei delt fil der oppbevaringspolicyen høyrer til noko anna.

Smale reglar gjer òg det neste spørsmålet svarbart: kva teneste produserte denne linja? Eit filter som passar på alt med ordet VPN i, samlar gjerne trafikken til ein andre tunnel og gjer begge utydelege. Match på den nøyaktige identifikatoren unit-a gjev til loggen.

Lukk regelen etter handlinga slik at oppføringane ikkje òg fell gjennom til standardmålet. Dupliserte linjer i to filer ser ut som ein loggfeil og er eigentleg ein manglande stopp. Den eine utelatinga doblar òg diskkostnaden til oppbevaringspolicyen.

Roter utan å mista deskriptoren

Når dæmonen skriv fila, gjev logrotate stien nytt namn, men prosessen held på den opne deskriptoren sin. Nye oppføringar held fram inn i den omdøypte fila til noko får prosessen til å opna den opphavlege stien på nytt; difor kan ein rotasjon sjå ut til å verka medan den nye fila blir ståande tom.

Løysinga er ei postrotate-handling som utløyser den dokumenterte åtferda til tenesta for omlasting eller omstart. Å senda eit signal til loggen er ei heilt anna handling og gjer ingenting for ein dæmon som held si eiga fil.

Der gjenopning er umogleg, er copytruncate reserveplanen: kopier fila, og kutt henne deretter på staden. Det held deskriptoren gyldig på kostnad av alt som blir skrive mellom kopien og kuttinga, så det er ein byttehandel og ikkje ei løysing. Under last kan det gapet sluka nettopp den feilen du prøver å fanga.

Vel éin av dei to per fil og skriv valet ned, fordi å blanda dei på same sti gjev gap som er svært vanskelege å tilskriva seinare. Ein lesar som finn begge mønstra i éin katalog, kan ikkje seia kva som er autoritativt.

Set oppbevaringa frå hendingsvindauget

Oppbevaring, komprimering og maksimal storleik bør følgja av kor langt tilbake du faktisk granskar. Eit vindauge på sju dagar med komprimering og eit storleikstak er eit rimeleg utgangspunkt for mange utrullingar; eit tal kopiert frå ei rettleiing er det ikkje.

Hald policyen på éin stad. Viss logrotate roterer fila og rsyslog òg roterer henne, vinn den andre rotasjonen, og namneskjemaet til den første overlever som rot. Vel eigaren, slå av den andre rotasjonen, og noter avgjerda ved sida av policyen.

Dokumentasjonen til rsyslog dekkjer ruting- og handlingsmodellen, medan dokumentasjonen til OpenVPN-tenesta blir verande autoritativ for dæmonens eigne loggval. Ingen av dei avgjer oppbevaringspolicyen din for deg.

Test éin rotasjon og éi ny hending

Tving fram éin einaste rotasjon og generer deretter éi ny hending, til dømes ein mislukka autentisering. Stadfest at den nye oppføringa blir synleg i den nye fila, og at den gamle fila slutta å veksa.

Sjekk òg rettane på den nye fila, fordi ein rotasjon som gjenopprettar henne med ein annan eigar bryt skrivaren ved neste skriving og lagar eit gap som ser ut som ein krasj. Samanlikn eigar og modus med tenestekontoen før du går. Stadfest deretter at det komprimerte arkivet er lesbart, sidan eit arkiv ingen kan opna, ikkje er oppbevaring. Ei rask lesing av den nyaste oppføringa i den gamle fila provar både komprimeringa og rettane.

Avslutt med å notera eigaren av kvart steg: kva komponent som skriv, kven som roterer, og kvar oppbevaringspolicyen bur. Den nota gjer den neste logghendinga til ein femminutts sjekk i staden for ein ettermiddag med gjetting på kva lag som mista linja.

Relaterte artiklar