Komu patria logy OpenVPN: démonovi, rsyslogu alebo logrotate?
Jeden zapisovateľ, jeden rotátor, jedna politika uchovávania. Najprv zvoľte cestu, pomenujte démona pre úzky filter a dokážte opätovné otvorenie jediným rotovaným súborom.
Rotácia logov sa láme predvídateľným spôsobom: tri komponenty si každá myslí, že vlastní súbor, a výsledkom je rotovaný log, ktorý ďalej rastie, kým nový zostáva prázdny. Démon drží deskriptor, logrotate premenuje cestu a rsyslog píše úplne inde. Vyberte jedného zapisovateľa a jedného rotátora, skôr než na kopu pridáte ďalšie pravidlo. Kontrolný zoznam nižšie ide v tomto poradí, pretože každý ďalší krok na ňom závisí.
Určte, kto súbor zapisuje
Dva návrhy sú legitímne. V prvom proces VPN zapisuje súbor sám pomocou svojej voľby log alebo log-append. V druhom posiela záznamy systémovému loggeru a rsyslog alebo journald rozhoduje, kam doputujú.
Sú to alternatívy, nie vrstvy. Hostiteľ, ktorý zapne oboje, skončí s dvoma súbormi, ktoré si odporujú, a ten, ktorý čítate, je často ten zastaraný. Zvoľte cestu zámerne a potom odstráňte druhého zapisovateľa.
Prečítajte si platnú konfiguráciu služby, skôr než čokoľvek zmeníte, vrátane drop-in súborov, ktoré môžu prepísať unit súbor. Direktíva v profile, ktorý ste upravili, nie je dôkazom, že je to tá, ktorú načítal bežiaci proces. Porovnajte unit s argumentmi procesu a potom so súbormi, ktoré skutočne otvoril.
Pomenujte démona, aby filter mohol byť úzky
Na ceste cez syslog dajte démonovi samostatnú identitu a filtrujte podľa nej. Pravidlo, ktoré zodpovedá názvu programu tejto inštancie VPN, drží jej záznamy mimo zdieľaného súboru, ktorého politika uchovávania patrí niečomu inému.
Úzke pravidlá tiež robia zodpovedateľnou ďalšiu otázku: ktorá služba vytvorila tento riadok? Filter, ktorý zodpovedá všetkému so slovom VPN, ochotne pozbiera prevádzku druhého tunela a oba rozmazuje. Porovnávajte presný identifikátor, ktorý unit odovzdáva loggeru.
Zatvorte pravidlo po akcii, aby záznamy nespadli aj do predvoleného cieľa. Duplicitné riadky v dvoch súboroch vyzerajú ako chyba logovania a v skutočnosti sú chýbajúcim zastavením. To jediné opomenutie tiež zdvojnásobuje diskové náklady politiky uchovávania.
Rotujte bez straty deskriptora
Keď démon zapisuje súbor, logrotate premenuje cestu, ale proces si drží otvorený deskriptor. Nové záznamy pokračujú do premenovaného súboru, kým niečo neprinúti proces znova otvoriť pôvodnú cestu; preto sa rotácia môže zdať funkčná, kým nový súbor zostáva prázdny.
Riešením je akcia postrotate, ktorá spustí dokumentované správanie služby pri opätovnom načítaní alebo reštarte. Poslať loggeru signál je úplne iná akcia a démonovi, ktorý si drží vlastný súbor, nijako nepomôže.
Tam, kde je opätovné otvorenie nemožné, je copytruncate náhradou: skopírujte súbor a potom ho na mieste skráťte. Deskriptor zostane platný za cenu straty všetkého zapísaného medzi kopírovaním a skrátením, takže je to výmena, nie riešenie. Pod záťažou môže tá medzera prehltnúť práve tú poruchu, ktorú sa snažíte zachytiť.
Pre každý súbor zvoľte jednu z dvoch možností a voľbu zapíšte, pretože ich miešanie na tej istej ceste vytvára medzery, ktoré sa neskôr veľmi ťažko priraďujú. Čitateľ, ktorý v jednom adresári nájde oba vzory, nedokáže povedať, ktorý je smerodajný.
Nastavte uchovávanie podľa okna incidentu
Uchovávanie, kompresia a maximálna veľkosť by mali vychádzať z toho, ako hlboko skutočne skúmate. Okno siedmich dní s kompresiou a stropom veľkosti je rozumný východiskový bod pre mnohé nasadenia; číslo odpísané z návodu nie.
Držte politiku na jednom mieste. Ak logrotate rotuje súbor a rsyslog ho tiež rotuje, vyhráva druhá rotácia a schéma pomenovania prvej prežíva ako neporiadok. Určite vlastníka, vypnite druhú rotáciu a to rozhodnutie poznamenajte vedľa politiky.
Dokumentácia rsyslogu pokrýva jeho model smerovania a akcií, kým dokumentácia služby OpenVPN zostáva smerodajná pre vlastné voľby logovania démona. Ani jedna za vás nerozhodne o vašej politike uchovávania.
Otestujte jednu rotáciu a jednu novú udalosť
Vynúťte jedinú rotáciu a potom vytvorte jednu novú udalosť, napríklad neúspešnú autentizáciu. Potvrďte, že nový záznam sa objaví v novom súbore a že starý súbor prestal rásť.
Skontrolujte aj práva na novom súbore, pretože rotácia, ktorá ho znova vytvorí s iným vlastníkom, zlomí zapisovateľa pri ďalšom zápise a vytvorí medzeru, ktorá vyzerá ako pád. Porovnajte vlastníka a režim s účtom služby, skôr než odídete. Potom potvrďte, že komprimovaný archív je čitateľný, keďže archív, ktorý nikto nedokáže otvoriť, nie je uchovávanie. Rýchle prečítanie najnovšieho záznamu v starom súbore preukáže aj kompresiu, aj práva.
Skončite zapísaním vlastníka každého kroku: ktorý komponent zapisuje, ktorý rotuje a kde žije politika uchovávania. Práve tento záznam premení ďalší incident s logmi na päťminútovú kontrolu namiesto popoludnia hádania, ktorá vrstva riadok stratila.