CentOS 7 में लॉग्स को Rsyslog सर्वर पर भेजने के लिए Rsyslog क्लाइंट को कैसे सेटअप करें


नेटवर्क प्रबंधन में लॉग प्रबंधन सबसे महत्वपूर्ण घटक है। लॉग संदेश लगातार कई सिस्टम सॉफ़्टवेयर द्वारा उत्पन्न होते हैं, जैसे उपयोगिताओं, एप्लिकेशन, डेमॉन, नेटवर्क से संबंधित सेवाएं, कर्नेल, भौतिक उपकरण और इतने पर।

लिनक्स सिस्टम समस्याओं के निवारण के मामले में लॉग फाइलें उपयोगी साबित होती हैं, सिस्टम की निगरानी करती हैं और सिस्टम सुरक्षा ताकत और समस्याओं की समीक्षा करती हैं।

Rsyslog एक ओपन सोर्स लॉगिंग प्रोग्राम है, जो बड़ी संख्या में लिनक्स वितरण में सबसे लोकप्रिय लॉगिंग तंत्र है। यह CentOS 7 या RHEL 7 में डिफ़ॉल्ट लॉगिंग सेवा भी है।

CentOS में Rsyslog डेमन को कई नेटवर्क उपकरणों से लॉग संदेश एकत्र करने के लिए सर्वर के रूप में चलाने के लिए कॉन्फ़िगर किया जा सकता है। ये उपकरण क्लाइंट के रूप में कार्य करते हैं और अपने लॉग को rsyslog सर्वर पर संचारित करने के लिए कॉन्फ़िगर किए जाते हैं।

हालांकि, क्लाइंट मोड में Rsyslog सेवा को भी कॉन्फ़िगर और शुरू किया जा सकता है। यह सेटअप टीसीपी या यूडीपी परिवहन प्रोटोकॉल का उपयोग करके दूरस्थ संदेश को दूरस्थ रूप से लॉग्स संदेश में अग्रेषित करने के लिए rsyslog डेमॉन को निर्देश देता है। एक ही समय में क्लाइंट के रूप में और सर्वर के रूप में चलाने के लिए रुपयेलॉग सेवा को भी कॉन्फ़िगर किया जा सकता है।

इस ट्यूटोरियल में हम वर्णन करते हैं कि दूरस्थ रुपी सर्वर पर लॉग संदेश भेजने के लिए CentOS/RHEL 7 Rsloglog डेमॉन सेटअप कैसे करें। यह सेटअप सुनिश्चित करता है कि आपके मशीन डिस्क स्थान को अन्य डेटा संग्रहीत करने के लिए संरक्षित किया जा सकता है।

वह स्थान जहाँ CentOS में डिफ़ॉल्ट रूप से लगभग सभी लॉग फ़ाइलें लिखी जाती हैं, /var सिस्टम पथ है। /var निर्देशिका के लिए हमेशा एक अलग विभाजन बनाने की सलाह दी जाती है, जो कि /(root) विभाजन को समाप्त न करने के लिए गतिशील रूप से विकसित किया जा सकता है।

एक Rsyslog क्लाइंट हमेशा लॉग टेक्स्ट को सादे पाठ में भेजता है, यदि अन्यथा निर्दिष्ट नहीं किया गया है। आपको इंटरनेट या नेटवर्क पर लॉग संदेशों को प्रसारित करने के लिए एक रुपये के क्लाइंट को सेटअप नहीं करना चाहिए जो आपके पूर्ण नियंत्रण में नहीं हैं।

  1. CentOS 7.3 Installation Procedure
  2. RHEL 7.3 Installation Procedure
  3. Configure a Rsyslog Server in CentOS/RHEL 7

चरण 1: सत्यापित करें Rsyslog स्थापना

1। डिफ़ॉल्ट रूप से, Centlog 7 सिस्टम में रूपल डेमॉन पहले से ही स्थापित और चल रहा है। सिस्टम में rsyslog सेवा मौजूद है या नहीं, यह सत्यापित करने के लिए, निम्न आदेश जारी करें।

# rpm -q | grep rsyslog
# rsyslogd -v

2। यदि CentOS में Rsloglog पैकेज स्थापित नहीं है, तो सेवा को स्थापित करने के लिए नीचे दिए गए कमांड को निष्पादित करें।

# yum install rsyslog

चरण 2: क्लाइंट के रूप में रुपयेलॉग सेवा को कॉन्फ़िगर करें

3। किसी लॉग क्लाइंट के रूप में कार्य करने के लिए CentOS 7 सिस्टम पर स्थापित रूपल डेमॉन को लागू करने के लिए और स्थानीय रूप से उत्पन्न लॉग संदेशों के सभी को दूरस्थ रूप से सर्वर सर्वर पर रूट करने के लिए, संशोधित करें rsyslog कॉन्फ़िगरेशन फ़ाइल निम्नानुसार है:

सबसे पहले संपादन के लिए मुख्य विन्यास फाइल खोलें।

# vi /etc/rsyslog.conf

फिर, नीचे दिए गए अंश में चित्र के अनुसार फ़ाइल के अंत में नीचे की रेखा को जोड़ दें।

*. *  @192.168.10.254:514

उपर्युक्त पंक्ति यह सुनिश्चित करती है कि आप दूरस्थ rsyslog सर्वर के FQDN के IP पते को उसके अनुसार बदल दें। उपरोक्त पंक्ति सुविधा या गंभीरता की परवाह किए बिना IP 192.168.10.254 के माध्यम से 514/UDP पोर्ट के साथ होस्ट करने के लिए सभी लॉग संदेश भेजने के लिए Rsloglog डेमॉन को निर्देश देती है।

4। यदि दूरस्थ लॉग सर्वर केवल टीसीपी कनेक्शन पर सुनने के लिए कॉन्फ़िगर किया गया है या आप एक विश्वसनीय परिवहन नेटवर्क प्रोटोकॉल का उपयोग करना चाहते हैं, जैसे कि टीसीपी, एक और @ वर्ण सामने जोड़ें। दूरस्थ मेजबान के रूप में नीचे उदाहरण में दिखाया गया है:

*. *  @@logs.domain.lan:514

लिनक्स rsyslog में कुछ विशेष वर्ण भी होते हैं, जैसे कि = या , जो कि प्राथमिकता के स्तर पर उपसर्ग कर सकते हैं " यह प्राथमिकता केवल इंगित करने के लिए। "समान चिह्न के लिए और" यह प्राथमिकता या इस से अधिक नहीं है।

CentOS 7 में Rsyslog प्राथमिकता स्तर के क्वालिफायर के कुछ नमूने:

  • kern.info = kernel logs with info priority and higher.
  • kern.=info = only kernel messages with info priority.
  • kern.info;kern.!err = only kernel messages with info, notice, and warning priorities.
  • kern.debug;kern.!=warning = all kernel priorities except warning.
  • kern.* = all kernel priorities messages.
  • kern.none = don’t log any related kernel facility messages regardless of the priority.

उदाहरण के लिए, मान लें कि आप केवल एक विशिष्ट सुविधा संदेश किसी दूरस्थ लॉग सर्वर पर भेजना चाहते हैं, जैसे कि प्राथमिकता स्तर की परवाह किए बिना सभी संबंधित मेल संदेश, नीचे पंक्ति rsyslog कॉन्फ़िगरेशन फ़ाइल में जोड़ें:

mail.* @192.168.10.254:514 

5। अंत में, नए कॉन्फ़िगरेशन को लागू करने के लिए, नीचे दिए गए आदेश को चलाने के लिए डेमॉन को परिवर्तनों को पिक-अप करने के लिए, फिर से शुरू करने की आवश्यकता है।

# systemctl restart rsyslog.service

6। यदि कुछ कारणों से बूट समय के दौरान रुपएलॉग डेमोन सक्षम नहीं है, तो नीचे दिए गए आदेश को सेवा प्रणाली को चौड़ा करने के लिए जारी करें:

# systemctl enable rsyslog.service

चरण 3: Apache और Nginx लॉग को रिमोट लॉग सर्वर पर भेजें

7। अपाचे एचटीटीपी सर्वर को निम्न उदाहरण में सचित्र के रूप में निम्न लाइन को इसकी मुख्य विन्यास फाइल में जोड़कर किसी दूरस्थ syslog सर्वर पर लॉग संदेश भेजने के लिए कॉन्फ़िगर किया जा सकता है।

# vi /etc/httpd/conf/httpd.conf

अपाचे मुख्य conf फाइल पर नीचे की पंक्ति जोड़ें।

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

लाइन HTTP डेमॉन को लागू करेगी लॉग संदेश को फाइलसिस्टम लॉग फाइल में आंतरिक रूप से लिखने के लिए, लेकिन संदेश को एक पाइप से लकड़हारा उपयोगिता के लिए आगे भी संसाधित करता है, जो उन्हें स्थानीय s1 के रूप में चिह्नित करके दूर के syslog सर्वर पर भेज देगा। सुविधा।

8। यदि आप भी निर्देशन करना चाहते हैं अपाचे त्रुटि संदेश दूरस्थ syslog सर्वर पर लॉग इन करते हैं, तो उपरोक्त उदाहरण में प्रस्तुत किए गए एक के रूप में एक नया नियम जोड़ें, लेकिन प्रतिस्थापित करना सुनिश्चित करें http लॉग फ़ाइल का नाम और त्रुटि प्राथमिकता से मेल करने के लिए लॉग फ़ाइल गंभीरता स्तर, जैसा कि निम्नलिखित नमूने में दिखाया गया है:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

9। जब आप उपरोक्त पंक्तियाँ जोड़ लेते हैं, तो आपको निम्न आदेश जारी करके, परिवर्तनों को लागू करने के लिए अपाचे डेमॉन को फिर से शुरू करना होगा:

# systemctl restart httpd.service                 

10। संस्करण के रूप में 1.7.1 , निगनेक्स वेब सर्वर में निर्माण क्षमताएँ हैं ताकि अपने संदेश को सीधे दूरस्थ syslog सर्वर पर लॉग इन कर सकें, निम्न पंक्तियों को जोड़कर एक nginx कॉन्फ़िगरेशन फ़ाइल के लिए कोड।

error_log syslog:server=192.168.1.10:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.10.254:514,facility=local7,tag=nginx,severity=info main;

IPv6 सर्वर के लिए, IPv6 पते को संलग्न करने के लिए निम्न सिंटैक्स प्रारूप का उपयोग करें।

access_log syslog:server=[7101:dc7::9]:514,facility=local7,tag=nginx,severity=info;

11। दूरस्थ रुपीलॉग सर्वर पर आपको अपाचे वेब सर्वर द्वारा लॉग भेजने के लिए, rsyslog कॉन्फ़िगरेशन फ़ाइल में निम्न परिवर्तन करने की आवश्यकता होती है।

local1.* @Apache_IP_address:514

बस इतना ही! आपने क्लाइंट मोड में चलने के लिए Rsloglog डेमॉन को सफलतापूर्वक कॉन्फ़िगर किया है और, आपने अपने लॉग संदेशों को अग्रेषित करने के लिए Apache HTTP सर्वर या Nginx का निर्देश दिया है। एक दूरस्थ syslog सर्वर के लिए।

यदि आप सिस्टम क्रैश करते हैं, तो आपको लॉग फाइल सामग्री का निरीक्षण करके समस्या की जांच करने में सक्षम होना चाहिए जो दूरस्थ syslog सर्वर पर संग्रहीत हैं।