लॉगिंग लिनक्स सर्वर प्रबंधन का एक महत्वपूर्ण पहलू है। लॉग संदेश मूल कारण विश्लेषण और भविष्य में संभावित त्रुटि घटनाओं से बचने के लिए उपयोगी होते हैं। सर्वर त्रुटियों का विश्लेषण और डिबगिंग आईटी इंजीनियरों और सिस्टम प्रशासक दोनों के लिए एक मुख्य कौशल है।
यह मार्गदर्शिका आपको बताएगी कि लिनक्स पर एक दूरस्थ लॉगिंग सर्वर, जिसे लॉग होस्ट के रूप में भी जाना जाता है, कैसे सेट किया जाए। एक लॉग होस्ट आपको एक्सेस और विश्लेषण में आसानी के लिए एक दूरस्थ केंद्रीकृत सर्वर के लिए स्थानीय लिनक्स लॉग को एकत्रित करने की अनुमति देता है।
एक समर्पित लॉग सर्वर क्यों है?
Linux ऑपरेटिंग सिस्टम syslog (सिस्टम लॉगिंग प्रोटोकॉल) डेमॉन का उपयोग करके ऑडिटिंग और डिबगिंग के लिए आपके सर्वर पर अधिकांश गतिविधियों को लॉग करता है। तो आप सोच रहे होंगे कि मुझे अपने लॉग के लिए एक समर्पित सर्वर की आवश्यकता क्यों है? यहाँ एक समर्पित लॉगिंग सर्वर होने के कुछ लाभ दिए गए हैं:
- बेहतर सुरक्षा क्योंकि दूरस्थ लॉगिंग सर्वर में केवल कुछ ही पोर्ट बाहर की ओर खुले होते हैं।
- बेहतर सर्वर प्रदर्शन क्योंकि दूरस्थ लॉगिंग होस्ट लॉगिंग के लिए उपयोग की जाने वाली सेवाओं को छोड़कर कई सेवाओं को नहीं चलाता है।
- लॉग संदेशों के संग्रह और प्रबंधन को आसान बनाता है।
लॉग संदेश आपके सर्वर और बेस-लाइनिंग के ऑडिट के लिए महत्वपूर्ण हैं और आपके सर्वर इन्फ्रास्ट्रक्चर पर निवारक रखरखाव प्रक्रियाओं का एक मुख्य हिस्सा हैं।
चरण 1: लिनक्स पर rsyslog स्थापित करना
यह मार्गदर्शिका उबंटू 20.04 पर केंद्रित है, लेकिन यदि आप अन्य मुख्यधारा के लिनक्स डिस्ट्रो का उपयोग कर रहे हैं तो प्रक्रिया बहुत समान होनी चाहिए।
rsyslog Linux के लिए एक दूरस्थ लॉगिंग सेवा है और अधिकांश आधुनिक Linux डिस्ट्रोज़ पर डिफ़ॉल्ट रूप से पूर्वस्थापित होती है, उदाहरण के लिए, उबंटू और अन्य डेबियन-आधारित सिस्टम।
rsyslog सेवा syslog के लिए एक आधुनिक और उन्नत डेमॉन है, जो आपको केवल स्थानीय रूप से लॉग प्रबंधित करने की अनुमति देता है। rsyslog डेमॉन के साथ, आप अपने स्थानीय लॉग को कुछ कॉन्फ़िगर किए गए दूरस्थ Linux सर्वर पर भेज सकते हैं।
यदि आपके पास अपने पीसी पर rsyslog स्थापित नहीं है, तो आप डेबियन-आधारित डिस्ट्रो पर निम्न कमांड का उपयोग करके आसानी से ऐसा कर सकते हैं:
sudo apt rsyslog स्थापित करें
Red Hat Linux पर, आप इसे टाइप करके संस्थापित कर सकते हैं:
यम rsyslog स्थापित करें
फेडोरा और उसके डेरिवेटिव पर, चलाएँ:
dnf rsyslog स्थापित करें
आर्क लिनक्स पर rsyslog स्थापित करने के लिए:
याय -एस rsyslog
Rsyslog की स्थिति की जाँच करने के लिए, निम्न कमांड चलाएँ:
systemctl स्थिति rsyslog
आउटपुट:
चरण 2: लॉग होस्ट सर्वर को कॉन्फ़िगर करना
लॉग होस्ट अन्य सर्वर या पीसी से लॉग संदेश प्राप्त करने के लिए कॉन्फ़िगर किया गया सर्वर है। rsyslog विन्यास इसमें रहता है /etc/rsyslog.conf फ़ाइल।
आप खोल सकते हैं /etc/rsyslog.conf फ़ाइल का उपयोग कर आपकी पसंद का कोई भी टेक्स्ट एडिटर. इस गाइड में, हम विम का उपयोग करेंगे।
कॉन्फ़िगरेशन फ़ाइल में परिवर्तन करने के लिए आपको उन्नत विशेषाधिकारों की आवश्यकता होगी।
इससे पहले कि आप कॉन्फिग फाइल को एडिट करना शुरू करें, आपको फाइल का बैकअप या कॉपी ले लेनी चाहिए। ऐसा करने के लिए, कमांड चलाएँ:
sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config
अगला, खोलें /etc/rsyslog.conf एक पाठ संपादक का उपयोग कर फ़ाइल।
सुडो विम /etc/rsyslog.conf
दो प्रोटोकॉल हैं जिनका उपयोग आप rsyslog के साथ लॉग फाइल भेजने/प्राप्त करने के लिए कर सकते हैं: टीसीपी और यूडीपी। यह मार्गदर्शिका आपको दिखाती है कि दोनों को कैसे कॉन्फ़िगर किया जाए।
काम करने के लिए रिमोट लॉगिंग के लिए आपको यूडीपी और टीसीपी दोनों को कॉन्फ़िगर करने की आवश्यकता नहीं है। केवल दो में से एक चुनें।
यदि आप यूडीपी का उपयोग करना पसंद करते हैं, तो निम्न पंक्तियों को देखें और उन पर टिप्पणी हटाएँ पौंड (#) लाइनों से पहले का प्रतीक। आप इन पंक्तियों को कॉन्फ़िग फ़ाइल के मॉड्यूल अनुभाग के अंतर्गत पा सकते हैं।
मॉड्यूल (लोड = "imudp")
इनपुट (प्रकार = "imudp" पोर्ट = "514")
यदि आप टीसीपी का उपयोग करना पसंद करते हैं, तो अग्रणी को हटाकर निम्नलिखित पंक्तियों को अनकम्मेंट करें पौंड (#) लाइनों की शुरुआत में स्थित प्रतीक:
मॉड्यूल (लोड = "आईएमटीसीपी")
इनपुट (प्रकार = "imtcp" पोर्ट = "514")
निम्न आंकड़ा यूडीपी संचार का उपयोग करने के लिए कॉन्फ़िगर की गई rsyslog कॉन्फ़िगरेशन फ़ाइल दिखाता है:
इसके बाद, उस स्थान को कॉन्फ़िगर करें जहां rsyslog आपके लॉग को संग्रहीत करेगा। बेहतर संगठन के लिए, आपको आने वाले लॉग को उनके मूल के आधार पर वर्गीकृत करना चाहिए। निम्नलिखित पंक्तियों को जोड़कर अपनी rsyslog विन्यास फाइल में एक टेम्पलेट परिभाषित करें:
$टेम्प्लेट रिमोट-इनकमिंग-लॉग्स, "/var/log/remote/%HOSTNAME%".log
*.* ?रिमोट-इनकमिंग-लॉग्स
उपरोक्त पंक्तियाँ लॉग को फ़ोल्डर में संग्रहीत करने के लिए rsyslog का आदेश देती हैं /var/log/remote/hostname, कहाँ पे होस्ट नाम दूरस्थ क्लाइंट का नाम है जो लॉग होस्ट को लॉग संदेश भेज रहा है।
अब, अपने द्वारा किए गए परिवर्तनों को सहेजें। यदि आप विम का उपयोग कर रहे हैं, फ़ाइल को सहेजने और छोड़ने का तरीका यहां दिया गया है.
अंत में, आपके द्वारा प्रभावी होने के लिए किए गए परिवर्तनों के लिए rsyslog सेवाओं को पुनरारंभ करें।
sudo systemctl पुनरारंभ करें rsyslog
चरण 3: अपने फ़ायरवॉल को कॉन्फ़िगर करना
यदि आपका फ़ायरवॉल सक्षम है, तो सुनिश्चित करें कि आपके द्वारा ऊपर कॉन्फ़िगर किया गया पोर्ट बाहरी दुनिया के साथ संचार करने में सक्षम है। आने वाले लॉग की अनुमति देने के लिए आपको अपने फ़ायरवॉल नियमों को संपादित करना होगा।
डेबियन-आधारित डिस्ट्रोस के लिए, यूडीपी या टीसीपी ट्रांसफर प्रोटोकॉल को सक्षम करने के लिए बस यूएफडब्ल्यू टूल का उपयोग करें।
संबंधित: UFW का उपयोग करके Ubuntu में फ़ायरवॉल को कैसे कॉन्फ़िगर करें
यदि आप UDP का उपयोग कर रहे हैं, तो निम्न कमांड चलाएँ, जहाँ 514 कॉन्फ़िगर किया गया पोर्ट नंबर है:
सुडो यूएफडब्ल्यू 514/यूडीपी
यदि आप पोर्ट 514 पर TCP का उपयोग कर रहे हैं, तो बस चलाएँ:
सुडो यूएफडब्ल्यू 514/टीसीपी
फेडोरा पर, आप उपयोग कर सकते हैं फ़ायरवॉल-cmd समान परिणाम प्राप्त करने के लिए।
फ़ायरवॉल-cmd --zone=zone --add-port=514/udp
Red Hat Linux के लिए, खोलें आईपीटेबल्स पर स्थित फ़ाइल /etc/sysconfig/iptables अपनी पसंद के टेक्स्ट एडिटर का उपयोग करके, और निम्नलिखित नियम जोड़ें:
-एक इनपुट-एम राज्य --राज्य नया-एम यूडीपी-पी यूडीपी --dport 514-जे स्वीकार करें
परिवर्तनों को प्रभावी करने के लिए iptables सेवा को पुनरारंभ करें।
सेवा iptables पुनरारंभ करें
चरण 4: लॉगिंग क्लाइंट को कॉन्फ़िगर करना
क्लाइंट वह मशीन है जो अपने लॉग को दूरस्थ या केंद्रीकृत लॉग होस्ट सर्वर पर भेजता है। पर स्थित rsyslog कॉन्फ़िग फ़ाइल खोलें /etc/rsyslog.conf:
सुडो विम /etc/rsyslog.conf
यदि आप यूडीपी का उपयोग कर रहे हैं, तो निम्न पंक्ति जोड़ें, जहां 192.168.12.123 रिमोट सर्वर का आईपी पता है, आप अपने लॉग यहां लिखेंगे:
*.* @192.168.12.123:514
यदि आप TCP का उपयोग कर रहे हैं, तो इसके बजाय निम्न पंक्ति जोड़ें। ध्यान दें कि रेखा में दो हैं @ प्रतीक
*.* @@192.168.12.123:514
अपने परिवर्तन सहेजें और क्लाइंट पर कमांड के साथ rsyslog सेवा को पुनरारंभ करें:
sudo systemctl पुनरारंभ करें rsyslog
चरण 5: सर्वर पर लॉग संदेश देखना
आप अपने दूरस्थ सर्वर में लॉग इन करने और क्लाइंट सर्वर से भेजे गए लॉग देखने के लिए SSH का उपयोग कर सकते हैं। इस स्थिति में, rsyslog को कॉन्फ़िगर किया गया है ताकि यह क्लाइंट लॉग को इसमें संग्रहीत करे /var/log/remote दूरस्थ सर्वर की निर्देशिका।
सीडी /var/logs/रिमोट
फिर निर्देशिका की सामग्री का उपयोग करके सूचीबद्ध करें एलएस कमांड:
एलएस -एल
जैसा कि आप आउटपुट में देख सकते हैं, निर्देशिका में नाम के दूरस्थ सर्वर के लिए लॉग संदेश हैं आंडीवा तथा रुकुरु. उनकी लॉग फाइलों का नाम है andiwa.log तथा रुकुरु.लोग क्रमश।
फिर आप टेक्स्ट एडिटर का उपयोग करके या इसके साथ लॉग फाइलों को देख सकते हैं Linux फ़ाइल देखने के उपकरण जैसे बिल्ली या उससे कम।
रिमोट लॉगिंग आपको अधिक नियंत्रण देता है
इस गाइड ने देखा है कि लिनक्स पर रिमोट लॉगिंग सर्वर (लॉग होस्ट) कैसे सेट किया जाए।
जब लॉगिंग की बात आती है तो एक लॉग होस्ट आपको बेहतर संगठन और नियंत्रण प्रदान करता है। यहां तक कि उन परिदृश्यों में जहां कोई सिस्टम क्षतिग्रस्त या दुर्गम है, आप अभी भी लॉग होस्ट से इसके लॉग देख सकते हैं और पता लगा सकते हैं कि क्या गलत हुआ।
Linux में सिस्टम लॉगिंग के साथ शुरुआत करना
आगे पढ़िए
संबंधित विषय
- लिनक्स
- तंत्र अध्यक्ष
- लिनक्स कमांड
लेखक के बारे में
मविज़ा पेशे से सॉफ्टवेयर विकसित करता है और लिनक्स और फ्रंट-एंड प्रोग्रामिंग पर व्यापक रूप से लिखता है। उनके कुछ हितों में इतिहास, अर्थशास्त्र, राजनीति और उद्यम-वास्तुकला शामिल हैं।
हमारे न्यूज़लेटर की सदस्यता लें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें