2012-09-10 9 views
7

क्या किसी को भी Google App Engine में लॉगिंग करने पर कोई सलाह है? मैं वर्तमान में स्प्लंक तूफान का उपयोग करने की कोशिश कर रहा हूं, लेकिन वे इनपुट के संबंध में परिचित हैं और अक्सर नीचे जाते हैं। क्या किसी और ने इसका सामना किया है और इसे कुछ क्षमता में हल किया है?ऐप इंजन के मूल लॉगिंग एपीआई के विकल्प?

वर्तमान में मेरे पास एक प्रक्रिया है जो लॉगस सर्विस से पढ़ती बैकएंड में चलती है और आरईएसटी एपीआई के माध्यम से स्पलंक स्टॉर्म में लॉग पाइप करती है। यह अक्सर विफल रहता है, या तूफान नीचे चला जाता है, या बैकएंड आईपी परिवर्तन।

मेरा मुद्दा ऐप इंजन के भीतर प्रदान किए गए लॉगिंग के साथ है, क्योंकि जब नए संस्करण धकेलते हैं और प्रदान किए गए डैशबोर्ड के साथ लॉग पूछताछ लॉग हो जाती है तो लॉग गायब हो जाती है। स्प्लंक एक संभावित समाधान था, लेकिन क्लाउड सॉल्यूशन वांछित होने के लिए बहुत कुछ छोड़ देता है।

कुछ भी जो मेरे लॉग में एक बेहतर इंटरफ़ेस प्रदान करेगा, की सराहना की जाएगी।

+0

क्या आप अपनी आवश्यकताओं के लिए असफल या अपर्याप्त क्या अधिक विस्तार से वर्णन कर सकते हैं? यह स्पष्ट नहीं है कि आपकी समस्या ऐप इंजन, स्प्लंक या दोनों के साथ है। –

+0

हो गया। मेरा मुद्दा जीएई के साथ है। –

+0

पुन "नए संस्करण धक्का दिए जाने पर लॉग गायब हो जाते हैं", ऐसा नहीं होना चाहिए; हालांकि, आपको क्वेरी बनाने वाले किसी अन्य के अलावा लॉग ऐप संस्करणों के लिए स्पष्ट रूप से पूछना होगा। पायथन में, उदाहरण के लिए, logservice.fetch पर कॉल एक "version_ids" पैरामीटर लेता है जिसका उपयोग आप पुराने लॉग का अनुरोध करने के लिए कर सकते हैं; जावा में LogQuery.majorVersionIds() है। यदि आप पहले से ही ऐसा कर रहे हैं और लॉग वास्तव में गायब हो रहे हैं, तो कृपया एक बग दर्ज करें। –

उत्तर

1

चूंकि आपने स्प्लंक (या दूसरी बाहरी सेवा) को स्थायी भंडारण के रूप में उपयोग करने का निर्णय लिया है, ऐसा लगता है कि आपको ऐप इंजन की लॉग सेवा में लिखे गए समय के दौरान लॉग को बफर करने के लिए एक स्थान की आवश्यकता होती है और जब स्प्लंक उपलब्ध होता है लॉग स्वीकार करने के लिए। संस्करण मंथन से पहले लॉग खोने से बचने के लिए उन्हें ऐप इंजन से बाहर निकलने का कारण बनता है, इस बफर को तेज़ और अत्यधिक उपलब्ध होना चाहिए।

एक उचित विकल्प एई डेटास्टोर है। किसी तीसरे पक्ष के लिए कोई अविश्वसनीय हॉप नहीं है, इसकी उपलब्धता एसएलए है, और इसे शेरिंग लिखकर मनमाने ढंग से स्केल किया जा सकता है। डाउनसाइड आर/डब्ल्यू ऑपरेशंस और इन-फ्लाइट लॉग के स्टोरेज पदचिह्न की लागत होगी, लेकिन आपको एक अन्य बैकिंग स्टोर के लिए तुलनात्मक लागत लगेगी।

सेवा की जो भी पसंद है, एक बैच प्रक्रिया (जैसे बैकएंड या क्रोनबॉज) लॉग रीडर एपीआई से बफर को लिखती है। जब तक यह ऐप अपडेट की तुलना में अधिक बार चलता है, तब तक टिकाऊ भंडारण में लॉग हमेशा मौजूद रहेगा। फिर स्प्लंक के लिए एक और बैच प्रक्रिया प्रतीक्षा करें, फिर बफर से अपलोड करें और हटाएं क्योंकि आपको स्प्लंक से रसीद की पुष्टि मिलती है।

5

आप GAE से BiqQuery पर लॉग निर्यात कर सकते हैं जिसमें quite capable query language है। आप Mache का उपयोग कर सकते हैं, एक ओपन-सोर्स प्रोजेक्ट जो पहले से ही ऐसा करता है। आपको write your own exporter, फ़ील्ड (कॉलम) का पर्दाफाश करने के लिए (और क्वेरीबैब) फ़ील्ड (कॉलम) होना चाहिए।

+0

दिलचस्प। मैंने पहले ही एक निर्यातक लिखा है, इसलिए यह बहुत आसान हो सकता है। –

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