मेट्रिक्स
मेट्रिक्स आपके सिस्टम के प्रदर्शन के बारे में डेटा हैं। सिस्टम या रिसोर्स से संबंधित सभी मेट्रिक्स का एक केंद्रीकृत स्थान पर उपलब्ध होना आपको मेट्रिक्स की तुलना करने, प्रदर्शन का एनालिसिस करने, और रिसोर्स को स्केल-अप या स्केल-इन करने जैसे बेहतर रणनीतिक निर्णय लेने की क्षमता प्रदान करता है। मेट्रिक्स रिसोर्स की स्वास्थ्य जानने और सक्रिय उपाय करने के लिए भी महत्वपूर्ण हैं।
मेट्रिक डेटा मूलभूत है और अलार्म, एनोमली डिटेक्शन, इवेंट, डैशबोर्ड और अधिक को संचालित करने के लिए उपयोग किया जाता है।
वेंडेड मेट्रिक्स
CloudWatch metrics आपके सिस्टम के प्रदर्शन के बारे में डेटा एकत्र करता है। डिफ़ॉल्ट रूप से, अधिकांश AWS सेवाएं अपने रिसोर्स के लिए मुफ्त मेट्रिक्स प्रदान करती हैं। इसमें Amazon EC2 इंस्टेंस, Amazon RDS, Amazon S3 बकेट, और बहुत कुछ शामिल हैं ।
हम इन मेट्रिक्स को वेंडेड मेट्रिक्स के रूप में संदर्भित करते हैं। आपके AWS अकाउंट में वेंडेड मेट्रिक्स के संग्रह के लिए कोई शुल्क नहीं है।
AWS सेवाओं की पूरी सूची जो CloudWatch को मेट्रिक्स उत्सर्जित करती हैं, इस पेज पर देखें।
मेट्रिक्स क्वेरी करना
आप CloudWatch में metric math सुविधा का उपयोग कई मेट्रिक्स को क्वेरी करने और अधिक ग्रैन्युलैरिटी के लिए मेट्रिक्स का विश्लेषण करने के लिए मैथ एक्सप्रेशन का उपयोग कर सकते हैं। उदाहरण के लिए, आप Lambda एरर रेट पता करने के लिए एक metric math एक्सप्रेशन लिख सकते हैं:
Errors/Requests
नीचे आप देख सकते हैं कि यह CloudWatch कंसोल में कैसे दिखाई दे सकता है:

अपने डेटा से सबसे अधिक मूल्य प्राप्त करने और अलग-अलग डेटा स्रोतों के प्रदर्शन से मान derive करने के लिए metric math का उपयोग करें।
CloudWatch कंडीशनल स्टेटमेंट का भी समर्थन करता है। उदाहरण के लिए, प्रत्येक टाइमसीरीज़ के लिए 1 का मान लौटाने के लिए जहां लेटेंसी एक विशिष्ट थ्रेशोल्ड से अधिक है, और अन्य सभी डेटा पॉइंट के लिए 0, एक क्वेरी इस प्रकार होगी:
IF(latency>threshold, 1, 0)
CloudWatch कंसोल में हम इस लॉजिक का उपयोग बूलियन मान बनाने के लिए कर सकते हैं, जो बदले में CloudWatch alarms या अन्य एक्शन ट्रिगर कर सकते हैं। यह derived डेटापॉइंट से स्वचालित एक्शन सक्षम कर सकता है। CloudWatch कंसोल से एक उदाहरण नीचे है:

derived मानों के लिए प्रदर्शन थ्रेशोल्ड से अधिक होने पर अलार्म और नोटिफिकेशन ट्रिगर करने के लिए कंडीशनल स्टेटमेंट का उपयोग करें।
आप किसी भी मेट्रिक के शीर्ष n दिखाने के लिए SEARCH फंक्शन का भी उपयोग कर सकते हैं। बड़ी संख्या में टाइमसीरीज़ (जैसे हजारों सर्वर) में सबसे अच्छे या सबसे खराब प्रदर्शन करने वाले मेट्रिक्स को विज़ुअलाइज़ करते समय यह दृष्टिकोण आपको केवल वह डेटा देखने देता है जो सबसे अधिक मायने रखता है। यहां पिछले पांच मिनटों में औसतन शीर्ष दो CPU-उपभोक्ता EC2 इंस्टेंस लौटाने वाली सर्च का एक उदाहरण है:
SLICE(SORT(SEARCH('{AWS/EC2,InstanceId} MetricName="CPUUtilization"', 'Average', 300), MAX, DESC),0, 2)
और CloudWatch कंसोल में इसका एक दृश्य:

अपने एनवायरनमेंट में मूल्यवान या सबसे खराब प्रदर्शन करने वाले रिसोर्स को तेज़ी से प्रदर्शित करने के लिए SEARCH दृष्टिकोण का उपयोग करें, और फिर इन्हें डैशबोर्ड में प्रदर्शित करें।
मेट्रिक्स एकत्र करना
यदि आप अपने EC2 इंस्टेंस के लिए मेमोरी या डिस्क स्पेस उपयोगिता जैसे अत िरिक्त मेट्रिक्स चाहते हैं, तो आप अपनी ओर से इस डेटा को CloudWatch में पुश करने के लिए CloudWatch agent का उपयोग करते हैं। या यदि आपके पास कस्टम प्रोसेसिंग डेटा है जिसे ग्राफिकल तरीके से विज़ुअलाइज़ करने की आवश्यकता है, और आप चाहते हैं कि यह डेटा CloudWatch मेट्रिक के रूप में मौजूद हो, तो आप CloudWatch पर कस्टम मेट्रिक्स प्रकाशित करने के लिए PutMetricData API का उपयोग कर सकते हैं।
बेयर API के बजाय CloudWatch को मेट्रिक डेटा पुश करने के लिए AWS SDK में से किसी एक का उपयोग करें।
PutMetricData API कॉल क्वेरी की संख्या पर चार्ज किए जाते हैं। सर्वोत्तम अभ्यास PutMetricData API का इष्टतम उपयोग करना है। इस API में Values and Counts मेथड का उपयोग करके, आप एक PutMetricData अनुरोध के साथ प्रति मेट्रिक 150 मान तक प्रकाशित कर सकते हैं, और इस डेटा पर percentile सांख्यिकी प्राप्त करने का समर्थन करता है। इस प्रकार, प्रत्येक डेटापॉइंट के लिए अलग API कॉल करने के बजाय, आपको अपने सभी डेटापॉइंट को एक साथ ग्रुप करना चाहिए और फिर एक ही PutMetricData API कॉल में CloudWatch में पुश करना चाहिए। यह दृष्टिकोण उपयोगकर्ता को दो तरीकों से लाभ पहुंचाता है:
- CloudWatch मूल्य निर्धारण
PutMetricDataAPI थ्रॉटलिंग को रोका जा सकता है
PutMetricData का उपयोग करते समय, सर्वोत्तम अभ्यास जब भी संभव हो अपने डेटा को एक PUT ऑपरेशन में बैच करना है।
यदि बड़ी मात्रा में मेट्रिक्स CloudWatch में उत्सर्जित किए जाते हैं तो एक वैकल्पिक दृष्टिकोण के रूप में Embedded Metric Format का उपयोग करने पर विचार करें। ध्यान दें कि Embedded Metric Format PutMetricData का उपयोग नहीं करता, न ही इसके लिए चार्ज करता है, हालांकि यह CloudWatch Logs के उपयोग से बिलिंग लगाता है।
एनोमली डिटेक्शन
CloudWatch में एक एनोमली डिटेक्शन सुविधा है जो रिकॉर्ड किए गए मेट्रिक्स के आधार पर सामान्य क्या है यह सीखकर आपकी ऑब्ज़र्वेबिलिटी नीति को बढ़ाती है। एनोमली डिटेक्शन का उपयोग किसी भी मेट्रिक सिग्नल संग्रह प्रणाली के लिए एक सर्वोत्तम अभ्यास है।
एनोमली डिटेक्शन दो सप्ताह की अवधि में एक मॉडल बनाता है।
एनोमली डिटेक्शन अपना मॉडल केवल निर्माण के समय से आगे बनाता है। यह पिछले आउटलायर खोजने के लिए समय में पीछे नहीं जाता।
एनोमली डिटेक्शन को नहीं पता कि एक मेट्रिक के लिए अच्छा क्या है, केवल मानक विचलन के आधार पर सामान्य क्या है।
सर्वोत्तम अभ्यास अपने एनोमली डिटेक्शन मॉडल को केवल दिन के उन समय का विश्लेषण करने के लिए प्रशिक्षित करना है जब सामान्य व्यवहार अपेक्षित है। आप प्रशिक्षण से बाहर रखने के लिए समय अवधि (जैसे रातें, सप्ताहांत, या छुट्टियां) परिभाषित कर सकते हैं।
एनोमली डिटेक्शन बैंड का एक उदाहरण यहां देखा जा सकता है, ग्रे में बैंड के साथ।

एनोमली डिटेक्शन के लिए बहिष्करण विंडो सेट करना CloudWatch कंसोल, CloudFormation, या AWS SDK में से किसी एक का उपयोग करके किया जा सकता है।