लिनक्स पर बैश में syslog कैसे जांचें?


86

C में हम इस तरह से लॉग इन करते हैं:

syslog( LOG_INFO, "proxying %s", url );

लिनक्स में हम लॉग की जाँच कैसे कर सकते हैं?


क्या सिस्टम लॉग में फ़ंक्शन नहीं syslog लिखता है? (आप कर्नेल संदेश अंगूठी बफर तक पहुँचने के लिए निचले स्तर से एक के बारे में बात जब तक रहे हैं, लेकिन मैं संदेह urlएक है int।)
Cascabel

2
इस Q को unix.SE.com पर माइग्रेट किया जाना चाहिए, सुनिश्चित नहीं है कि यह मॉड के ध्यान के लिए झंडा लगाने के लायक है (मैंने ध्वजांकित किया)।
अलेक्जेंडर मालाखोव

जवाबों:


128

कैसे के बारे में less /var/log/syslog?


1
@kern: आप किस लिनक्स डिस्ट्रो और संस्करण का उपयोग कर रहे हैं?
एनपीई

6
@ सर्न: आपकी सामग्री की जाँच करें/etc/syslog.conf
एनपीई

25
tail -f /var/log/syslogयह वास्तव में अच्छा है क्योंकि यह सबसे हालिया आउटपुट दिखाता है क्योंकि यह syslog में जाता है। यह उपयोगी हो सकता है यदि आप किसी चीज़ को लाइव करने का प्रयास कर रहे हैं, बजाय इसके कि आप अतीत में कड़ाई से कुछ देखें।
counterbeing

16
यह वास्तव में /etc/rsyslog.conf सेंटो के लिए है
रोमन गोएनको

1
@ArunprasadRajkumar दूसरा तरीका यह होगा कि लॉगिंग संदेशों से बचने के लिए सामान्य उपयोगकर्ताओं द्वारा पढ़े जाने वाले संदेशों का उपयोग करें
दिमित्री ग्रिगोरीव

41

फेडोरा 19 पर, ऐसा लगता है कि इसका जवाब है /var/log/messages। यद्यपि /etc/rsyslog.confयह जांचें कि क्या इसे बदल दिया गया है।


मैंने इसे खुले तौर पर जाँच लिया है और देखा है कि यह इस पर भी लागू होता है। साझा करने के लिए धन्यवाद!
सिल्विओप्रोग

23

डिफ़ॉल्ट रूप से इसे सिस्टम लॉग में लॉग इन किया जाता है /var/log/syslog, इसलिए इसे इसके द्वारा पढ़ा जा सकता है:

tail -f /var/log/syslog

यदि फ़ाइल मौजूद नहीं है, तो /etc/syslog.confsyslogd के लिए कॉन्फ़िगरेशन फ़ाइल देखने के लिए जाँच करें । ध्यान दें कि कॉन्फ़िगरेशन फ़ाइल भिन्न हो सकती है, इसलिए चल रही प्रक्रिया की जांच करें यदि वह अलग फ़ाइल का उपयोग कर रही है:

# ps wuax | grep syslog
root      /sbin/syslogd -f /etc/syslog-knoppix.conf

नोट: कुछ वितरण (जैसे Knoppix के रूप में) में सभी संदेशों को लॉग इन अलग टर्मिनल (जैसे में भेजा जा सकता है /dev/tty12तो उपयोग करने के लिए,) जैसे tty12दबाने की कोशिश Control+ Alt+ F12

आप यह भी lsofपता लगाने के लिए टूल का उपयोग कर सकते हैं कि कौन सी लॉग फ़ाइल syslogdप्रक्रिया का उपयोग कर रही है, जैसे

sudo lsof -p $(pgrep syslog) | grep log$ 

शेल में परीक्षण संदेश भेजने के लिए, आप कोशिश कर सकते हैं:

echo test | logger

समस्या निवारण के लिए ट्रेस टूल ( straceलिनक्स dtrussपर , यूनिक्स पर) का उपयोग करें, जैसे:

sudo strace -fp $(cat /var/run/syslogd.pid)

22

एक बहुत अच्छा उपयोग है journalctl

उदाहरण के लिए, सांत्वना दिखाने के लिए syslog दिखाने के लिए:, journalctl -t <syslog-ident>जहाँ <syslog-ident>पहचान है कि आपने openlogsyslog को आरंभ करने के लिए कार्य किया है।


14

tail -f /var/log/syslog | grep process_nameprocess_nameउस प्रक्रिया का नाम है जहां हम रुचि रखते हैं


2

यदि आप विम को पसंद करते हैं, तो इसमें syslog फ़ाइल के लिए अंतर्निहित सिंटैक्स हाइलाइटिंग है, जैसे कि यह लाल रंग में त्रुटि संदेशों को उजागर करेगा।

vi +'syntax on' /var/log/syslog

-10

आसुस राउटर पर इसके माध्यम से किया जा सकता है

:/bin# busybox

से संबंधित अन्य कमांड भी हैं।


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