Logrotation bryder sammen på en forudsigelig måde: tre komponenter tror hver især, at de ejer filen, og resultatet er en roteret log, der bliver ved med at vokse, mens den nye forbliver tom. Dæmonen holder en deskriptor, logrotate omdøber stien, og rsyslog skriver et helt andet sted. Vælg én skriver og én rotator, før du lægger endnu en regel på bunken. Tjeklisten nedenfor følger den rækkefølge, fordi hvert senere trin afhænger af det.

Beslut hvem der skriver filen

To design er legitime. I det første skriver VPN-processen selv en fil via sin egen log- eller log-append-indstilling. I det andet sender den poster til systemloggen, og rsyslog eller journald bestemmer, hvor de lander.

De er alternativer, ikke lag. En vært, der aktiverer begge, ender med to filer, der er uenige, og den, du læser, er ofte den forældede. Vælg stien med vilje, og fjern derefter den anden skriver.

Læs den effektive servicekonfiguration, før du ændrer noget, inklusive drop-ins, der kan tilsidesætte unit-filen. En direktiv i den profil, du redigerede, er ikke bevis for, at det er den, som den kørende proces indlæste. Sammenlign unit med processens argumenter og derefter med de filer, den faktisk åbnede.

Navngiv dæmonen, så filteret kan være smalt

På syslog-stien skal du give dæmonen en særskilt identitet og filtrere på den. En regel, der matcher programnavnet for denne VPN-instans, holder dens poster ude af en delt fil, hvis opbevaringspolitik tilhører noget andet.

Smalle regler gør også det næste spørgsmål besvarligt: hvilken tjeneste producerede denne linje? Et filter, der matcher alt med ordet VPN i, samler gerne en anden tunnels trafik op og slører begge. Match på den præcise identifikator, som unit sender til loggen.

Luk reglen efter handlingen, så posterne ikke også falder igennem til standarddestinationen. Dublerede linjer i to filer ligner en logningsfejl og er i virkeligheden et manglende stop. Den ene udeladelse fordobler også opbevaringspolitikkens diskomkostning.

Rotér uden at miste deskriptoren

Når dæmonen skriver filen, omdøber logrotate stien, men processen beholder sin åbne deskriptor. Nye poster fortsætter i den omdøbte fil, indtil noget får processen til at genåbne den oprindelige sti; derfor kan en rotation se ud til at virke, mens den nye fil forbliver tom.

Løsningen er en postrotate-handling, der udløser tjenestens dokumenterede genindlæsnings- eller genstartadfærd. At sende et signal til loggen er en helt anden handling og gør intet for en dæmon, der holder sin egen fil.

Hvor en genåbning er umulig, er copytruncate reserveplanen: kopiér filen, og afkort den derefter på stedet. Det holder deskriptoren gyldig på bekostning af alt, hvad der skrives mellem kopien og afkortningen, så det er en byttehandel snarere end en løsning. Under last kan det hul sluge netop den fejl, du prøver at fange.

Vælg en af de to per fil, og skriv valget ned, fordi blanding af dem på samme sti giver huller, der er meget svære at henføre senere. En læser, der finder begge mønstre i samme mappe, kan ikke se, hvilket der er autoritativt.

Sæt opbevaring ud fra hændelsesvinduet

Opbevaring, komprimering og maksimal størrelse bør følge af, hvor langt tilbage du faktisk undersøger. Et vindue på syv dage med komprimering og et størrelsesloft er et rimeligt udgangspunkt for mange udrulninger; et tal kopieret fra en vejledning er ikke.

Hold politikken ét sted. Hvis logrotate roterer filen, og rsyslog også roterer den, vinder den anden rotation, og den førstes navngivning overlever som rod. Vælg ejeren, slå den anden rotation fra, og notér beslutningen ved siden af politikken.

rsyslog-dokumentationen dækker dens routing- og handlingsmodel, mens OpenVPN-tjenestens dokumentation forbliver autoritativ for dæmonens egne logningsindstillinger. Ingen af dem beslutter din opbevaringspolitik for dig.

Test én rotation og én ny hændelse

Tving en enkelt rotation og generér derefter en ny hændelse, for eksempel en mislykket godkendelse. Bekræft, at den nye post vises i den nye fil, og at den gamle fil holdt op med at vokse.

Kontrollér også rettighederne på den nye fil, fordi en rotation, der genskaber den med en anden ejer, brækker skriveren ved næste skrivning og giver et hul, der ligner et nedbrud. Sammenlign ejer og tilstand med tjenestekontoen, før du går. Bekræft derefter, at det komprimerede arkiv er læsbart, da et arkiv, ingen kan åbne, ikke er opbevaring. En hurtig læsning af den nyeste post i den gamle fil beviser både komprimeringen og rettighederne.

Afslut med at notere ejeren af hvert trin: hvilken komponent der skriver, hvilken der roterer, og hvor opbevaringspolitikken bor. Den note gør den næste logningshændelse til et femminutters tjek i stedet for en eftermiddag med gætteri om, hvilket lag der tabte linjen.

Relaterede artikler