गैर-तकनीकी टीम के सदस्यों के लिए कतार-आधारित प्रसंस्करण देरी का संचार कैसे करें?


13

मैं ApproximateNumberOfMessagesVisibleCloudWatch मीट्रिक पर स्केलिंग नीति के साथ SQS कतार-प्रसंस्करण नौकरियों के एक सेट के लिए जिम्मेदार हूं । ये नौकरियां किसी भी कारण से भेजे गए संदेशों की मात्रा को बनाए रखने में विफल हो सकती हैं:

  • सेवा ह्रास से संसाधित होने वाले संदेशों की क्षमता कम हो जाती है।
  • AutoScaling अधिकतम सीमा तक पहुँच गया जबकि कतार की गहराई में वृद्धि जारी है।
  • S3 आउटेज अन्य निर्भर AWS सेवाओं ( AutoScalingसेवा) को प्रभावित करता है जो कतार प्रसंस्करण कार्य मांग के साथ रखने के लिए उपयोग करता है।

जब गैर-तकनीकी टीम के सदस्यों के साथ आउटेज की चर्चा करते हैं, तो मैं कतार प्रसंस्करण की विशिष्ट देरी को संप्रेषित करना चाहूंगा जो ग्राहक-दृश्यमान गिरावट में अनुवाद कर सकता है। मैं SQS कतारों के साथ यह कैसे कर सकता हूं?

जवाबों:


15

किसी भी आउटेज संचार के साथ, एक गैर-तकनीकी पाठक को मुख्य रूप से समझना होगा:

  • कितना लंबा था ये?
  • कितना बुरा था?

अमेज़ॅन क्लाउडवॉच मैट्रिक्स SQS कतारों के लिए निम्नलिखित मीट्रिक प्रदान करता है जो इन सवालों के जवाब देने में मदद कर सकते हैं:

  • NumberOfMessagesSent: एक कतार में जोड़े गए संदेशों की संख्या।
  • NumberOfMessagesReceived: ReceiveMessage API कार्रवाई के लिए कॉल द्वारा लौटाए गए संदेशों की संख्या।
  • ApproximateNumberOfMessagesVoice: कतार से पुनर्प्राप्ति के लिए उपलब्ध संदेशों की संख्या।

जब सही ढंग से रेखांकन किया जाता है, तो ये मैट्रिक्स कतार प्रसंस्करण देरी का वर्णन करने में शक्तिशाली दृश्य सहायक हो सकते हैं। यहाँ एक उदाहरण से कुछ उदाहरण दिए गए हैं जिनका मैंने अनुभव किया कि कतार संदेशों को संसाधित करने की नौकरी की क्षमता बुरी तरह से कम हो गई थी:

NumberOfMessagesSent और NumberOfMessagesReceived

  • ग्राफ प्रकार: लाइन ग्राफ
  • सांख्यिकी: योग
  • अवधि: 5-मिनट

NumberOfMessagesSent और NumberOfMessagesReceived

यह भेजे और प्राप्त किए गए संदेशों के बीच के विपरीत को रेखांकन करता है, जो कि अलग करने में मदद करता है कि कौन सा प्रसंस्करण घटक देरी के लिए जिम्मेदार है। इस ग्राफ़ में, प्राप्त मीट्रिक नाटकीय रूप से कम हो जाती है, जबकि भेजे गए मीट्रिक अपनी सामान्य प्रवृत्ति पर जारी रहता है, इसलिए हम यह अनुमान लगा सकते हैं कि समस्या कतार लेखन घटक के बजाय कतार पढ़ने वाले घटक में निहित है।

क्या यह उत्तर कब तक / कितनी बुरी घटना थी? हाँ; समय के साथ प्रभावित प्रक्रियाओं का वर्णन करता है।

NumberOfMessagesReceived और ApproximateNumberOfMessagesVoice

  • ग्राफ प्रकार: स्टैक्ड एरिया ग्राफ
  • सांख्यिकी: योग
  • अवधि: 5-मिनट

NumberOfMessagesReceived और ApproximateNumberOfMessagesVoice

यह प्राप्त संदेशों के शीर्ष पर कतार की गहराई को रेखांकन करता है, जो यह दिखाने में मदद करता है कि कतार कितनी दूर तक गई और यह कैसे पुनः प्राप्त हुई। इस ग्राफ में, हम देख सकते हैं कि कतार की रीडिंग कंपोनेंट में समस्या होने पर कतार की गहराई नाटकीय रूप से बढ़ जाती है, और जब कतार रीडिंग घटक फिर से संदेश पढ़ना शुरू करता है, तो रिकवर करना शुरू कर देता है।

क्या यह उत्तर कब तक / कितनी बुरी घटना थी? हाँ; समय के साथ प्रभावित संदेशों का वर्णन करता है।


रेखांकन चर्चा

दोनों रेखांकन में, कतार के ओवरलैप होने पर और लाइनों के विचलन होने पर अस्वस्थ होने पर कतार प्रसंस्करण को आमतौर पर स्वस्थ माना जा सकता है। यह एक गैर-तकनीकी टीम के सदस्य को पढ़ाने का एक आसान पैटर्न है, और इन ग्राफ़ों के साथ प्रस्तुत किए जाने पर समस्याएं कहां और कैसे होती हैं, इसे शीघ्रता से समाप्त करने में उनकी मदद कर सकते हैं।

ग्राफ़ में विशिष्ट बिंदुओं को और अधिक संप्रेषित करने के लिए, आप उन्हें केवल एनोटेट कर सकते हैं:

दोनों पिछले ग्राफ़ एनोटेशन के साथ।

रेखांकन युक्तियाँ:

  • लेबल इकाइयों और कुल्हाड़ियों।
  • रेखांकन में मीट्रिक मिलान के लिए लगातार रंगों का उपयोग करें। ध्यान दें कि NumberOfMessagesReceived दोनों ग्राफ़ में नारंगी है; यह विभिन्न रेखांकन में एक ही मीट्रिक की कल्पना करने में मदद करेगा।
  • लंबवत संरेखित ग्राफ़ जो समान मैट्रिक्स का वर्णन करते हैं ताकि वे समय के साथ तुलना करना आसान हो।

नोट: मैंने इन ग्राफ़ को StackExchange पर प्रस्तुति के लिए स्वरूपित किया है, इसलिए ये आवश्यक नहीं हैं कि मैं उन्हें आउटेज पोस्टमार्टम में कैसे प्रस्तुत करूँ। मैंने स्पष्ट रूप से बाईं अक्ष से मानों को हटा दिया है ताकि उन्हें StackExchange से अस्पष्ट किया जा सके; आप उन्हें अपने पोस्टमार्टम में रखना चाहते हैं।


अतिरिक्त सुझाव

  • अपनी टीम को सशक्त बनाएं: अपने टीम के सदस्यों को इन ग्राफ़ को पढ़ने के लिए प्रशिक्षित करने के बाद, कोई कारण नहीं है कि उन्हें छिपा कर रखें। CloudWatch डैशबोर्ड स्थापित करने पर विचार करें और अपने गैर-तकनीकी टीम के सदस्यों को CloudWatch तक केवल IAM पहुँच प्रदान करें , ताकि वे इन ग्राफ़ को कभी भी देख सकें।
  • अधिसूचनाएँ सेट करें: यदि यह कुछ सहमति-योग्य उच्च मानों से अधिक हो, और संभावित समस्याओं की सूचना देने के लिए टीम के सदस्यों की सदस्यता लें, तो लगभग अनुमानित मान के आधार पर क्लाउडवॉच अलार्म स्थापित करने पर विचार करें । क्लाउडवॉच अलार्म का वर्णन फ़ील्ड है जो अधिसूचना ईमेल के साथ भेजा जाता है - अपने गैर-तकनीकी सदस्यों को अलार्म को प्रसारित करने में मदद करने के लिए मानव-पठनीय विवरण शामिल करना सुनिश्चित करें।
  • : अन्य डाटा का अन्वेषण प्रति एव्जेनी की टिप्पणी , क्या CloudWatch प्रदान करता है परे अन्य डेटा का पता लगाने और आप अपनी टीम को उस डेटा को व्यक्त करने के बारे में सोचते हैं। हिस्टोग्राम बनाने के लिए कतार में संदेश जीवनकाल का उपयोग करने का उनका उदाहरण इस रचनात्मक सोच का एक बड़ा उदाहरण है, और आपके आवेदन में संदेश भेजने और संदेश प्राप्त करने दोनों समय लॉग इन करके पूरा किया जा सकता है। आप SendiveMestage API प्रतिसाद के प्रत्येक कतार संदेश पर SentTimeStamp विशेषता के माध्यम से भेजा गया संदेश भेज सकते हैं । अधिक जानकारी यहाँ

1
क्लाउडवॉच द्वारा प्रदान किए गए न केवल अलग-अलग दृष्टिकोणों के डेटा को देखने के लिए यह बहुत उपयोगी है। उदाहरण के लिए यदि आप एक हिस्टोग्राम दिखा सकते हैं कि प्रत्येक संदेश कतार में कितने समय तक रहता है, तो यह दर्शाता है कि कुछ संदेश एक्स समय के लिए रहते हैं जबकि अन्य एक्स * 2 समय के लिए रहते हैं। और आउटेज के दौरान हिस्टोग्राम अपने उच्च बिंदुओं को X * 4 या किसी चीज की ओर ले जाता है ... देखने के लिए बेहद शक्तिशाली।
इवगेनी

4
इसके अलावा, केवल यह कहना चाहते हैं: यह एक बिल्कुल अद्भुत जवाब है।
इवगेनी

साभार @Evgeny! यह एक महान विचार है और मैंने आपकी टिप्पणी का श्रेय इसके आधार पर उत्तर पर एक और टिप जोड़ दिया है।
एंथनी नाइस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.