मैं नेटवर्क सिस्टम से syslog लॉग कैसे प्राप्त कर सकता हूं?


23

मैं डीडी-डब्ल्यूआरटी राउटर से लॉग प्राप्त करने के लिए उबंटू को कॉन्फ़िगर करना चाहता हूं। राउटर की कॉन्फ़िगरेशन स्क्रीन में निम्न अनुभाग होता है:

DD-WRT सिस्टम लॉग

और इसके लॉगिंग दस्तावेज़ पढ़ता है:

यदि आप किसी दूरस्थ सिस्टम में लॉग भेजना चाहते हैं, तो उस मशीन का आईपी पता दर्ज करें, जो एक सिसलॉग यूटिलिटी भी चला रहा है (यह राउटर द्वारा भेजे जा रहे लॉग को स्वीकार करने के लिए एक ओपन नेटवर्क सॉकेट की आवश्यकता है)।

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


मेरा मोटोरोला सर्फबोर्ड एक्सट्रीम SBG901 में आपके DD-WRT के समान सेटिंग्स हैं। बस मैंने सोचा कि मैं इस q / a के लिए अन्य लोगों के लिए उस कीवर्ड को जोड़ दूंगा।
hobs

जवाबों:


23

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

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

पहला संपादन करने के लिए है /etc/rsyslogd.conf, और #निम्नलिखित लाइनों से प्रारंभिक को हटा दें :

# $ मोडलॉड इमडप
# $ UDPServerRun 514

या

# $ मोडलॉड imtcp
# $ InputTCPServerRun 514

दूसरा एक नई फ़ाइल, शायद नामित बनाने के लिए है local-enable-tcp.confमें /etc/rsyslog.d/निम्नलिखित सामग्री के साथ,:

# TCP syslog रिसेप्शन सक्षम करें
$ मोदलाद imtcp
$ InputTCPServerRun 514

यदि आप अलग फ़ाइल दृष्टिकोण का उपयोग करना चाहते हैं, और UDP की आवश्यकता है, तो उपरोक्त UDP श्लोक से मिलान करने के लिए सामग्री बदलें। विशिष्ट फ़ाइल नाम महत्वपूर्ण नहीं है, लेकिन इसे "स्थानीय" के साथ शुरू करने की सिफारिश की गई है क्योंकि यह नाम स्थान स्थानीय व्यवस्थापक कॉन्फ़िगरेशन के लिए आरक्षित है, और इसे ".conf" के साथ समाप्त होना चाहिए, क्योंकि इस तरह समाप्त होने वाली फाइलें स्वचालित रूप से शामिल होती हैं। rsyslog कॉन्फ़िगरेशन।

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


1
एक दो अंकों की संख्या के साथ फ़ाइल का नाम शुरू करने के लिए एक अच्छा विचार होना चाहिए, अन्य मौजूदा -conn फ़ाइलों के संबंध में आदेश स्थापित करें।
enzotib

हेह, अच्छी तरह से जटिल हो सकता है। कोई कारण नहीं है कि एक पैकेज का नाम दो अंकों की संख्या के साथ शुरू नहीं हो सकता है, और .d / $ {पैकेज} - .conf सभी संकुल के लिए आरक्षित हैं (हालांकि किसी के लिए संघर्ष होने की संभावना नहीं है जैसे 72-स्थानीय-myconf.conf )। दूसरे, कॉन्फ़िगरेशन फ़ाइलों को लिखने की कोशिश करना महत्वपूर्ण है ताकि ऑर्डर महत्वपूर्ण न हो। उदाहरण के लिए, काल्पनिक "0access" पैकेज से 0access.conf द्वारा प्रदान की गई एक कॉन्फ़िगरेशन फ़ाइल दो अंकों की संख्या के साथ शुरू होने वाली अधिकांश कॉन्फ़िगरेशन फ़ाइलों से पहले लागू की जाएगी।
एम्मेट हिकरी

1
आपको अपनी लॉग फ़ाइल के स्वामित्व को बदलने की आवश्यकता हो सकती है: sudo chown syslog:adm /var/log/syslogया आपने अपनी लॉग फ़ाइल को जो भी नाम दिया है।
hobs

6

एक अन्य विकल्प syslog- एनजी का उपयोग करना है, उपयोग करना आसान है, और अभी तक जाने के लिए तैयार है!

sudo apt-get install syslog-ng

इसे स्थापित करने के बाद, हमारे पास /etc/syslog-ng/syslog-ng.conf में एक गोपनीय फ़ाइल है, इसलिए बस इसे अपने मापदंडों के साथ .conf संपादित करें, लेकिन इससे पहले, डिफ़ॉल्ट कॉन्फ़िग फ़ाइल का बैकअप बना लें, यदि यह उपयोगी हो सकता है। आप कुछ मापदंडों को ट्यूनिंग करना चाहते हैं

sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak

अब नई config फाइल बनाएं और उसे एडिट करें!

sudo touch /etc/syslog-ng/syslog-ng.conf
sudo nano /etc/syslog-ng/syslog-ng.conf

इसलिए, काम करने के लिए बस इस मूल कॉन्फिग को पेस्ट करें:

# Listening to incoming UDP Syslog connections
source mysource { udp(); };

#Add the syslog targets:

destination dest { file("/var/log/Cisco$YEAR$MONTH$R_DAY.log"); };
#destination dest_other_server { udp("1.2.3.4" port(514)); };
#Create the filters that will be used to determine what to do with the received syslog message

#filter filter { ( host("2.3.4.5") and level(notice) and match("username=.*@domain\.local" value("MESSAGE") flags("utf8" "ignore-case")) ); };
filter myfilter { ( level(notice) ); };
#And putting it all together:

log { source(mysource); filter(myfilter); destination(dest);  };

जितना आसान आप देख सकते हैं। ध्यान रखें!


-2

मूल रूप से, आप लॉग ऑन करने के लिए dd-wrt राउटर के लिए अपने सर्वर पर एक डेमॉन (जिसे syslogd कहा जाता है) चलाते हैं।

ट्यूटोरियल- http://www.techiecorner.com/1479/how-to-setup-syslog-server-in-ubuntu/


5
एक पुराने गाइड के पते को पोस्ट करने से बचें, यहां तक ​​कि यह जांचें कि क्या उनके निर्देश अभी भी मान्य हैं। गाइड में नामित फाइलें अब मौजूद नहीं हैं। उबंटू rsyslog का उपयोग करता है।
enzotib

@enzotib - जबकि मैं मानता हूं कि इसमें गुणवत्ता की कमी है और इस लिंक से बचना चाहिए, यह पता चलता है कि इस जवाब ने मुझे वही प्रदान किया जिसकी मुझे उबंटू 8.04 सर्वर पर समान कार्य प्राप्त करने की आवश्यकता थी। यहां तीन उत्तर दिए गए हैं, सभी तीन अलग-अलग प्रकार के सिसलॉग के लिए हैं जो अभी भी उत्पादन प्रणालियों में उपयोग किए जा रहे हैं । यह उत्तर उपयोगी था। इसे मुझसे +1 मिलता है।
घोटी

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