Ku duhet të shkruajë serveri OpenVPN logun e tij, dhe pse
log, log-append dhe syslog ndryshojnë, dhe menaxheri i shërbimit mban kopjen e vet. Zgjidhni një rrjedhë autoritative, mbani ciklin e jetës të lexueshëm dhe vendosni mbajtjen.
Dizajni i logut përgjigjet tre pyetjeve: cili proces prodhoi një regjistrim, ku përfundon ai regjistrim dhe sa kohë mbijeton. OpenVPN mund të shkruajë në një skedar, t'u japë mesazhet regjistruesit të sistemit ose t'i lërë ato që kap menaxheri i shërbimit, dhe këto nuk janë tre kopje të një rrjedhe. Çdo zgjedhje ndryshon kush zotëron rrotullimin, cili përdorues mund të lexojë rezultatin dhe çfarë ndodh gjatë nisjes. Vendosni përgjigjet para një incidenti, sepse pas tij ju trashëgoni atë që është konfiguruar.
Çfarë bën në të vërtetë demoni me direktivën
Direktivat nuk janë abstraksione; secila vendos ku procesi shkruan mesazhet e tij. log /path hap atë skedar, log-append /path e hap atë për shtim, dhe syslog u jep mesazhet regjistruesit lokal të sistemit përmes soketit të tij. Pa asnjërën prej tyre, dalja shkon në daljen standarde dhe menaxheri i shërbimit vendos çfarë ndodh më pas. Lexoni njësinë efektive dhe profilin së bashku përpara se të arrini në përfundimin se demoni injoron konfigurimin tuaj.
Rasti i fundit është i zakonshëm në instalimin me paketë, dhe shpjegon pse dy administratorë nuk bien dakord për vendin e logut. Njëri lexon ditarin e njësisë, tjetri lexon një skedar që demoni nuk e ka shkruar kurrë.
Kontrolloni konfigurimin që po funksionon, jo skedarin në disk. Një anulim i njësisë lloj drop-in ose një skedar mjedisi mund të ndryshojë direktivën efektive pa prekur profilin që po lexoni.
log pret, log-append nuk pret
log pret një skedar ekzistues kur direktiva hyn në fuqi, kështu që një rinisje fshin provat përpara saj. log-append mban atë që është dhe shton. Asnjë opsion nuk rrotullon asgjë, dhe asnjë nuk e rihap skedarin më vonë vetë, prandaj rrotullimi kërkon bashkëpunim.
Nëse rrotullimi e riemërton skedarin ndërsa demoni vazhdon të shkruajë në përshkruesin e vjetër, skedari i ri mbetet bosh dhe përdorimi i diskut vazhdon të rritet në atë të riemërtuar. Dërgoni një sinjal procesit të rihapet, ose rrotulloni me një strategji kopjo-dhe-prit dhe pranoni dritaren e kopjimit.
Direktoria, pronësia dhe lejet janë pjesë e dizajnit. Demoni mund të funksionojë si përdorues pa privilegje pas nisjes, dhe një direktori e krijuar nga root gjatë instalimit mund të mos jetë e shkruajtshme atëherë. Përgatiteni përmes paketimit ose procesit të vendosjes në vend që të rregulloni lejet gjatë një incidenti.
Menaxheri i shërbimit mban një kopje të dytë
systemd kap daljen standarde dhe gabimin standard si parazgjedhje, kështu që një njësi pa ridrejtim të shprehur tashmë ka një log. Shtimi i një direktive skedari jep dy rrjedha me mbajtje, lexues dhe vulë kohore të ndryshme.
Kjo nuk është automatikisht e gabuar, por duhet të jetë një vendim. Mbani regjistrimin e nisjes në ditar, sepse dështimet përpara se të ekzistojë skedari i konfiguruar nuk shfaqen askund tjetër. Pastaj bëni skedarin autoritativ për ngjarjet në gjendje të qëndrueshme dhe shkruajeni atë në runbook. Dy rrjedha autoritative nënkuptojnë dy përgjigje për çdo pyetje.
Konfirmoni zgjedhjen me një test që dështon qëllimisht. Nisni demonin me një certifikatë të palexueshme dhe shikoni cila rrjedhë regjistron gabimin.
Hollësia nuk është e njëjtë me detajin e përdorshëm
Një nivel më i lartë verb shton më shumë rreshta, dhe pas një pike rreshta që askush nuk i lexon. Niveli 3 është një gjendje e qëndrueshme e arsyeshme për shumicën e vendosjeve, ndërsa niveli 4 e lart përshtaten me një hetim të kufizuar me një pyetje të njohur. Shtypja e përsëritjeve zvogëlon zhurmën, por nuk duhet të fshehë sa shpesh përsëritet një ngjarje. Vendosni nivelin që mund të mbani, dhe ngrini atë vetëm për një hetim të emërtuar me një fund.
Mbani identitetin e instancës dhe vulat kohore në regjistrim. Një rilidhje duket saktësisht si një lidhje e parë kur skedari është shtuar për muaj dhe mungon emri i instancës.
Kini kujdes se çfarë tjetër bie në atë skedar. Dalja e ridrejtuar mund të përfshijë tekst nga skriptet e thirrura, dhe një program ndihmës që shtyp mjedisin e tij vendos kredencialet dhe shtigjet e çelësave në një log të lexueshëm. Trajtoni aksesin në log si një vendim sigurie edhe kur vetë demoni nuk shtyp asgjë të ndjeshme.
Rrotullimi, mbajtja dhe sinjalet që ringarkojnë
Vendosni mbajtjen me personin që zotëron diskun, dhe vendoseni përpara se vëllimi të vendosë për ju. Sinjali i ringarkimit nuk është një urdhër mirëmbajtjeje logu: dërgimi i të gabuarit rinis tunelin dhe shkëput çdo përdorues. Shkruani procedurën e rihapjes pranë rregullit të rrotullimit që të dyja të mos ndahen.
Rezultati duhet të jetë një shërbim që operatori mund të përshkruajë: një rrjedhë autoritative, çdo ngjarje e vendosur në ciklin e jetës, dhe një regjistrim i arritshëm pa mbledhur çdo skedar që mban sekrete në host. Ky përshkrim është testi i pranimit të dizajnit, dhe kontrollimi i tij përpara incidentit të ardhshëm është i lirë.