2015-09-02 10 views
9

मैं अमेज़ॅन वेब सेवाओं के साथ एक लोचदार बीनस्टॉक एप्लिकेशन स्थापित करने की कोशिश कर रहा हूं, हालांकि मुझे None of the instances are sending data संदेश के साथ त्रुटियों का भार प्राप्त हो रहा है। मैं नमूना आवेदन के साथ लचीला बीनस्टॉक आवेदन और EC2 उदाहरण कई बार को हटाने की है की कोशिश की और फिर से कोशिश कर रहा है, लेकिन मैं एक ही त्रुटि मिलती है।एडब्ल्यूएस: कोई भी उदाहरण डेटा नहीं भेज रहा है

मैं भी एडब्ल्यूएस लचीला बीनस्टॉक कमांड लाइन उपकरण के साथ एक फ्लास्क एप्लिकेशन को अपलोड करने की कोशिश की लेकिन फिर मैं नीचे त्रुटि प्राप्त:

Environment health has transitioned from Pending to Severe. 100.0 % of the requests to the ELB are failing with HTTP 5xx. Insufficient request rate (0.5 requests/min) to determine application health (7 minutes ago). ELB health is failing or not available for all instances. None of the instances are sending data 

क्यों मैं इस त्रुटि मिलती है और मैं इसे कैसे ठीक करूं? धन्यवाद।

उत्तर

29

आप Enhanced Health Monitoring का उपयोग कर रहे हैं। आपके ईसी 2 इंस्टेंस पर स्थापित agent में बढ़ी हुई स्वास्थ्य निगरानी के साथ महत्वपूर्ण प्रणाली और अनुप्रयोग स्तर स्वास्थ्य मीट्रिक पर नज़र रखता है और उन्हें सीधे लोचदार बीनस्टॉक भेजता है।

जब आपको कोई त्रुटि संदेश दिखाई देता है जैसे "कोई भी उदाहरण डेटा भेज रहा है", इसका मतलब है कि या तो उदाहरण पर एजेंट क्रैश हो गया है या यह नेटवर्किंग त्रुटि या किसी अन्य त्रुटि के कारण डेटा को लोचदार बीनस्टॉक में पोस्ट करने में असमर्थ है।

इसे डिबग करने के लिए, मैं एडब्ल्यूएस कंसोल से "पूर्ण लॉग" डाउनलोड करने की अनुशंसा करता हूं। आप अनुभाग "लचीला बीनस्टॉक कंसोल से डाउनलोड कर रहा है बंडल लॉग" here में लॉग प्राप्त करने के लिए निर्देशों का पालन कर सकते हैं। आप किसी भी कारण आप भी उदाहरण के लिए SSH और /var/log में लॉग देख सकते हैं के लिए कंसोल का उपयोग कर लॉग डाउनलोड करने में असमर्थ हैं।

आपको /var/log/healthd/daemon.log में स्वास्थ्य एजेंट के लिए लॉग मिलेगा। इस स्थिति के लिए उपयोगी अतिरिक्त लॉग /var/log/cfn-init.log, /var/log/eb-cfn-init.log और /var/log/eb-activity.log हैं। क्या आप लॉग देख सकते हैं और त्रुटियों के बारे में अधिक जानकारी दे सकते हैं? यह उम्मीद है कि आपको त्रुटि "उदाहरणों में से कोई भी डेटा भेज रहे हैं" के बारे में अधिक जानकारी के देना चाहिए।

अन्य स्वास्थ्य के बारे में "का कारण बनता है" आप देख रहे हैं:

  • पर्यावरण स्वास्थ्य गंभीर को लंबित से संक्रमित किया गया है - यह शुरू में अपने वातावरण स्वास्थ्य की स्थिति है, क्योंकि विचाराधीन है। उदाहरणों गंभीर को रियायती अवधि के स्वास्थ्य की स्थिति संक्रमण के भीतर स्वस्थ नहीं जाते हैं। आपके मामले में चूंकि कोई भी उदाहरण स्वस्थ/डेटा भेज रहा है, इसलिए स्वास्थ्य गंभीर रूप से परिवर्तित हो गया है।

  • 100,0 ईएलबी करने के अनुरोधों की% HTTP 5xx साथ असफल रहे हैं। आवेदन स्वास्थ्य निर्धारित करने के लिए अपर्याप्त अनुरोध दर (0.5 अनुरोध/मिनट) (7 मिनट पहले)। लचीला बीनस्टॉक जब बढ़ाया स्वास्थ्य की निगरानी का उपयोग कर अपने EC2 उदाहरणों के अलावा अन्य संसाधनों पर नजर रखता है। उदाहरण के लिए, यह आपके ईएलबी के लिए क्लाउडवॉच मेट्रिक्स पर नज़र रखता है। इस त्रुटि का अर्थ है कि आपके पर्यावरण पर भेजे गए सभी अनुरोध CNAME/load balancer HTTP 5xx त्रुटियों में विफल रहे हैं। साथ ही अनुरोध दर प्रति मिनट केवल 0.5 अनुरोध कम है, इसलिए यह इंगित करता है कि भले ही सभी अनुरोध विफल हो रहे हैं, अनुरोध दर बहुत कम है। "7 मिनट पहले" का अर्थ है कि ईएलबी मेट्रिक्स के बारे में जानकारी थोड़ा पुरानी है। क्योंकि लोचदार बीनस्टॉक हर कुछ मिनट में क्लाउडवॉच मेट्रिक्स पर नज़र रखता है, इसलिए डेटा थोड़ा बाँध सकता है। यह स्वास्थ्य डेटा के विपरीत है जिसे हम ईसी 2 उदाहरणों से सीधे प्राप्त करते हैं जो "वास्तविक समय के करीब" है। आपके मामले में, उदाहरण डेटा को नहीं भेज रहे हैं, स्वास्थ्य के लिए एकमात्र उपलब्ध स्रोत ईएलबी मेट्रिक्स है जो लगभग 7 मिनट तक देरी हो रही है।

  • ईएलबी स्वास्थ्य में नाकाम रहने या सभी उदाहरणों लचीला बीनस्टॉक अपने ईएलबी के स्वास्थ्य, यानी यह जाँच कर रहा है देख रहा है कि कैसे कई मामलों ईएलबी के पीछे सेवा में हैं के लिए उपलब्ध नहीं है। आपके मामले में या तो ईएलबी के पीछे सभी उदाहरण सेवा से बाहर हैं या स्वास्थ्य किसी अन्य कारण से उपलब्ध नहीं है। आपको दोबारा जांच करनी चाहिए कि आपकी सेवा भूमिका सही तरीके से कॉन्फ़िगर की गई है। आप सही ढंग से here या documentation में सेवा भूमिका को कॉन्फ़िगर कैसे पढ़ सकते हैं। यह संभव है कि आपका एप्लिकेशन शुरू करने में विफल रहा।

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

यह भी सुनिश्चित करें कि आप अपने पर्यावरण के साथ एक उदाहरण प्रोफ़ाइल का उपयोग कर रहे हैं। इंस्टेंस प्रोफाइल आपके ईसी 2 इंस्टेंस पर चल रहे स्वास्थ्य एजेंट को लोचदार बीनस्टॉक के साथ प्रमाणीकृत करने की अनुमति देता है। यदि इंस्टेंस प्रोफाइल आपके पर्यावरण से जुड़ा नहीं है तो एजेंट लोचदार बीनस्टॉक को डेटा भेजने में सक्षम नहीं होगा। लोचदार Beanstalk here के साथ इंस्टेंस प्रोफाइल के बारे में और पढ़ें।

अद्यतन स्वास्थ्य कारण के लिए एक आम कारण है "उदाहरणों में से कोई भी भेज रहे हैं डेटा" हो सकता है कि आपके उदाहरण एक VPC में है और अपने VPC एनटीपी उपयोग की अनुमति नहीं देता है। इस समस्या की विशिष्ट सूचक /var/log/messages: ntpdate: Synchronizing with time server: [FAILED] में निम्नलिखित संदेश है। जब ऐसा होता है तो आपके ईसी 2 इंस्टेंस पर घड़ी सिंक से बाहर हो सकती है और डेटा को अमान्य माना जाता है। तुम भी एडब्ल्यूएस वेब कंसोल, जिससे आप जान पर स्वास्थ्य पृष्ठ पर उदाहरणों पर एक स्वास्थ्य कारण यह देखना चाहिए कि उदाहरण घड़ी बाहर के सिंक है। यह सुनिश्चित करना है कि आपका वीपीसी एनटीपी तक पहुंच की अनुमति देता है।


+0

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

+0

क्या आप उदाहरण के लिए एसएसएच कर सकते हैं और लॉग प्राप्त कर सकते हैं? –

+0

एक और संभावना यह है कि आपके पास गलत वीपीसी कॉन्फ़िगरेशन है ताकि बूटस्ट्रैप विफल हो। फिर यदि आप उदाहरण के लिए एसएसएच कर सकते हैं और लॉग प्राप्त कर सकते हैं तो आपके पास विवरण होंगे। –

4
बाकी

किसी कई कारण स्वास्थ्य एजेंट किसी भी डेटा भेजने के लिए सक्षम नहीं है हो सकता है, इसलिए यह आपके समस्या का जवाब नहीं हो सकता है, लेकिन यह मेरी लिए किया गया था और उम्मीद है कि मदद कर सकते हैं:

मैं /var/log/healthd/daemon.log में एक ही गलती और की तलाश में मिला निम्नलिखित बार-बार बताया गया:

sending message(s) failed: (Aws::Healthd::Errors::GroupNotFoundException) Group 97c30ca2-5eb5-40af-8f9a-eb3074622172 does not exist 

यह द्वारा मुझे बनाने और एक लचीला बीनस्टॉक वातावरण के अंदर एक EC2 उदाहरण से एक एएमआई छवि का उपयोग कर कारण होता था। यही है, मैंने एक उदाहरण के साथ एक अस्थायी वातावरण बनाया है जो मेरे उत्पादन वातावरण के समान विन्यास है, ईसी 2 कंसोल में गया और उदाहरण की एक छवि बनाई, अस्थायी वातावरण को समाप्त कर दिया, और फिर नए कस्टम एएमआई का उपयोग करके एक और वातावरण बनाया।

बेशक (मसा में) यह अस्थायी पर्यावरण के कुछ सेटिंग्स अभी भी प्रयोग किया जा रहा था था। इस मामले में विशेष रूप से /etc/healthd/config.yaml, जिसके परिणामस्वरूप स्वास्थ्य एजेंट अब मौजूदा स्वास्थ्य समूह को संदेश भेजने की कोशिश कर रहा है।

इसे ठीक करें और सुनिश्चित करें कि कोई अन्य बासी विन्यास के आसपास थी, मैं बजाय एक नया EC2 उदाहरण हाथ से डिफ़ॉल्ट एएमआई ('उदाहरण' अपने वातावरण के विन्यास पेज के अंतर्गत मिल) उत्पादन वातावरण में प्रयोग किया जाता से शुरू , प्रावधान है, उसके बाद से एक नई छवि बनाएं और उस छवि का उपयोग अपने नए ईबी पर्यावरण में करें।

+0

हाय @sgvd, मुझे भी एक ही समस्या का सामना करना पड़ रहा है। क्या कोई तरीका है कि हम group_id को /etc/healthd/config.yaml में बदल सकते हैं। क्या हम नए पर्यावरण के group_id को ढूंढ सकते हैं और इसे अपडेट कर सकते हैं? – yogeshagr

0

मैंने इसे एक और सुरक्षा समूह (मेरे लोचदार बीनस्टॉक के लिए डिफ़ॉल्ट) जोड़कर हल किया।

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