2012-10-03 14 views
12

मैं लॉग इन अनुरोधों के लिए वार्निश प्राप्त करना चाहता हूं। मुझे varnishlog -a -w /var/log/varnish.log कमांड मिला, लेकिन यह कुछ भी लॉग नहीं करता है।वार्निश लॉगिंग कैसे सेट करें?

तब मैंने पाया कि वार्निश डिफ़ॉल्ट रूप से लॉग करने के लिए नहीं लिखता है। हालांकि मैं लॉगिंग के लिए कॉन्फ़िगरेशन विकल्प नहीं ढूंढ पा रहा हूं।

+1

संस्करण <3.0.3 के साथ varnishlog -w का उपयोग करते समय भी ध्यान दें, आपको प्रत्येक वार्निश पुनरारंभ करने के बाद इसे पुनरारंभ करना होगा। – Doomsday

उत्तर

22

यदि आप NCSA Common Log Format में HTTP अनुरोध लॉग करना चाहते हैं तो आपको varnishncsa का उपयोग करने की आवश्यकता है। सेंटोस/रेडहाट पर, वार्निश आरपीएम पैकेज में वर्निशेंसा इनिट स्क्रिप्ट शामिल है जिसका उपयोग आप लॉगिंग शुरू करने के लिए कर सकते हैं। डिफ़ॉल्ट रूप से यह logfile="/var/log/varnish/varnishncsa.log" पर लॉग करता है।

इसके अतिरिक्त यदि आप एक ही वार्निश इंस्टॉल के माध्यम से कई अलग-अलग मेजबानों की सेवा करना चाहते हैं, तो आप लॉग में मेजबान नाम भी शामिल करना चाहेंगे। यह /etc/sysconfig/varnishncsa

DAEMON_OPTS="$DAEMON_OPTS -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"'" 

कृपया ध्यान दें कि विधि अंशु से लिंक में वर्णित केवल अनुरोध करता है कि बैकएंड सर्वर के लिए वार्निश द्वारा के माध्यम से पारित कर रहे हैं लॉग में निम्न सेटिंग के साथ पूरा किया जा सकता। कैश हिट अनुरोध कभी रिकॉर्ड नहीं किए जाएंगे (वार्निश 5.0 से पहले - नीचे देखें)। इसलिए इस तरह इकट्ठा HTTPD लॉग सांख्यिकीय विश्लेषण के लिए उपयोग नहीं किया जा सकता है।

अद्यतन: जैसा कि @ वीकंटपोगुला ने उल्लेख किया है, वार्निश 5.0 के रूप में सभी ग्राहक अनुरोध लॉग हैं - कैश हिट सहित। यह डिफ़ॉल्ट व्यवहार है, और -c स्विच का स्पष्ट रूप से उपयोग करने पर स्विच किया जा सकता है।

+20

वास्तव में Ubuntu पर लॉगिंग सक्षम करने के लिए: संपादित '/ etc/default/varnishncsa' टिप्पणी हटाएं' # VARNISHNCSA_ENABLED = 1' रन 'sudo सेवा varnishncsa restart' – George

+0

मैं में एफ विकल्प का उपयोग करने में सक्षम नहीं था '/ etc/default/varnishncsa' (उबंटू 14.04), शायद अजीब तरीके से खोल हैंडलिंग उद्धरणों के कारण। जब मैंने 'सुडो सेवा वर्निश्नेसा रीस्टार्ट' के माध्यम से सेवा को पुनरारंभ करने का प्रयास किया, तो वार्निश के लिए उपयोग विकल्प प्रदर्शित किए गए लेकिन सेवा शुरू नहीं हुई थी। मुझे एक अनसुलझा बग की तरह लगता है, देखें: http: // giantdorks।संगठन/alain/workaround-for-broken-varnishncsa-logging-due-to-shell-mishandling-of-spaces-in-log_format-variables/और https://bugs.debian.org/cgi-bin/bugreport.cgi ? बग = 657449 – Hirnhamster

3

केटोला के उत्तर के जवाब में, आप -c ध्वज पास करके, वर्नीशंस लॉग भी कैश हिट अनुरोध कर सकते हैं। यह आपको आंकड़ों का विश्लेषण करने के लिए HTTPD लॉग का उपयोग करने की अनुमति देगा।

उदाहरण: varnishncsa -c -a -w ~/varnish.log डिफ़ॉल्ट NCSA स्वरूप में फ़ाइल

वार्निश में
6

मीट्रिक यानी सामान्य क्षेत्र है कि लोगों के साथ संघर्ष कर रहे हैं करने के लिए कैश हिट अनुरोध लिखेंगे।

अनुरोध मीट्रिक से किसी एक को प्राप्त करना अपेक्षाकृत आसान है लेकिन समय के साथ समग्र ट्रैकिंग में आमतौर पर वार्निशिक्स का उपयोग करना शामिल होता है।

मेरे varnishncsa.log खाली था और इस प्रक्रिया चल रहा था: यहाँ एक guide on Varnish installation मीट्रिक सेटअप शामिल है कि

+0

धन्यवाद :) '' '' '' '' '' –

1

के बाद से मैं यहाँ उतरा और सुझाव तय मदद नहीं की है।

यह पता चला कि मुझे लॉग प्रारूप (कोई प्रारूप) निर्दिष्ट करना है।

चूंकि इस अंतर्दृष्टि ने अपनी init स्क्रिप्ट को ठीक नहीं किया है, इसलिए मैंने इसे this strategy का उपयोग करके तय किया है।