2012-06-22 21 views
31

मैं name.conf में सही लॉगिंग क्लॉज खोजने की कोशिश कर रहा हूं जो मुझे नामित सेवा के लिए पूर्ण-स्तर के लॉग सक्षम करने में मदद करेगा। क्या कोई यहां उदाहरण दे सकता है? मेरा वर्तमान खंड नीचे दिया गया है, लेकिन यह बहुत कम लॉग उत्पन्न करता है।नामित/बाइंड/डीएनएस पूर्ण लॉगिंग कैसे सक्षम करें?

logging { 
    channel querylog{ 
      file "/var/log/querylog"; 
      severity debug 10; 
      print-category yes; 
      print-time yes; 
      print-severity yes; 
      }; 
    category queries { querylog;}; 
}; 

उत्तर

66

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

logging { 
    channel default_file { 
     file "/var/log/named/default.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel general_file { 
     file "/var/log/named/general.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel database_file { 
     file "/var/log/named/database.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel security_file { 
     file "/var/log/named/security.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel config_file { 
     file "/var/log/named/config.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel resolver_file { 
     file "/var/log/named/resolver.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel xfer-in_file { 
     file "/var/log/named/xfer-in.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel xfer-out_file { 
     file "/var/log/named/xfer-out.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel notify_file { 
     file "/var/log/named/notify.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel client_file { 
     file "/var/log/named/client.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel unmatched_file { 
     file "/var/log/named/unmatched.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel queries_file { 
     file "/var/log/named/queries.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel network_file { 
     file "/var/log/named/network.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel update_file { 
     file "/var/log/named/update.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel dispatch_file { 
     file "/var/log/named/dispatch.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel dnssec_file { 
     file "/var/log/named/dnssec.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel lame-servers_file { 
     file "/var/log/named/lame-servers.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 

    category default { default_file; }; 
    category general { general_file; }; 
    category database { database_file; }; 
    category security { security_file; }; 
    category config { config_file; }; 
    category resolver { resolver_file; }; 
    category xfer-in { xfer-in_file; }; 
    category xfer-out { xfer-out_file; }; 
    category notify { notify_file; }; 
    category client { client_file; }; 
    category unmatched { unmatched_file; }; 
    category queries { queries_file; }; 
    category network { network_file; }; 
    category update { update_file; }; 
    category dispatch { dispatch_file; }; 
    category dnssec { dnssec_file; }; 
    category lame-servers { lame-servers_file; }; 
}; 

आशा है कि इससे मदद मिलती है।

+0

जानकारी के लिए धन्यवाद। लेकिन यहां मुद्दा यह है कि, प्रत्येक डोमेन के लिए, मेरे पास एक ही फ़ोल्डर में जोन फ़ाइलें लूप की गई हैं। Example.com के लिए कहें, मेरे पास मास्टर ज़ोन फ़ाइल के भीतर INCLUDE क्लॉज का उपयोग करके लगभग 6 सब-जोन फ़ाइलें हैं I मैं उस विशेष जोन फ़ाइल को जानना चाहता हूं जिससे क्वेरी से जानकारी निकाली जा रही है। मैंने अपने बांध में अपना लॉग क्लॉज जोड़ा है। यदि यह मदद करता है तो जांच करेगा और आपको बताएगा। आपकी सहायता के लिए धन्यवाद. – deppfx

+2

मुझे संदेह है कि यह वास्तव में संभव है, और मानक लॉगिंग आपको उस स्तर का विस्तार नहीं देगी। BIND ज़ोन फ़ाइलों को स्टार्टअप पर स्मृति में लोड करता है ताकि फ़ाइलों को स्वयं शुरू होने के बाद अर्थहीन हो, यह केवल एक पूर्ण क्षेत्र है। BIND में डीबग मोड को सक्षम करने से आपको विस्तार के अतिरिक्त स्तर मिल सकते हैं, लेकिन यह उत्पन्न होने वाली बड़ी मात्रा में लॉगिंग का कारण बन जाएगा जो DNS सर्वर के प्रदर्शन को प्रभावित करेगा। –

+0

आपको लगता है कि फ़ाइलों को अलग करने के लिए सबकुछ लॉगिंग करना डीबगिंग के लिए बेहतर क्यों है? जब आपका सर्वर व्यस्त होता है तो अधिकांश चैनलों में बेकार लॉग संदेशों से सावधान रहें। – alexsergeyev

12

रन "आरएनडीसी क्वेरी लॉग ऑन" या "क्वेरीलॉग हाँ" जोड़ें; name.conf "विकल्प {};" उस चैनल को सक्रिय करने के लिए खंड।

यह भी सुनिश्चित करें कि यदि आपका बंधन खराब हो गया है तो आप सही निर्देशिका की जांच कर रहे हैं।

+0

मेरे पास सेंटोस 7 पर BIND 9.9.4 है, मैं "querylog on;" को जोड़ने का प्रयास करता हूं विकल्प अनुभाग में, लेकिन नाम पुनरारंभ नहीं किया गया। जर्नल में मैंने '/etc/named.conf:30 किया था: बूलियन 'ऑन' – DeamonMV

+0

के पास अपेक्षित था, मुझे लगता है कि यह क्वेरीॉग हाँ हो सकता है; कॉन्फ़िगरेशन फ़ाइल में, मैंने कॉन्फ़िगरेशन विकल्प के साथ rndc param को गलत समझा होगा। – alexsergeyev

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^