दूरस्थ सर्वर पर rsyslog के साथ / var / log के बाहर विशिष्ट लॉग फ़ाइल को कैसे अग्रेषित करें?


24

मैं कैसे की तरह एक विशिष्ट लॉग फ़ाइल से संदेश को अग्रेषित कर सकते हैं /www/myapp/log/test.logके साथ rsyslogदूरदराज के लिए ग्राहक rsyslogसर्वर? यह लॉग फ़ाइल निर्देशिका के बाहर है /var/log

जवाबों:


42

बस अपने /etc/rsyslog.conf में एक imfile नियम सेटअप करें

#/etc/rsyslog.conf
$ModLoad imfile
$InputFileName /data/mysql/error.log
$InputFileTag mysql-error
$InputFileStateFile stat-mysql-error
$InputFileSeverity error
$InputFileFacility local3
$InputRunFileMonitor
local3.* @@hostname:<portnumber>

यह एक फ़ाइल देखता है और syslog में स्थानीय 3 सुविधा को बचाता है। तब आप स्थानीय 3 सुविधा से अपने रिमोट सर्वर पर सभी डेटा भेज सकते हैं। आप लोकल 3 सुविधा को / var / log / syslog में सेव नहीं करने के लिए अपने rsyslog conf (आमतौर पर /etc/rsyslog.d/50-default.conf पर निम्नलिखित) को जोड़ना चाह सकते हैं:

#/etc/rsyslog.d/50-default.conf
*.*;auth,authpriv.none,local1.none,local2.none,local3.none,local4.none,local5.none,local6.none          -/var/log/syslog

इसके अतिरिक्त, मैं अधिक उन्नत फ़िल्टरिंग के लिए निम्नलिखित rsyslog डॉक्स से कुछ पढ़ने को प्रोत्साहित करूंगा:

  1. संपत्ति की मरम्मत करनेवाला
  2. फ़िल्टर की स्थिति

यह बहुत मददगार है, धन्यवाद ब्रायन। यहाँ मेरी एकमात्र चुनौती क्लाइंट-साइड / var / log / syslog से अतिरिक्त लॉग को बाहर रखने की लाइन है, जो उबंटू 12.04 पर मेरे लिए काम नहीं करता है। शायद एक PEBKAC, लेकिन मुझे आश्चर्य है कि क्या यह एक ज्ञात चुनौती है?
जेम्स टी स्नेल

पता लगा लिया। मेरी समस्या यह थी कि /etc/rsyslog.d/50-default.conf में पहले से ही एक वक्तव्य था ; ढांचा; protepriv.none .. यह पंक्ति पूर्वधारणा लगती है। इसलिए आपके द्वारा दी गई अंतिम पंक्ति को जोड़ने से इसका कोई प्रभाव नहीं पड़ता है। इसके बजाय, पहले से मौजूद समान को संशोधित किया जाना चाहिए। बहुत उपयोगी। धन्यवाद!
जेम्स टी स्नेल

1

Ubuntu पर, मुझे rsyslog को वास्तव में / var / लॉग के बाहर लॉग फ़ाइल को पढ़ने के लिए छोड़ने के लिए ड्रॉप विशेषाधिकार लाइनों को भी टिप्पणी करना पड़ा।

#/etc/rsyslog.conf
$ModLoad imfile
$InputFileName /data/mysql/error.log
$InputFileTag mysql-error
$InputFileStateFile stat-mysql-error
$InputFileSeverity error
$InputFileFacility local3
$InputRunFileMonitor
local3.* @@hostname:<portnumber>

# Set the default permissions for all log files.
#
#$FileOwner syslog
#$FileGroup adm
#$FileCreateMode 0640
#$DirCreateMode 0755
#$Umask 0022
#$PrivDropToUser syslog
#$PrivDropToGroup syslog
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.