जवाबों:
यदि syslog
सुविधा के माध्यम से क्लाइंट सर्वर पर लॉग फाइलें उत्पन्न की जा रही हैं, तो सबसे अच्छा तरीका है कि ग्राहकों को डायस्पॉन डेमॉन को सेटअप करने के लिए अलग लॉग में होस्ट करें। उदाहरण के लिए, यदि मेरे पास एक आंतरिक नाम है syslog.private
जो दूरस्थ सर्वर को इंगित करता है जिसे मैं लॉग प्रविष्टियों को प्राप्त करना चाहता हूं। मैं /etc/syslog.conf
क्लाइंट सर्वर पर निम्न पंक्ति जोड़ सकता हूं ।
*.* @syslog.private
और फिर क्लाइंट पर syslog डेमॉन को पुनरारंभ करें
service syslog reload
यह हर प्रविष्टि का कारण होगा जो क्लाइंट syslog से होकर तार के पार भेजा जाएगा syslog.private
और यदि वह मशीन सही तरीके से कॉन्फ़िगर की गई है, तो प्रविष्टियां वहां भी उपलब्ध होंगी। RedHat सिस्टम में यह /etc/sysconfig/syslog
फ़ाइल द्वारा नियंत्रित किया जाता है। सुनिश्चित करें कि -r
विकल्प मौजूद है
% grep "SYSLOGD" /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m 0 -r"
और फिर प्राप्त सर्वर पर syslog डेमॉन को पुनरारंभ करें।
आप यह भी नियंत्रित कर सकते हैं कि बहिष्करण जोड़कर दूरस्थ सर्वर को क्या अग्रेषित किया गया है, नीचे दिए गए उदाहरण को देखें
*.*;mail.none @syslog.private
जो कहता syslog.private
है कि mail
सुविधा के लिए भेजे गए किसी भी चीज के अपवाद के साथ सब कुछ आगे बढ़ा ।
यदि यह समाधान आपके लिए काम करता है, तो आप rsyslog , या syslog-ng जैसे वैकल्पिक syslog कार्यान्वयन में से एक पर विचार कर सकते हैं , जो अतिरिक्त लॉगिंग और संग्रहण विकल्प प्रदान करते हैं।
यदि आप कुंजी-आधारित ssh प्रमाणीकरण और sudo को दूरस्थ होस्ट पर दूरस्थ मेजबानों पर पासवर्ड प्रॉम्प्टिंग के बिना लॉग फाइल के खिलाफ रनिंग टेल की अनुमति देने के लिए सेटअप करते हैं। यह बहुत आसान होगा कि टेललॉग स्क्रिप्ट बनाई जाए जो आपको नीचे पसंद आए। यह वास्तव में ssh से बचता नहीं है, लेकिन यह आपको कुछ कदम बचाता है।
#!/bin/bash
ssh $1 sudo tail -f $2
या, आप किसी केंद्रीय सिस्टम में सभी लॉग संदेशों को अग्रेषित करने के लिए syslog सेटअप कर सकते हैं और फिर syslog सर्वर पर अपनी टेल कमांड चला सकते हैं। बस केंद्रीय सिस्टम पर लॉग फाइल देखें।
मैं अत्यधिक उन्नत लॉग देखने के लिए मल्टीटैल की सिफारिश करूंगा । स्टेरॉयड पर पूंछ के रूप में वर्णित स्व।
यह स्पष्ट रूप से आपके प्रश्न का उत्तर नहीं दे रहा है, लेकिन यदि आपके पास देखने के लिए कुछ लॉग से अधिक है, और नि: शुल्क संस्करण सीमा से कम है, तो आप अपने सभी लॉगिंग डेटा के लिए एक अच्छा इंटरफ़ेस और उपयोगी होने के लिए स्प्लंक को मुफ्त में आज़मा सकते हैं ।
tail -f
एक से अधिक लॉग का समर्थन करता है, लेकिन साइड से नहीं, केवल नीचे की ओर।
मल्टीटैल वह करेगा जो आप स्थानीय मशीन पर करते हैं। यह विशेष रूप से उल्लेख नहीं करता है कि क्या यह किसी नेटवर्क पर काम करेगा, हालाँकि इसके आसपास काम करने के कई तरीके हैं (NFS mounts, SMB mounts, आदि) यह भी कहता है कि यह एक syslog सर्वर के रूप में काम करेगा, जिसका अर्थ है कि यह सक्षम हो सकता है किसी अन्य मशीन के syslog से सक्रिय डेटा प्राप्त करने के लिए, हालाँकि मैंने कभी भी उस सुविधा का उपयोग नहीं किया है और यह नहीं जानता कि क्या ऐसा है।
मैं OtrosLogViewer (अपाचे कॉमन्स लाइसेंस) का उपयोग कर रहा हूं । यह ssh / sftp और samba / CIFS का उपयोग करके दूरस्थ सर्वर से टेलिंग लॉग का समर्थन करता है। आप फ़ाइलों को एक विंडो में लॉग इन कर सकते हैं। यहाँ एक स्क्रीनशॉट है:
sftp://hostname/path/to/directory
मैंने vsConsole को इस उद्देश्य के लिए लिखा था - लॉग फ़ाइलों (sshing और फ़ाइल अनुमतियों के लिए आसान पहुंच हमेशा एक समस्या होती है) - और फिर ऐप निगरानी और संस्करण ट्रैकिंग जोड़ा गया। मैं जानना चाहूंगा कि आप इसके बारे में क्या सोचते हैं। http://vs-console.appspot.com/
इसका मतलब एक आसान, कम सीखने की अवस्था है, एक क्लिक समाधान आम विकास समस्याओं को हल करना है जिनके लिए मुझे हमेशा एक सरल समाधान की आवश्यकता होती है।
आप Phplogcon जैसी किसी चीज़ का उपयोग कर सकते हैं। मैं mysql के साथ rsyslog का उपयोग करता हूं और अपने अन्य सर्वर से सभी लॉग भेजता है। Phplogcon फिर एक वेब एप्लिकेशन के उपयोग के माध्यम से उन्हें प्रदर्शित करता है।
यह सबसे अच्छा दिखने वाला इंटरफ़ेस नहीं है, लेकिन प्रवेश के बिना लॉग को एक्सेस करने का एक अच्छा तरीका है, बिना सर्वर के अनावश्यक रिमोट लॉगिन को उजागर करना।
पहले ही उल्लेख किया गया है, लेकिन फिर से ध्यान देने योग्य है। Splunk!
मेरे पास अतीत में एक अच्छी गुई के साथ बड़े केंद्रीय syslog सेटअप बनाने की खुशी है। यह दर्द की दुनिया है। स्प्लंक इसे डोडल बनाता है, विशेष रूप से एंटरप्राइज लाइसेंस के साथ आपको केंद्रीय प्रबंध देता है। यदि आपके लॉग दिन में 500 मीटर से कम हैं, तो यह मुफ़्त है। यदि नहीं, तो यह बहुत महंगा हो सकता है, लेकिन यह इसके लायक है और न केवल थोड़ा सा लॉगिंग के लिए - आप बहुत अधिक कर सकते हैं। मैं आमतौर पर ओपन सोर्स एप्स की वकालत करता हूं, लेकिन स्प्लंक कुछ भी हो गया है।
इसे इस्तेमाल करे:
ssh servername tail -f /var/log/messages
यदि आपकी लॉग फ़ाइल सुरक्षित है:
ssh -f servername sudo tail -f /var/log/messages
(आपको "ssh -f" का उपयोग करने की आवश्यकता नहीं है - यह सिर्फ इतना है कि आपका पासवर्ड TTY से प्रतिध्वनित नहीं है)
यदि आपको वह पसंद है तो आप उसी कमांड का उपयोग क्लस्टर SSH के साथ कर सकते हैं ।
आप अपने लॉग को केंद्रीकृत करने, देखने और अलर्ट और रिपोर्ट उत्पन्न करने के लिए ऑक्टोपसी (मेरी परियोजना) का उपयोग कर सकते हैं ।
@KrzyH जवाब (ओट्रोस) के अलावा , मैंने ओट्रोस के लिए एक अतिरिक्त लिखा है ताकि आप रिमोट मशीन पर एक डब्ल्यूएआर स्थापित कर सकें, इसलिए तकनीकी रूप से आप ओट्रोस को वेब सेवा के रूप में उपयोग कर सकते हैं।
अधिक जानकारी यहाँ ।