लिनक्स पर सामान्य लॉगिंग / लॉगरोटेशन के बारे में सीखना?


13

मान लें, कि अपाचे वेब सर्वर लॉग के बगल में मैं किसी भी ऑपरेशन सिस्टम पर किसी भी तरह के (प्रोफेशनल) लॉग से कभी संपर्क नहीं कर पाया। इसलिए लॉगिंग, हालांकि मैं कुछ मूल बातें समझता हूं, यह सब एक साथ एक नया विषय है। फिलहाल इस विषय के बारे में पूरी तरह से जानने के लिए निवेश काफी बड़ा प्रतीत होता है, फिर भी मुझे अभी तक पता नहीं है, अगर यह अधिक जानने के लायक है तो सबसे अमूर्त अवधारणाएं भी हैं।

लॉगिंग के बारे में जानने के लिए आपको कौन से संसाधन सुझाएंगे कि किसी को उस स्थिति में (ट्यूटोरियल, मैन पेज, किताबें) उपभोग करना चाहिए?

एक सामान्य लिनक्स उपयोगकर्ता को दैनिक / मासिक आधार पर कौन सा लॉग पढ़ना चाहिए? क्या यह धारणा भी सही है कि वे मानव पठनीयता के लिए लिखे गए हैं या क्या वे आम तौर पर अन्य उपकरणों द्वारा मूल्यांकन और उपयोग किए जाते हैं?

इन लॉग के बारे में सामान्य * निक्स उपयोगकर्ता और सॉफ्टवेयर डेवलपर को क्या पता होना चाहिए?

लॉग रोटेशन के बारे में आपको क्या जानने की जरूरत है, अगर आपको घटनाओं के भारी भार के साथ पेशेवर वेब सर्वर का प्रबंधन करने की उम्मीद नहीं है?


क्या आपको बुरा लगता है अगर मैं (या आप) शीर्षक को "यूबुक पर" के बजाय "लिनक्स पर" पढ़ने के लिए संपादित करते हैं क्योंकि ये अनिवार्य रूप से एक ही प्रश्न हैं (मेरा उत्तर देखें)? इस तरह हम "आर्क पर लॉगिंग सीखना", "सेंटो पर लॉगिंग सीखना", आदि पर बंद डुप्लिकेट प्रश्नों के समाप्त होने की संभावना कम है , आदि
गोल्डीलॉक्स

मुझे इस तरह के बदलावों से ऐतराज नहीं है, जब तक जवाब अच्छे हैं :)
erikbwork

जवाबों:


18

[यह सिस्टमड सिस्टम पर जर्नल को व्यापक रूप से अपनाने से कुछ साल पहले लिखा गया था और इस पर कोई विचार नहीं करता है। वर्तमान में (2018 के अंत में) दोनों जर्नल और (आर) syslog, नीचे वर्णित है, डिस्ट्रोन्स जैसे डेबियन पर उपयोग किया जाता है। दूसरों पर, यदि आप इसे साथ उपयोग करना चाहते हैं, तो आपको rsyslog स्थापित करना पड़ सकता है, लेकिन जर्नल के साथ एकीकरण सीधा है।]

मैं विशेष रूप से ubuntu के संबंध में लॉगिंग के बारे में चर्चा नहीं करूंगा, क्योंकि विषय को सामान्य रूप से लिनक्स के लिए मानकीकृत किया गया है (और मुझे विश्वास है कि मुझे जो भी कहना है वह सबसे या किसी भी स्वाद के लिए सामान्य रूप से सच है।) उसके लिए मेरा शब्द लें)। मैं इस सवाल का जवाब देने से परे "लॉग्स कैसे पढ़ें" के बारे में ज्यादा नहीं कहूंगा:

क्या यह धारणा भी सही है कि वे मानव पठनीयता के लिए लिखे गए हैं या क्या वे आम तौर पर अन्य उपकरणों द्वारा मूल्यांकन और उपयोग किए जाते हैं?

मुझे लगता है कि आवेदन पर निर्भर करता है, लेकिन सामान्य तौर पर, कम से कम इस संबंध में कि सिसलॉग में क्या होता है (नीचे देखें), वे मानव पठनीय होने चाहिए। "मेरे लिए सार्थक" एक और मुद्दा है, योग्य। हालांकि, उन्हें एक तरह से संरचित भी किया जा सकता है जो विशिष्ट उद्देश्यों के लिए उन्हें मानक उपकरण (grep, awk, आदि) के साथ पार्स बनाता है।

Anywho, सबसे पहले, अनुप्रयोगों के बीच एक अंतर होता है जो अपने लॉगिंग और अनुप्रयोगों को करते हैं जो सिस्टम लॉगर का उपयोग करते हैं। डिफ़ॉल्ट रूप से अपाचे पूर्व है, हालांकि इसे बाद में करने के लिए कॉन्फ़िगर किया जा सकता है (जो मुझे लगता है कि ज्यादातर लोग अवांछनीय मानेंगे)। अनुप्रयोग जो अपने स्वयं के लॉगिंग करते हैं, वे किसी भी तरीके से फ़ाइल (एस) के लिए किसी भी स्थान का उपयोग कर सकते हैं, इसलिए उस बारे में कहने के लिए बहुत कुछ नहीं है। सिस्टम लकड़हारा आमतौर पर के रूप में जाना जाता है syslog

syslog

"Syslog" वास्तव में एक मानक है जिसे डेमॉन प्रक्रिया के साथ कार्यान्वित किया जाता है जिसे उदारतापूर्वक syslogd कहा जाता है (d। डेमॉन के लिए है!)। वर्तमान में सर्वेसर्नल डेमॉन वर्तमान में लाइनक्स पर उपयोग में है, जिसमें उबंटू भी शामिल है rsyslogd। रूपलॉग बहुत कुछ कर सकता है, लेकिन जैसा कि अधिकांश डिस्ट्रोस पर बॉक्स से बाहर कॉन्फ़िगर किया गया है, यह एक पारंपरिक सिसलॉग का अनुकरण करता है, जो कि सादे पाठ फ़ाइलों में सामान को सॉर्ट करता है /var/log। आपको इसके लिए प्रलेखन मिल सकता है /usr/share/doc/rsyslog-doc-[version](सावधान रहें, एक भी है /usr/share/doc/rsyslog-[version], लेकिन यह स्रोत पैकेज से सिर्फ नोटिस है जैसे NEWSऔर ChangeLog)। अगर यह वहाँ है, यह html है, लेकिन स्टैक एक्सचेंज स्थानीय फ़ाइल लिंक एम्बेड करने की अनुमति नहीं देता है:

file://usr/share/doc/rsyslog-doc/index.html

इसलिए आप कॉपी पेस्ट करने की कोशिश कर सकते हैं। यदि यह नहीं है, तो यह एक अलग पैकेज का हिस्सा हो सकता है जो स्थापित नहीं है। अपने पैकेजिंग सिस्टम (उदाहरण के लिए, apt-cache search rsyslog | grep doc) को क्वेरी करें ।

कॉन्फ़िगरेशन में है /etc/rsyslog.conf, जिसमें एक मैनुअल पेज है, man rsyslog.confहालांकि जबकि मैनुअल पेज एक ठीक संदर्भ बनाता है, यह एक परिचय के रूप में कम मर्मज्ञ हो सकता है। सौभाग्य से, स्टॉक rsyslog.conf की बुनियादी बातें पारंपरिक syslog.conf के अनुरूप हैं, जिसके लिए कई परिचय और ट्यूटोरियल हैं। यह एक , उदाहरण के लिए; आप अपने स्थानीय rsyslog.conf को देखते हुए उससे जो लेना चाहते हैं, वह सुविधाओं और प्राथमिकताओं की समझ है ("प्राथमिकता" को कभी-कभी लॉज़वेल कहा जाता है), क्योंकि ये उपर्युक्त syslog मानक का हिस्सा हैं। कारण यह मानक महत्वपूर्ण है क्योंकि rsyslog वास्तव में कर्नेल के माध्यम से अपना सामान प्राप्त करता है, और कर्नेल लागू क्या मानक है।

$Rsyslog.conf में निर्देशों के संबंध में, ये rsyslog विशिष्ट हैं और यदि आप उस वैकल्पिक डॉक्टर पैकेज को स्थापित करते हैं, तो आप उन्हें एक गाइड पाएंगे rsyslog_conf_global.html

मज़े करो ... यदि आप उत्सुक हैं कि एप्लिकेशन सिस्टम लॉगर का उपयोग कैसे करते हैं, तो देखें man loggerऔर man 3 syslog

लॉग रोटेशन

लॉग को घुमाने का मानक साधन एक उपकरण के माध्यम से होता है जिसे logrotate(और वहां एक man logrotate) कहा जाता है । लॉग्रोटेट का उपयोग करने का आदर्श तरीका क्रोन डेमॉन के माध्यम से है , हालांकि इसे उस तरह से करने की ज़रूरत नहीं है (उदाहरण के लिए, यदि आप अपने डेस्कटॉप को हर रोज बंद कर देते हैं, तो आप शायद सिसोग्ल शुरू होने से पहले बस एक बार बूट कर सकते हैं लेकिन, जाहिर है, फाइलसिस्टम आरडब्ल्यू के माउंट होने के बाद)।

यहाँ लॉगरेट करने के लिए एक अच्छा परिचय है । ध्यान दें कि logrotate सिर्फ syslog सामान के लिए नहीं है , इसका उपयोग किसी भी फाइल के साथ किया जा सकता है। आधार कॉन्फ़िगरेशन फ़ाइल है /etc/logrotate.conf, लेकिन चूंकि कॉन्फ़िगरेशन में एक "शामिल" निर्देश है, आमतौर पर अधिकांश सामान /etc/logrotate.dनिर्देशिका में व्यक्तिगत फ़ाइलों में जाता है (यहां डी निर्देशिका के लिए है, डेमॉन नहीं; लॉगरोट एक डेमॉन नहीं है)।

लॉगरोटेट का उपयोग करते समय विचार करने के लिए एक महत्वपूर्ण बात यह है कि कैसे कोई एप्लिकेशन फिर से काम करेगा जब इसकी लॉग फ़ाइल "घुमाएगी" - दूसरे शब्दों में, स्थानांतरित हो गई - जबकि एप्लिकेशन चल रहा है। WRT (r) syslogd, यह सिर्फ उस लॉग पर लिखना बंद कर देगा (मुझे लगता है कि इसके लिए एक सुरक्षा औचित्य है)। इससे निपटने का सामान्य तरीका है कि आप syslog को पुनः आरंभ करें (और उसकी सभी फ़ाइलों को फिर से खोलें), यही कारण है कि आप postrotateलॉग इन करने के लिए एक निर्देश देखेंगे ।


2
यदि आप syslog-ngभी उल्लेख करते हैं, तो आपने लिखा होगा कि लिनक्स-लॉगिंग पर सभी कहना है। बहुत बढ़िया जवाब।
नेल्स

मैंने बहुत कुछ सीखा और मेरे पास पढ़ने के लिए और स्रोत हैं। धन्यवाद! Btw। अपाचे के लिए सिस्टम लॉगिंग का उपयोग करना बुरा क्यों होगा? और मुझे कौन से लॉग को पढ़ना चाहिए?
इर्कबवर्क

@ erikb85 1) अधिकतर क्योंकि अपाचे बहुत अधिक उत्पादन उत्पन्न करता है। मुझे लंबे समय में अपाचे को कॉन्फ़िगर करने की आवश्यकता नहीं है, इसलिए मुझे याद नहीं है कि एसआईएसलॉग के लिए विशिष्ट चीजों को भेजने के लिए डब्ल्यूआरटी कितना लचीला है (लेकिन मुझे बहुत लचीला लगता है) 2) डब्ल्यूआरटी लॉग जो आप पढ़ना चाहते हैं, एक नज़र है अपने में तर्क पर /etc/rsyslog.conf। उदाहरण के लिए: अक्सर एक निश्चित प्राथमिकता से ऊपर का सामान अंदर जाएगा /var/log/messages, और इससे नीचे का सामान अंदर जाएगा /var/log/notice। मुझे एक लॉग भी पसंद है जिसमें सब कुछ शामिल है, जो डबल और ट्रिपल ओवरलैप के लिए बनाता है, लेकिन अगर आप उन्हें घुमाएंगे तो यह कोई बड़ी बात नहीं है।
गोल्डीलॉक्स

बस पुष्टि करने के लिए, rsyslogएक डेमन रैपर आसपास नहीं है , है ना logrotate? ऐसा क्यों ?
थॉमस

@ थोमस वे विभिन्न उद्देश्यों को पूरा करते हैं, हालांकि (आर) syslog लॉगोट्रेट की आवश्यकता को रोकने के लिए रोटेशन को लागू कर सकता है। हालाँकि, उनके अलग होने का मतलब है कि आप syslog फ़ाइलों के अलावा अन्य चीज़ों पर लॉगरोटेट का उपयोग कर सकते हैं।
गोल्डीलॉक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.