OpenVPN चे लॉग कोणाचे आहेत: डेमन, rsyslog की logrotate?
एक लेखक, एक फिरवणारा, एक धारणा धोरण. आधी मार्ग निवडा, अरुंद फिल्टरसाठी डेमनला नाव द्या, आणि एकाच फिरवलेल्या फाइलने पुन्हा उघडणे सिद्ध करा.
लॉग फिरवणे अंदाजे पद्धतीने तुटते: तीन घटकांपैकी प्रत्येकाला वाटते की फाइल त्याची आहे, आणि परिणाम असा फिरवलेला लॉग असतो जो नवीन रिकामा असतानाही वाढत राहतो. डेमन डिस्क्रिप्टर ठेवतो, logrotate मार्गाचे नाव बदलतो, आणि rsyslog पूर्णपणे दुसरीकडे लिहितो. गठ्ठ्यात आणखी एक नियम घालण्यापूर्वी एक लेखक आणि एक फिरवणारा निवडा. खालील तपासणी यादी त्याच क्रमाने पुढे जाते, कारण पुढील प्रत्येक पायरी तिच्यावर अवलंबून आहे.
फाइल कोण लिहितो हे ठरवा
दोन रचना वैध आहेत. पहिल्यात VPN प्रक्रिया स्वतःच्या log किंवा log-append पर्यायाने स्वतः फाइल लिहिते. दुसऱ्यात ती नोंदी सिस्टम लॉगरकडे पाठवते आणि rsyslog किंवा journald त्या कुठे उतरतील हे ठरवते.
हे पर्याय आहेत, स्तर नाहीत. दोन्ही सुरू केलेला होस्ट शेवटी जुळत नसलेल्या दोन फाइलींसह राहतो, आणि तुम्ही वाचत असलेली बहुतेक जुनी असते. मार्ग जाणीवपूर्वक निवडा, मग दुसरा लेखक काढून टाका.
काहीही बदलण्यापूर्वी सेवेचे प्रभावी संरचना वाचा, unit फाइल ओव्हरराइड करू शकणाऱ्या drop-in फाइलींसह. तुम्ही संपादित केलेल्या प्रोफाइलमधील निर्देश हा चालू प्रक्रियेने लोड केलेला निर्देश आहे याचा पुरावा नाही. unit ची प्रक्रियेच्या आर्ग्युमेंटशी आणि नंतर तिने प्रत्यक्ष उघडलेल्या फाइलींशी तुलना करा.
फिल्टर अरुंद राहावा म्हणून डेमनला नाव द्या
syslog मार्गावर डेमनला वेगळी ओळख द्या आणि त्यावर फिल्टर करा. या VPN प्रतिष्ठानच्या प्रोग्राम नावाशी जुळणारा नियम तिच्या नोंदी अशा सामायिक फाइलबाहेर ठेवतो जिचे धारणा धोरण दुसऱ्या कशाचे आहे.
अरुंद नियम पुढील प्रश्नालाही उत्तर देण्यायोग्य बनवतात: ही ओळ कोणत्या सेवेने तयार केली? VPN शब्द असलेल्या सर्वांशी जुळणारा फिल्टर दुसऱ्या बोगद्याचा रहदारीही आनंदाने गोळा करेल आणि दोन्ही अस्पष्ट करेल. unit लॉगरला देत असलेल्या नेमक्या ओळखणीशी जुळवा.
नोंदी डीफॉल्ट गंतव्यस्थानातही पडू नयेत म्हणून कृतीनंतर नियम बंद करा. दोन फाइलींमध्ये पुनरावृत्ती होणाऱ्या ओळी लॉगिंग बगसारख्या दिसतात आणि प्रत्यक्षात ती गहाळ थांबणी असते. तीच एक चूक धारणा धोरणाचा डिस्क खर्चही दुप्पट करते.
डिस्क्रिप्टर न गमावता फिरवा
डेमन फाइल लिहितो तेव्हा logrotate मार्गाचे नाव बदलतो पण प्रक्रिया तिचा उघडा डिस्क्रिप्टर ठेवते. नव्या नोंदी नाव बदललेल्या फाइलमध्ये सुरू राहतात, जोपर्यंत काहीतरी प्रक्रियेला मूळ मार्ग पुन्हा उघडण्यास भाग पाडत नाही; म्हणूनच फिरवणे काम करत असल्यासारखे वाटू शकते आणि नवीन फाइल रिकामी राहते.
उपाय म्हणजे सेवेचे नोंदवलेले रीलोड किंवा रीस्टार्ट वर्तन सुरू करणारी postrotate कृती. लॉगरला सिग्नल पाठवणे ही पूर्णपणे वेगळी कृती आहे आणि स्वतःची फाइल ठेवणाऱ्या डेमनसाठी काहीही करत नाही.
जिथे पुन्हा उघडणे अशक्य आहे तिथे copytruncate पर्याय आहे: फाइल कॉपी करा, मग तिथेच कापून टाका. डिस्क्रिप्टर वैध ठेवते पण कॉपी आणि कापणीदरम्यान लिहिलेले सर्व गमावते, त्यामुळे हा उपाय नाही तर देवघेव आहे. भाराखाली ती पोकळी तुम्ही पकडू पाहत असलेली बिघाडच गिळून टाकू शकते.
प्रत्येक फाइलसाठी दोनपैकी एक निवडा आणि निवड लिहून ठेवा, कारण त्याच मार्गावर दोन्ही मिसळल्यास नंतर जोडणे फार कठीण अशा पोकळ्या तयार होतात. एकाच डिरेक्टरीत दोन्ही नमुने सापडलेल्या वाचकाला कोणता अधिकृत आहे हे सांगता येत नाही.
घटनेच्या खिडकीवरून धारणा ठरवा
धारणा, संकुचन आणि कमाल आकार तुम्ही प्रत्यक्षात किती मागे तपासता यावरून आले पाहिजेत. संकुचन आणि आकारमर्यादेसह सात दिवसांची खिडकी अनेक उपयोजनांसाठी योग्य प्रारंभबिंदू आहे; एखाद्या ट्युटोरियलमधून कॉपी केलेली संख्या नाही.
धोरण एकाच ठिकाणी ठेवा. logrotate फाइल फिरवत असेल आणि rsyslogही ती फिरवत असेल, तर दुसरे फिरवणे जिंकते आणि पहिल्याची नामकरण पद्धत गोंधळ म्हणून राहते. मालक निवडा, दुसरे फिरवणे बंद करा, आणि तो निर्णय धोरणाच्या शेजारी नोंदवा.
rsyslog चे दस्तऐवज त्याचे राउटिंग आणि कृती मॉडेल व्यापते, तर OpenVPN सेवेचे दस्तऐवज डेमनच्या स्वतःच्या लॉगिंग पर्यायांसाठी अधिकृत राहते. यापैकी कोणीही तुमच्या वतीने तुमचे धारणा धोरण ठरवत नाही.
एक फिरवणे आणि एक नवी घटना तपासा
एकच फिरवणे सक्तीने करा आणि मग एक नवी घटना निर्माण करा, जसे अयशस्वी प्रमाणीकरण. नवी नोंद नव्या फाइलमध्ये दिसते आणि जुनी फाइल वाढणे थांबले आहे याची खात्री करा.
नव्या फाइलच्या परवानग्याही पाहा, कारण दुसऱ्या मालकासह ती पुन्हा तयार करणारे फिरवणे पुढील लेखनात लेखकाला तोडते आणि क्रॅशसारखी दिसणारी पोकळी निर्माण करते. निघण्यापूर्वी मालक आणि मोड सेवा खात्याशी तुलना करा. नंतर संकुचित संग्रहण वाचनीय आहे याची खात्री करा, कारण कोणीही उघडू न शकणारे संग्रहण म्हणजे धारणा नाही. जुन्या फाइलमधील सर्वात नवीन नोंद वेगाने वाचल्यास संकुचन आणि परवानगी दोन्ही सिद्ध होतात.
प्रत्येक पायरीचा मालक नोंदवून पूर्ण करा: कोणता घटक लिहितो, कोणता फिरवतो, आणि धारणा धोरण कुठे राहते. तीच नोंद पुढील लॉगिंग घटनेला कोणत्या स्तराने ओळ गमावली याचा अंदाज लावण्यात घालवलेल्या संपूर्ण दुपारऐवजी पाच मिनिटांची तपासणी बनवते.