पुराने जर्नलैक्ट लॉग कैसे देखें (शायद रोटेशन के बाद?)


23

मैं ubuntu 16.04 पर डॉक कर रहा हूं और लॉग देखना चाहूंगा। हालाँकि, मैं लॉग्स को देखने में असमर्थ हूं कि मैं जो अनुमान लगा रहा हूं वह किसी प्रकार का रोटेशन है या लॉग एक निश्चित आकार तक बढ़ता है।

मैंने अपनी journal..conf में कोई बदलाव नहीं किया है, इसलिए मैं वहां चूक का उपयोग कर रहा हूं।

मैं जो देख रहा हूँ उसके उदाहरण:

systemctl docker statusपुष्टिकरण सेवा सक्रिय है since Thu 2016-10-13 18:56:28 UTC

हालाँकि, जब मैं कुछ चलाता हूं journalctl -u docker.service --until "2016-10-13 22:00"- मुझे जो एकमात्र आउटपुट मिलता है -- Logs begin at Fri 2016-10-14 01:18:49 UTC, end at Fri 2016-10-14 16:18:25 UTC. --वह है मैं उस रेंज में लॉग को उम्मीद के मुताबिक देख सकता हूं।

मेरा सवाल यह है कि मैं जर्नलैक्ट के साथ पुराने लॉग क्यों नहीं देख सकता हूं, और मैं इस समस्या को कैसे ठीक कर सकता हूं ताकि मैं लॉग देख सकूं?

जवाबों:


15

ऐसा इसलिए हो सकता है क्योंकि आप अंतिम बूट के बाद से पत्रिका की समीक्षा करने की कोशिश कर रहे हैं, जो कि एक डॉकटर छवि के अंदर मामला होने की संभावना है।

Ubuntu 16.04 पर, जर्नल स्टोरेज इन-मेमोरी में होने से चूक जाता है। आप डिफ़ॉल्ट बदलने खोलने के द्वारा लगातार हो सकता है /etc/systemd/journald.confऔर बदलते Storage=से लाइन autoके लिए persistentsystemctl restart systemd-journaldकॉन्फ़िगरेशन फ़ाइल संपादित करने के बाद आपको जर्नल को पुनरारंभ करना पड़ सकता है ।

मुझे लगता है कि पत्रिका को लगातार डिफ़ॉल्ट होना चाहिए , इसलिए मैंने इसके बारे में एक बग खोला।


मैं आपसे सहमत हूं कि यह डिफ़ॉल्ट रूप से लगातार होना चाहिए (और उस सेटिंग को बदल देगा), लेकिन मुझे यकीन है कि इस मशीन को रिबूट नहीं किया गया है, इसलिए मैं 100% आश्वस्त नहीं हूं कि अकेले ही मेरी समस्या का समाधान होगा। फिर भी खुशी है कि आपने उस मुद्दे को दर्ज किया।
jdf

कुछ शर्तों के तहत, लॉग अधूरा मेटाडेटा के साथ जर्नल में उतर सकता है, ताकि पूर्ण journalctlआउटपुट की समीक्षा करते समय उन्हें पाया जा सके लेकिन यूनिट लॉग नहीं। यह एक इकाई के बन्द होने से ठीक पहले मुद्दों को लॉग करने के लिए जाना जाता है। लॉग को जर्नल में भेजा जाता है, और फिर जर्नल मेटाडेटा के लिए एक क्वेरी जारी करता है। कभी-कभी इस बीच प्रक्रिया मौजूद होती है। हालांकि यह भी नहीं लगता है कि यह आपके मामले के लिए एकदम सही है, हालाँकि।
मार्क स्टोसबर्ग

3

ऐसा इसलिए होता है क्योंकि संग्रहित किए गए जर्नल फाइलों के आकार में चूक होती है। डॉक्स में इस बारे में अधिक विवरण है । यह उस पूरे खंड को पढ़ने लायक है जिसे मैंने लिंक किया है, लेकिन चूक इस तरह काम करती है:

journald will use 10% of the disk or 4G, whichever is smaller.

journald will leave free 15% of the disk or 4G, whichever is larger.

अंतिम बूट से लॉग देखने के लिए, मान लें कि आप Storage=persistentअपने जर्नल में हैं ।conf, अन्य उत्तर नोटों के रूप में, आप केवल पिछले बूट से लॉग प्राप्त करने के लिए कमांड --boot=-1पर ध्वज का उपयोग कर सकते हैं journalctl

ओपी के मामले में जहां वे सुनिश्चित थे कि मेजबान को रिबूट नहीं किया गया था, लॉग्स का नुकसान बस SystemMaxUseऔर / या SystemKeepFreeचूक के कारण हुआ था ।

नोट: मैं ओपी हूं और इस सवाल में अभी भी छलावा है, इसलिए जब से मैंने जर्नल (और आरटीएफएम) के साथ अधिक अनुभव प्राप्त किया है, मैं इसे यहां पोस्ट कर रहा हूं आशा है कि यह दूसरों की मदद करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.