स्मार्ट होम में रुकावट की निगरानी करना

1. शुरू करने से पहले

हमने स्मार्ट होम को डीबग करना कोडलैब में बताया है कि हम आपके स्मार्ट होम प्रोजेक्ट के लिए मेट्रिक और लॉग पब्लिश कर रहे हैं. मेट्रिक से यह पता चलता है कि स्मार्ट होम ऐक्शन में कहां समस्या आ रही है. साथ ही, इन समस्याओं को हल करने के लिए लॉग फ़ाइलें काम आती हैं.

dd44868a4ff2df6e.png

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

ज़रूरी शर्तें

आपको क्या सीखने को मिलेगा

  • अपने प्रोजेक्ट में परफ़ॉर्मेंस से जुड़ी समस्याओं और सेवा में रुकावटों पर नज़र रखने का तरीका.
  • थ्रेशोल्ड के आधार पर सूचना बनाने और रुकावटों के दौरान सूचनाएं पाने का तरीका.
  • आउटेज का पता लगाने के लिए, अपने प्रोजेक्ट को दी गई कॉन्फ़िडेंस मेट्रिक का इस्तेमाल कैसे करें.

2. कार्यप्रदर्शन की निगरानी

Google Home Ecosystem के साथ इंटिग्रेशन को बेहतर बनाने के लिए, परफ़ॉर्मेंस पर नज़र रखना ज़रूरी है. हम स्मार्ट होम डेवलपर को Google Cloud पर मॉनिटरिंग टूल का एक सेट उपलब्ध करा रहे हैं. इन टूल का इस्तेमाल करके, अपने प्रोजेक्ट की परफ़ॉर्मेंस के बारे में जानकारी पाई जा सकती है.

डैशबोर्ड ऐक्सेस करना

अपने डेटा को ऐक्सेस करने के लिए, सबसे पहले Google Home के डैशबोर्ड देखें. इसके लिए, Google Cloud Console में लॉग इन करें और Operations > Monitoring > Dashboards पर जाएं. आपको दिखेगा कि कई डैशबोर्ड उपलब्ध हैं. स्मार्ट होम के डैशबोर्ड में, Google Home Analytics का प्रीफ़िक्स होता है.

317697e52ced2437.png

हमने हर इंटिग्रेशन टाइप को दिखाने के लिए, अलग-अलग डैशबोर्ड बनाए हैं. क्लाउड, लोकल, और Matter इंटिग्रेशन के अपने डैशबोर्ड होते हैं. साथ ही, कैमरा स्ट्रीमिंग प्रोटोकॉल का डेटा, कैमरा क्वालिटी डैशबोर्ड में दिया जाता है. इन डैशबोर्ड में डेटा सिर्फ़ तब दिखेगा, जब आपके पास उस तरह का इंटिग्रेशन होगा. साथ ही, अनुरोधों को पूरा करने वाला प्रोजेक्ट काम कर रहा होगा.

इनमें से कोई डैशबोर्ड खोलने पर, आपको यह व्यू दिखेगा:

f8bfd69286c569a4.png

डैशबोर्ड में कई चार्ट होते हैं. इनमें आपके प्रोजेक्ट से हैंडल किए गए अनुरोधों की जानकारी दिखती है. हर इंटिग्रेशन डैशबोर्ड में, आपको ये चार्ट दिखेंगे: आपके प्रोजेक्ट से हैंडल किए गए अनुरोधों की कुल संख्या दिखाने वाला चार्ट, उस इंटिग्रेशन टाइप के लिए सफलता दर दिखाने वाला चार्ट, और डिवाइस टाइप और उनसे जुड़ी सुविधाओं को दिखाने वाले कई चार्ट.

स्मार्ट होम डिवाइसों को कंट्रोल करने वाली कार्रवाइयों की परफ़ॉर्मेंस का आकलन करने के लिए, तीन चार्ट ज़रूरी होते हैं:

f511fafd3aaaa1eb.png

सेवा बंद होने के दौरान, आपको आम तौर पर अनुरोध पूरे होने के प्रतिशत में गिरावट और गड़बड़ी की जानकारी देने वाले चार्ट में बढ़ोतरी दिखेगी. एक्ज़ीक्यूशन के सफल होने के प्रतिशत पर नज़र रखने से, आउटेज का पता लगाने में मदद मिलती है. वहीं, गड़बड़ी की जानकारी में सबसे ऊपर दिखने वाली गड़बड़ियों को देखने से, डीबग करने में मदद मिलती है. इसके अलावा, आउटेज के दौरान आपको अनुरोध पूरे होने में लगने वाले समय में बढ़ोतरी दिख सकती है. इसे अनुरोध पूरे होने में लगने वाले समय के चार्ट में देखा जा सकता है.

ध्यान दें कि Google Home Analytics डैशबोर्ड में आपको चार्ट के साथ जो डिफ़ॉल्ट व्यू दिखता है वह सिर्फ़ एक व्यू है. इसे हमने स्मार्ट होम मेट्रिक के डेटा का इस्तेमाल करके आपके प्रोजेक्ट के लिए बनाया है. मेट्रिक एक्सप्लोरर का इस्तेमाल करके, एक ही मेट्रिक के आधार पर अपने चार्ट बनाए जा सकते हैं. साथ ही, उन्हें अपने कस्टम डैशबोर्ड में सेव किया जा सकता है.

मैट्रिक्स एक्सप्लोरर

मेट्रिक एक्सप्लोरर एक ऐसा टूल है जिसकी मदद से, प्रोजेक्ट के डेटासेट के क्रॉस-सेक्शन को विज़ुअलाइज़ किया जा सकता है. इस टूल को Google Cloud Console में ऐक्सेस किया जा सकता है. इसके लिए, Operations > Monitoring > Metrics Explorer पर जाएं.

Google Cloud, कई तरह की मेट्रिक उपलब्ध कराता है. इनमें स्मार्ट होम से जुड़ी मेट्रिक के साथ-साथ अन्य मेट्रिक भी शामिल हैं. स्मार्ट होम के लिए उपलब्ध कराई जाने वाली मेट्रिक, "actions.googleapis.com/smarthome_action/..." रिसॉर्स में दी गई हैं. इन्हें आसानी से खोजा जा सकता है. इसके लिए, मेट्रिक चुनने वाले बॉक्स में "smarthome" टाइप करें.

538d851edfd34764.png

"स्मार्टहोम" खोजने पर, आपको स्मार्ट होम से जुड़ी वे सभी मेट्रिक दिखेंगी जो हम आपके प्रोजेक्ट के लिए उपलब्ध कराते हैं. हमारे दस्तावेज़ के मॉनिटरिंग और लॉगिंग पेजों पर, हमारी हर मेट्रिक के बारे में ज़्यादा जानकारी देखी जा सकती है.

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

इस मेट्रिक को चुनने पर, आपको एक स्क्रीन दिखेगी. इसमें हर डेटा बकेट, इस तरह दिखेगी:

b1c18141d15a0e09.png

असल में, इस मेट्रिक में मौजूद डेटा लेबल के हर कॉम्बिनेशन के लिए एक बकेट मौजूद होती है. यह बकेट, पिछली और मौजूदा समयावधि के बीच हुए बदलाव (डेल्टा) को रिकॉर्ड करती है. इन बकेट को ग्रुप किया जा सकता है या फ़िल्टर किया जा सकता है, ताकि आपको डेटा का वह स्लाइस मिल सके जो आपको चाहिए. इसके अलावा, डेटा को चुने गए समय के अंतराल के हिसाब से अलाइन किया जाता है. इसके लिए, अलाइनमेंट फ़ंक्शन (DELTA, MEAN, MEDIAN, SUM) का इस्तेमाल किया जाता है. जब तक कोई और ज़रूरत न हो, तब तक आम तौर पर डेल्टा मेट्रिक के साथ डेल्टा अलाइनमेंट का इस्तेमाल किया जाता है.

मेट्रिक एक्सप्लोरर का इस्तेमाल करके, Google Home Analytics डैशबोर्ड में उपलब्ध ज़्यादातर चार्ट बनाए जा सकते हैं. साथ ही, अपने चार्ट को कस्टम डैशबोर्ड में सेव किया जा सकता है, ताकि बाद में उन्हें ऐक्सेस किया जा सके. रेश्यो चार्ट जैसे ज़्यादा जटिल व्यू पाने के लिए, आपको MQL - मॉनिटरिंग क्वेरी लैंग्वेज का इस्तेमाल करना होगा.

3. सफलता मेट्रिक्स

इंटिग्रेशन की सफलता को ट्रैक करने के लिए, आपके पास दो विकल्प हैं. पहला, अनुरोधों की संख्या वाली मेट्रिक से कैलकुलेट की गई सफलता दर को बेसलाइन इंडिकेटर के तौर पर इस्तेमाल करें. दूसरा, ज़्यादा बेहतर तरीके से काम करने के लिए, सफलता की संभावना का इस्तेमाल करें.

सफलता दर

सफलता दर का हिसाब, आपके सभी इंटिग्रेशन के लिए लगाया जाता है. इसके लिए, सभी अनुरोधों की संख्या को पूरे हो चुके अनुरोधों की संख्या से भाग दिया जाता है. इसे Google Home Analytics डैशबोर्ड में, ऑर्डर पूरा होने की दर वाले चार्ट से ऐक्सेस किया जा सकता है.

55ea8930fbf48d9e.png

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

इसके अलावा, हमें लगता है कि आपके प्रोजेक्ट की परफ़ॉर्मेंस में आने वाली रुकावटों को ट्रैक करने के लिए, ज़्यादा बेहतर तरीके की ज़रूरत है. इसलिए, हमने कॉन्फ़िडेंस मेट्रिक बनाई है. यह मेट्रिक इस आधार पर बदलती है कि ऑर्डर पूरा करने की आपकी मौजूदा दर, पुराने मानकों से कितनी अलग है.

कॉन्फ़िडेंस मेट्रिक

प्रोजेक्ट के लिए, आउटेज अलग-अलग साइज़ और शेप में हो सकते हैं. ये कुछ मिनट से लेकर कई घंटों तक चल सकते हैं. इसलिए, इनकी पहचान करना मुश्किल हो सकता है. इसके लिए, हमने आपके प्रोजेक्ट में कॉन्फ़िडेंस मेट्रिक बनाई है. यह मेट्रिक, पिछली परफ़ॉर्मेंस के आधार पर भरोसेमंद होने का अनुमान लगाने के लिए, सामान्य की गई वैल्यू देती है. कॉन्फ़िडेंस मेट्रिक को ऐक्सेस करने के लिए, मेट्रिक एक्सप्लोरर में जाकर smarthome खोजें. इसके बाद, कमांड पूरी होने के कॉन्फ़िडेंस का स्कोर चुनें.

ab467a1777281526.png

अगर स्मार्ट होम इंटिग्रेशन की परफ़ॉर्मेंस, पिछले सात दिनों की औसत परफ़ॉर्मेंस के बराबर या उससे बेहतर होती है, तो इस मेट्रिक की वैल्यू ज़्यादा से ज़्यादा (1.0) होगी. जब सफलता का प्रतिशत, सात दिनों के दौरान कैलकुलेट किए गए चार स्टैंडर्ड डेविएशन से ज़्यादा होता है, तब यह मेट्रिक सबसे कम वैल्यू (0.0) दिखाती है. जिन मामलों में स्टैंडर्ड डेविएशन बहुत कम (2.5% से कम) होते हैं उनमें यह मेट्रिक, सफलता के प्रतिशत में 10% की गिरावट के आधार पर 0.0 वैल्यू तय करती है.

इन दोनों के बीच के सभी मामलों के लिए, यह मेट्रिक 1.0 (पूरी तरह से भरोसा है कि कोई रुकावट नहीं है) और 0.0 (पूरी तरह से भरोसा है कि रुकावट है) के बीच की वैल्यू देती है.

इसलिए, सूचना सेट करते समय (अगले सेक्शन में इसके बारे में बताया गया है), हमारा सुझाव है कि थ्रेशोल्ड के तौर पर 0.5 वैल्यू का इस्तेमाल करें. यह दो स्टैंडर्ड डेविएशन या 5% की गिरावट के बराबर होगा. इनमें से जो भी ज़्यादा होगा उसे लागू किया जाएगा.

4. सूचनाएं सेट अप करना

अगला चरण, पिछले सेक्शन में सीखी गई बातों का इस्तेमाल करके, अपने प्रोजेक्ट पर सूचनाएं सेट अप करना है.

सूचना देने वाली नीति बनाना

Google Cloud पर अपने-आप सूचना पाने की सुविधा, सूचना देने वाली नीतियों के ज़रिए सेट की जाती है. साइड मेन्यू में जाकर, सूचना पाने की नीतियों को ऐक्सेस किया जा सकता है. इसके लिए, कार्रवाइयां > मॉनिटरिंग > सूचनाएं टैब पर जाएं. +नीति बनाएं विकल्प चुनकर, नई सूचना देने वाली नीति बनाई जा सकती है. इससे आपको सूचना देने वाली नीति बनाने की स्क्रीन पर ले जाया जाएगा:

6e417d88c2274b3d.png

सूचना देने वाली नीति बनाने के तीन हिस्से होते हैं. सबसे पहले, आपको यह तय करना होगा कि आपको किस चीज़ को ट्रैक करना है. इसके लिए, एक शर्त जोड़ें. शर्त जोड़ें बटन दबाने पर, मेट्रिक एक्सप्लोरर जैसी विंडो दिखेगी. इसमें शर्त को कॉन्फ़िगर करने के लिए कुछ अतिरिक्त कंट्रोल भी होंगे:

df1ccf7da741e1c7.png

टारगेट के लिए, कॉन्फ़िडेंस मेट्रिक चुनें. इसके बारे में हमने पिछले सेक्शन में बताया था. पक्का करें कि इस मेट्रिक का इस्तेमाल करके, अलाइनर को डेल्टा पर सेट किया गया हो (बेहतर विकल्प दिखाएं > अलाइनर). अगला चरण, सूचना पाने की शर्त को कॉन्फ़िगर करना है. इसके लिए, इन सेटिंग का इस्तेमाल करें:

4192e0f4ea00dd28.png

शर्त पूरी होने पर सूचनाएं ट्रिगर होती हैं - यह मुख्य कॉन्फ़िगरेशन है. इससे यह तय किया जाता है कि सूचनाएं कब ट्रिगर होंगी. कोई भी टाइम सीरीज़ उल्लंघन करती है को चुनने पर, यह काम करेगा. ऐसा इसलिए, क्योंकि हम अपनी मेट्रिक पर थ्रेशोल्ड सेट करने वाले हैं और यह मॉनिटर करने वाले हैं कि वैल्यू थ्रेशोल्ड से ज़्यादा तो नहीं है.

शर्त - हमें सूचना तब चाहिए, जब वैल्यू थ्रेशोल्ड से कम हो जाए. इसलिए, हम इसे इससे कम है पर सेट करेंगे. हमारी मेट्रिक में, 1.0 का मतलब है कि इंटिग्रेशन ठीक से काम कर रहा है. वहीं, 0.0 का मतलब है कि इंटिग्रेशन काम नहीं कर रहा है.

थ्रेशोल्ड - हमने कॉन्फ़िडेंस मेट्रिक बनाई है, ताकि इस वैल्यू को 0.5 पर सेट करने पर सबसे अच्छे नतीजे मिल सकें. अगर आपको बार-बार सूचनाएं चाहिए और कम घटनाओं के लिए सूचनाएं चाहिए, तो इस वैल्यू को बढ़ाया जा सकता है. इसकी ज़्यादा से ज़्यादा वैल्यू 1.0 हो सकती है. अगर आपको सिर्फ़ गंभीर समस्याओं के लिए सूचनाएं चाहिए, तो इस वैल्यू को कम किया जा सकता है (कम से कम 0.0).

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

शर्त जोड़ने के बाद, अगला चरण सूचना पाने का चैनल चुनना है. सूचना पाने का सबसे आसान तरीका, ईमेल से मिलने वाली चेतावनियां हैं. सूचना चैनल ड्रॉपडाउन में दिए गए ईमेल में से कोई एक चुना जा सकता है:

3cc10629830e7f13.png

अगर आपने समस्या हल होने पर सूचना दें विकल्प चुना है, तो समस्या के हल होने पर आपको एक और सूचना भेजी जाएगी. ऐसे में, आपको समस्या अपने-आप बंद होने की अवधि भी चुननी चाहिए. यह अवधि डिफ़ॉल्ट रूप से सात दिन होती है.

आखिरी चरण में, सूचना को कोई नाम दें. साथ ही, वे सभी दस्तावेज़ जोड़ें जिन्हें आपको सूचनाओं में शामिल करना है.

686fb1c537fee10.png

दस्तावेज़ सबमिट करने का सुझाव दिया जाता है. खास तौर पर, अगर आपको सूचना नहीं मिलेगी. किसी घटना के दौरान कहां जांच करनी है, समस्या को कैसे प्राथमिकता देनी है, और डीबग कैसे करना है, जैसे चरणों को जोड़ने से आउटेज के दौरान मदद मिल सकती है. ज़रूरत पड़ने पर, हमारी समस्या हल करने की गाइड देखें.

सेव करने के बाद, सूचना देने से जुड़ी आपकी नीति, सूचना देने वाले पेज पर मौजूद 'नीतियां' सेक्शन में दिखेगी.

c71a001e4df035ee.png

5. रुकावटों को कम करना

सूचनाएं सेट अप करने के बाद, आपको उन सूचना चैनलों के ज़रिए आउटेज के दौरान सूचनाएं मिलेंगी जिन्हें आपने सेट अप किया है. साथ ही, सूचना पेज पर एक घटना की एंट्री भी बनाई जाएगी.

सूचनाएं पाना

इस कोडलैब में, हमने सूचना पाने के लिए ईमेल का इस्तेमाल किया था. एक बार सेट करने के बाद, उम्मीद है कि आपको कोई सूचना नहीं मिलेगी (कोई रुकावट नहीं आएगी). हालांकि, अगर आपको सूचना मिलती है, तो वह इस तरह दिखेगी:

43217b0a145c2cd.png

सूचना देने वाली सूचना में, थ्रेशोल्ड को पार करने वाली वैल्यू के साथ-साथ टाइमस्टैंप भी दिया जाता है. इससे पता चलता है कि समस्या कब शुरू हुई.

समस्याओं को मॉनिटर करना

जैसे-जैसे घटनाएं होती हैं, उन्हें सूचनाएं पाने वाले पेज पर मौजूद 'घटनाएं' सेक्शन में भी गिना जाएगा.

fdd883a9604ed981.png

किसी समस्या के बारे में ज़्यादा जानकारी देखने के लिए, उस पर क्लिक करें. जैसे, समस्या कितने समय तक रही या कितनी गंभीर थी.

याद रखें, सूचनाएं मिलने पर सबसे पहले अपनी मेट्रिक देखें. इसके बाद, लॉग में जाकर उन गड़बड़ियों को खोजें जिनकी वजह से सेवा बंद हुई है. इन कामों को करने का तरीका जानने के लिए, हमारे स्मार्ट होम को डीबग करना कोडलैब पर जाएं.

6. बधाई हो

17d485868a6771bc.png

बधाई हो! आपने यह जान लिया है कि अपने प्रोजेक्ट के लिए उपलब्ध कराई गई मेट्रिक का इस्तेमाल करके, सूचनाएं कैसे सेट अप की जाती हैं. इससे, अपने-आप होने वाले आउटेज को मॉनिटर किया जा सकता है. साथ ही, सेवा में रुकावट आने पर सूचनाएं पाई जा सकती हैं.

अगले चरण

इस कोडलैब के आधार पर, यहां दी गई गतिविधियां पूरी करें और अन्य संसाधन देखें:

  • इस कोडलैब में सीखी गई बातों को, अपने प्रोजेक्ट के लिए उपलब्ध कराई गई अन्य मेट्रिक के साथ जोड़ा जा सकता है. निगरानी पेज के सपोर्ट की गई मेट्रिक सेक्शन में जाकर, उपलब्ध मेट्रिक की पूरी सूची देखी जा सकती है.
  • सूचनाओं के लिए, अन्य तरह के सूचना चैनल एक्सप्लोर करें. इनके बारे में Google Cloud के दस्तावेज़ के सूचना के विकल्प पेज पर बताया गया है.