Rotacija zapisa kvari se na predvidljiv način: tri komponente svaka misli da posjeduje datoteku, a rezultat je rotirani zapis koji nastavlja rasti dok nova datoteka ostaje prazna. Demon drži deskriptor, logrotate preimenuje putanju, a rsyslog piše sasvim drugdje. Odaberite jednog pisca i jednog rotatora prije nego na hrpu dodate još jedno pravilo. Popis provjera u nastavku ide tim redom jer svaki kasniji korak ovisi o njemu.

Odredite tko piše datoteku

Dva su nacrta legitimna. U prvome VPN proces sam piše datoteku preko svoje opcije log ili log-append. U drugome šalje zapise u sistemski zapisnik, a rsyslog ili journald odlučuje gdje će završiti.

To su alternative, a ne slojevi. Host koji uključi oboje završi s dvije datoteke koje se ne slažu, a ona koju čitate često je zastarjela. Odaberite putanju namjerno, a zatim uklonite drugog pisca.

Pročitajte djelotvornu konfiguraciju usluge prije nego što bilo što promijenite, uključujući drop-in datoteke koje mogu nadjačati datoteku jedinice. Direktiva prisutna u profilu koji ste uredili nije dokaz da je to ona koju je učitao pokrenuti proces. Usporedite jedinicu s argumentima procesa, a zatim s datotekama koje je stvarno otvorio.

Imenujte demona da filtar može biti uzak

Na putu preko sysloga dajte demonu zaseban identitet i filtrirajte po njemu. Pravilo koje odgovara nazivu programa ove VPN instance drži njezine zapise izvan zajedničke datoteke čija politika čuvanja pripada nečemu drugom.

Uska pravila čine odgovorivim i sljedeće pitanje: koja je usluga proizvela ovaj redak? Filtar koji odgovara svemu što sadrži riječ VPN rado će prikupiti promet drugog tunela i zamutiti oboje. Uspoređujte po točnom identifikatoru koji jedinica predaje zapisniku.

Zatvorite pravilo nakon radnje kako zapisi ne bi također propali u zadano odredište. Dvostruki reci u dvije datoteke izgledaju kao pogreška u zapisivanju, a zapravo su nedostajući prekid. Taj jedini propust udvostručuje i trošak pohrane politike čuvanja.

Rotirajte bez gubitka deskriptora

Kad demon piše datoteku, logrotate preimenuje putanju, ali proces zadržava svoj otvoreni deskriptor. Novi zapisi nastavljaju u preimenovanu datoteku dok nešto ne natjera proces da ponovno otvori izvornu putanju; zato rotacija može izgledati uspješno dok nova datoteka ostaje prazna.

Rješenje je radnja postrotate koja pokreće dokumentirano ponašanje ponovnog učitavanja ili restarta usluge. Slanje signala zapisniku posve je druga radnja i ne čini ništa za demona koji drži vlastitu datoteku.

Gdje je ponovno otvaranje nemoguće, copytruncate je pričuva: kopirajte datoteku, a zatim je skratite na mjestu. Deskriptor ostaje valjan, ali se gubi sve zapisano između kopiranja i skraćivanja, pa je to razmjena, a ne rješenje. Pod opterećenjem taj procjep može progutati upravo kvar koji pokušavate uhvatiti.

Odaberite jedno od dvoga po datoteci i zapišite odabir, jer njihovo miješanje na istoj putanji stvara procjepe koje je kasnije vrlo teško pripisati. Čitatelj koji u jednom direktoriju nađe oba uzorka ne može reći koji je mjerodavan.

Postavite čuvanje prema prozoru incidenta

Čuvanje, kompresija i najveća veličina trebaju slijediti iz toga koliko duboko stvarno istražujete. Prozor od sedam dana s kompresijom i gornjom granicom veličine razumno je polazište za mnoga uvođenja; broj prepisan iz priručnika nije.

Držite politiku na jednom mjestu. Ako logrotate rotira datoteku i rsyslog je također rotira, pobjeđuje druga rotacija, a sustav imenovanja prve preživljava kao nered. Odaberite vlasnika, isključite drugu rotaciju i zabilježite tu odluku uz politiku.

Dokumentacija rsysloga pokriva njegov model usmjeravanja i radnji, dok dokumentacija usluge OpenVPN ostaje mjerodavna za demonove vlastite opcije zapisivanja. Nijedna od njih ne odlučuje o vašoj politici čuvanja umjesto vas.

Ispitajte jednu rotaciju i jedan novi događaj

Prisilite jednu rotaciju, a zatim generirajte jedan novi događaj, primjerice neuspjelu autentifikaciju. Potvrdite da se novi zapis pojavljuje u novoj datoteci i da je stara datoteka prestala rasti.

Provjerite i dopuštenja na novoj datoteci, jer rotacija koja je ponovno stvori s drugim vlasnikom slomi pisca pri sljedećem upisu i stvori procjep koji izgleda kao pad. Usporedite vlasnika i način rada s računom usluge prije nego što odete. Zatim potvrdite da je komprimirana arhiva čitljiva, jer arhiva koju nitko ne može otvoriti nije čuvanje. Brzo čitanje najnovijeg zapisa u staroj datoteci dokazuje i kompresiju i dopuštenja.

Završite tako da zabilježite vlasnika svakog koraka: koja komponenta piše, koja rotira i gdje živi politika čuvanja. Taj zapis pretvara sljedeći incident sa zapisima u petominutnu provjeru umjesto poslijepodneva nagađanja koji je sloj ispustio redak.

Povezani članci