Ang pag-ikot ng log ay nasisira sa mahuhulaang paraan: tatlong bahagi ang bawat isa ay nag-aakalang pag-aari nila ang file, at ang resulta ay isang naikot na log na patuloy na lumalaki habang ang bago ay nananatiling walang laman. Hinahawakan ng daemon ang isang deskriptor, pinapalitan ng logrotate ang pangalan ng landas, at sa ibang lugar naman nagsusulat ang rsyslog. Pumili ng isang manunulat at isang tagapag-ikot bago magdagdag ng isa pang tuntunin sa bunton. Ang checklist sa ibaba ay sumusunod sa ganoong pagkakasunod-sunod dahil bawat susunod na hakbang ay nakasalalay dito.

Magpasya kung sino ang sumusulat ng file

Dalawang disenyo ang lehitimo. Sa una, ang proseso ng VPN mismo ang sumusulat ng file sa pamamagitan ng sarili nitong opsyon na log o log-append. Sa pangalawa, ipinapadala nito ang mga talaan sa system logger at ang rsyslog o journald ang magpapasya kung saan sila mapupunta.

Magkaiba silang alternatibo, hindi mga patong. Ang host na bubuksan ang dalawa ay mauuwi sa dalawang file na hindi nagtutugma, at ang binabasa mo ay madalas ang luma. Sadyain ang pagpili ng landas, pagkatapos ay alisin ang isa pang manunulat.

Basahin ang epektibong konfigurasyon ng serbisyo bago magbago ng anuman, kabilang ang mga drop-in na maaaring mangibabaw sa unit file. Ang isang direktiba sa profile na inedit mo ay hindi patunay na ito ang naikarga ng tumatakbong proseso. Ihambing ang unit sa mga argumento ng proseso, at pagkatapos sa mga file na talagang binuksan nito.

Pangalanan ang daemon para maging makitid ang salaan

Sa landas ng syslog, bigyan ang daemon ng natatanging pagkakakilanlan at salain iyon. Ang tuntuning tumutugma sa pangalan ng programa ng instansyang ito ng VPN ay naglalayo sa mga talaan nito mula sa isang pinagsasaluhang file na ang patakaran sa pag-iingat ay pag-aari ng ibang bagay.

Ginagawa rin ng makitid na tuntunin na masagot ang susunod na tanong: aling serbisyo ang gumawa ng linyang ito? Ang salaan na tumutugma sa lahat ng naglalaman ng salitang VPN ay kusang mangangalap din ng trapiko ng ikalawang tunel at magpapalabo sa dalawa. Itugma ang eksaktong identifier na ipinapasa ng unit sa logger.

Isara ang tuntunin pagkatapos ng aksyon para hindi rin mahulog ang mga talaan sa default na patutunguhan. Ang mga doble na linya sa dalawang file ay mukhang bug sa pag-log ngunit sa totoo ay nawawalang paghinto. Ang nag-iisang pagkakaligtaang iyon ay nagpapadoble rin sa gastos sa disk ng patakaran sa pag-iingat.

Mag-ikot nang hindi nawawala ang deskriptor

Kapag sinusulat ng daemon ang file, pinapalitan ng logrotate ang pangalan ng landas ngunit pinapanatili ng proseso ang bukas nitong deskriptor. Patuloy na pumapasok ang mga bagong talaan sa naipalit-pangalang file hanggang may pumilit sa prosesong muling buksan ang orihinal na landas; kaya maaaring magmukhang gumagana ang pag-ikot habang ang bagong file ay nananatiling walang laman.

Ang solusyon ay isang aksyong postrotate na nagpapagana sa dokumentadong pag-uugali ng pag-reload o pag-restart ng serbisyo. Ang pagpapadala ng senyas sa logger ay ganap na ibang aksyon at walang ginagawa para sa daemon na may sariling file.

Kung imposible ang muling pagbukas, ang copytruncate ang panghuling opsyon: kopyahin ang file, pagkatapos ay putulin ito sa lugar. Pinapanatili nitong wasto ang deskriptor kapalit ng pagkawala ng lahat ng naisulat sa pagitan ng kopya at pagputol, kaya palitan ito at hindi solusyon. Sa ilalim ng load, ang puwang na iyon ay maaaring lunukin ang mismong kabiguang sinusubukan mong mahuli.

Pumili ng isa sa dalawa para sa bawat file at isulat ang pinili, dahil ang paghahalo nila sa parehong landas ay gumagawa ng mga puwang na napakahirap iugnay mamaya. Ang mambabasang makakita ng dalawang pattern sa isang direktoryo ay hindi masasabi kung alin ang awtoritatibo.

Itakda ang pag-iingat mula sa window ng insidente

Ang pag-iingat, kompresyon at pinakamataas na laki ay dapat magmula sa kung gaano kalayo ang talagang iniimbestigahan mo. Ang pitong araw na window na may kompresyon at takip sa laki ay makatwirang simula para sa maraming deployment; ang bilang na kinopya mula sa tutorial ay hindi.

Itago ang patakaran sa isang lugar. Kung iniikot ng logrotate ang file at iniikot din ito ng rsyslog, ang ikalawang pag-ikot ang mananalo at ang scheme ng pangalan ng una ay mananatiling kalat. Piliin ang may-ari, patayin ang isa pang pag-ikot, at itala ang desisyong iyon sa tabi ng patakaran.

Saklaw ng dokumentasyon ng rsyslog ang modelo nito sa pagruruta at mga aksyon, habang ang dokumentasyon ng serbisyong OpenVPN ay nananatiling awtoritatibo para sa sariling mga opsyon sa pag-log ng daemon. Wala sa dalawa ang nagpapasya ng iyong patakaran sa pag-iingat para sa iyo.

Subukan ang isang pag-ikot at isang bagong pangyayari

Pilitin ang isang pag-ikot lamang at pagkatapos ay gumawa ng isang bagong pangyayari, tulad ng bigong pagpapatunay. Tiyakin na lumilitaw ang bagong talaan sa bagong file at huminto na sa paglaki ang lumang file.

Tingnan din ang mga pahintulot sa bagong file, dahil ang pag-ikot na muling gumagawa nito sa ibang may-ari ay sisira sa manunulat sa susunod na sulatin at gagawa ng puwang na mukhang pagbagsak. Ihambing ang may-ari at mode sa account ng serbisyo bago umalis. Pagkatapos ay tiyakin na nababasa ang naka-compress na arkibo, dahil ang arkibong walang makakabukas ay hindi pag-iingat. Ang mabilis na pagbasa ng pinakabagong talaan sa lumang file ay nagpapatunay sa kompresyon at mga pahintulot.

Tapusin sa pamamagitan ng pagtatala ng may-ari ng bawat hakbang: aling bahagi ang sumusulat, alin ang nag-ikot, at saan nakatira ang patakaran sa pag-iingat. Ang talang iyon ang gumagawa sa susunod na insidente sa pag-log na limang minutong pagsusuri sa halip na isang hapon ng paghula kung aling patong ang nagpabagsak ng linya.

Kaugnay na mga artikulo