OpenVPN ના લોગ કોના છે: ડેમન, rsyslog કે logrotate?
એક લેખક, એક રોટેટર, એક જાળવણી નીતિ. પહેલાં માર્ગ પસંદ કરો, સાંકડા ફિલ્ટર માટે ડેમનનું નામ આપો, અને એક જ ફેરવાયેલી ફાઇલથી ફરી ખૂલવાનું સાબિત કરો.
લોગ રોટેશન એક અનુમાનિત રીતે તૂટે છે: ત્રણ ઘટકોમાંથી દરેક માને છે કે ફાઇલ તેની છે, અને પરિણામ એ ફેરવાયેલો લોગ છે જે નવી ખાલી રહેતી હતી ત્યારે પણ વધતો રહે છે. ડેમન ડિસ્ક્રિપ્ટર રાખે છે, logrotate માર્ગનું નામ બદલે છે, અને rsyslog સાવ બીજે જ લખે છે. ઢગલામાં બીજો નિયમ ઉમેરતા પહેલાં એક લેખક અને એક રોટેટર પસંદ કરો. નીચેની ચેકલિસ્ટ તે જ ક્રમમાં આગળ વધે છે, કારણ કે દરેક પછીનું પગલું તેના પર આધારિત છે.
ફાઇલ કોણ લખે છે તે નક્કી કરો
બે રચનાઓ માન્ય છે. પહેલીમાં VPN પ્રક્રિયા પોતાના log કે log-append વિકલ્પ દ્વારા જાતે ફાઇલ લખે છે. બીજીમાં તે રેકોર્ડ સિસ્ટમ લોગરને મોકલે છે અને rsyslog કે journald નક્કી કરે છે કે તેઓ ક્યાં ઉતરે.
આ વિકલ્પો છે, સ્તરો નહીં. જે હોસ્ટ બંને ચાલુ કરે છે તે અંતે બે ફાઇલો સાથે રહે છે જે મેળ ખાતી નથી, અને તમે જે વાંચી રહ્યા છો તે ઘણી વાર જૂની હોય છે. માર્ગ જાણી જોઈને પસંદ કરો, પછી બીજા લેખકને દૂર કરો.
કંઈપણ બદલતા પહેલાં સેવાનું અસરકારક રૂપરેખાંકન વાંચો, જેમાં એવી drop-in ફાઇલોનો સમાવેશ થાય છે જે unit ફાઇલને બાજુ પર રાખી શકે. તમે સંપાદિત કરેલી પ્રોફાઇલમાં રહેલું નિર્દેશન એ સાબિતી નથી કે તે ચાલુ પ્રક્રિયાએ લોડ કરેલું એ જ છે. unit ને પ્રક્રિયાના આર્ગ્યુમેન્ટ સાથે, અને પછી તેણે ખરેખર ખોલેલી ફાઇલો સાથે સરખાવો.
ડેમનનું નામ આપો જેથી ફિલ્ટર સાંકડું રહે
syslog માર્ગ પર, ડેમનને અલગ ઓળખ આપો અને તેના પર ફિલ્ટર કરો. જે નિયમ આ VPN ઇન્સ્ટન્સના પ્રોગ્રામ-નામ સાથે મેળ ખાય છે તે તેના રેકોર્ડને એવી વહેંચાયેલી ફાઇલની બહાર રાખે છે જેની જાળવણી નીતિ બીજા કોઈની છે.
સાંકડા નિયમો આગલા પ્રશ્નને પણ જવાબપાત્ર બનાવે છે: આ લીટી કઈ સેવાએ બનાવી? જે ફિલ્ટર VPN શબ્દ ધરાવતા બધા સાથે મેળ ખાય છે તે આનંદથી બીજા ટનલનું ટ્રાફિક પણ એકઠું કરશે અને બંનેને ધૂંધળા કરશે. unit લોગરને આપે છે તે ચોક્કસ ઓળખકર્તા સાથે મેળ કરો.
ક્રિયા પછી નિયમ બંધ કરો જેથી રેકોર્ડ ડિફોલ્ટ ગંતવ્યમાં પણ ન પડે. બે ફાઇલોમાં વારંવાર આવતી લીટીઓ લોગિંગ બગ જેવી લાગે છે અને ખરેખર એ ખૂટતું સ્ટોપ છે. એ એક જ ચૂક જાળવણી નીતિનો ડિસ્ક ખર્ચ પણ બમણો કરે છે.
ડિસ્ક્રિપ્ટર ગુમાવ્યા વિના ફેરવો
જ્યારે ડેમન ફાઇલ લખે છે, ત્યારે logrotate માર્ગનું નામ બદલે છે પણ પ્રક્રિયા પોતાનું ખુલ્લું ડિસ્ક્રિપ્ટર રાખે છે. નવા રેકોર્ડ નામ બદલાયેલી ફાઇલમાં ચાલુ રહે છે જ્યાં સુધી કંઈક પ્રક્રિયાને મૂળ માર્ગ ફરી ખોલવા મજબૂર ન કરે; એટલે જ રોટેશન કામ કરતું લાગે છે જ્યારે નવી ફાઇલ ખાલી રહે છે.
ઉકેલ એ postrotate ક્રિયા છે જે સેવાના દસ્તાવેજીકૃત રીલોડ કે રીસ્ટાર્ટ વર્તનને સક્રિય કરે છે. લોગરને સિગ્નલ મોકલવું સાવ બીજી ક્રિયા છે અને પોતાની ફાઇલ ધરાવતા ડેમન માટે કંઈ કરતું નથી.
જ્યાં ફરી ખૂલવું અશક્ય હોય ત્યાં copytruncate બદલી છે: ફાઇલની નકલ કરો, પછી તેને તે જ જગ્યાએ કાપો. તે ડિસ્ક્રિપ્ટરને માન્ય રાખે છે પણ નકલ અને કાપ વચ્ચે લખાયેલું બધું ગુમાવે છે, તેથી એ ઉકેલ નહીં પણ સોદો છે. ભાર હેઠળ એ ખાલી જગ્યા તમે પકડવા માંગતા એ જ ખામીને ગળી શકે છે.
દરેક ફાઇલ માટે બેમાંથી એક પસંદ કરો અને પસંદગી લખી રાખો, કારણ કે એક જ માર્ગ પર બંને ભેળવવાથી એવી ખાલી જગ્યાઓ ઊભી થાય છે જે પછીથી જોડવી ખૂબ અઘરી છે. એક જ ડિરેક્ટરીમાં બંને પેટર્ન મળે તો વાંચનાર કહી શકતો નથી કે કઈ પ્રમાણભૂત છે.
ઘટનાની વિંડો પરથી જાળવણી નક્કી કરો
જાળવણી, સંકોચન અને મહત્તમ કદ તમે ખરેખર કેટલું પાછળ તપાસો છો તેમાંથી આવવું જોઈએ. સંકોચન અને કદ મર્યાદા સાથે સાત દિવસની વિંડો ઘણા તૈનાતીઓ માટે વાજબી શરૂઆત છે; ટ્યુટોરિયલમાંથી નકલ કરેલી સંખ્યા નહીં.
નીતિને એક જ જગ્યાએ રાખો. જો logrotate ફાઇલ ફેરવે અને rsyslog પણ તેને ફેરવે, તો બીજું રોટેશન જીતે છે અને પહેલાની નામકરણ યોજના ગરબડ તરીકે ટકી રહે છે. માલિક પસંદ કરો, બીજું રોટેશન બંધ કરો, અને એ નિર્ણય નીતિની બાજુમાં નોંધો.
rsyslog નું દસ્તાવેજીકરણ તેના રૂટિંગ અને ક્રિયા મોડેલને આવરી લે છે, જ્યારે OpenVPN સેવાનું દસ્તાવેજીકરણ ડેમનના પોતાના લોગિંગ વિકલ્પો માટે પ્રમાણભૂત રહે છે. બંનેમાંથી કોઈ તમારા વતી તમારી જાળવણી નીતિ નક્કી કરતું નથી.
એક રોટેશન અને એક નવી ઘટના ચકાસો
એક જ રોટેશન ફરજિયાત કરો અને પછી એક નવી ઘટના બનાવો, જેમ કે નિષ્ફળ પ્રમાણીકરણ. ખાતરી કરો કે નવો રેકોર્ડ નવી ફાઇલમાં દેખાય છે અને જૂની ફાઇલ વધવાનું બંધ થઈ ગઈ છે.
નવી ફાઇલની પરવાનગીઓ પણ તપાસો, કારણ કે બીજા માલિક સાથે તેને ફરી બનાવતું રોટેશન આગલી લખાણમાં લેખકને તોડે છે અને ક્રેશ જેવી ખાલી જગ્યા બનાવે છે. જતા પહેલાં માલિક અને મોડને સેવા ખાતા સાથે સરખાવો. પછી ખાતરી કરો કે સંકુચિત આર્કાઇવ વાંચી શકાય છે, કારણ કે જે આર્કાઇવ કોઈ ખોલી ન શકે તે જાળવણી નથી. જૂની ફાઇલમાંના સૌથી નવા રેકોર્ડનું ઝડપી વાંચન સંકોચન અને પરવાનગી બંને સાબિત કરે છે.
દરેક પગલાનો માલિક નોંધીને પૂરું કરો: કયું ઘટક લખે છે, કયું ફેરવે છે, અને જાળવણી નીતિ ક્યાં રહે છે. એ નોંધ જ આગલી લોગિંગ ઘટનાને કયા સ્તરે લીટી પાડી નાખી તે અનુમાન કરતી આખી બપોરને બદલે પાંચ મિનિટની ચકાસણીમાં ફેરવે છે.