अधिकांश समय, AppSignal द्वारा प्रदान किए गए डिफ़ॉल्ट एप्लिकेशन निगरानी मेट्रिक्स, ग्राफ, और विज़ुअलाइज़ेशन आपके Ruby ऐप के लिए पर्याप्त होंगे। हालांकि, आप उस तरह के उपयोगकर्ता हो सकते हैं जो इस पर थोड़ा नियंत्रण पसंद करते हैं कि क्या मापा जाता है, यह कैसे प्रदर्शित होता है, और आपके ऐप के बारे में महत्वपूर्ण जानकारी कैसे प्रसारित की जानी चाहिए।
AppSignal आपको ऐप मेट्रिक्स और डैशबोर्ड को अपनी इच्छानुसार अनुकूलित करने की अनुमति देता है। इस गाइड में, हम AppSignal के कस्टम मेट्रिक्स के बारे में सब कुछ सीखेंगे, जिसमें शामिल हैं:
- कस्टम मेट्रिक्स क्या हैं
- आप सेट अप कर सकते हैं कस्टम मेट्रिक्स के विभिन्न प्रकार
- ग्राफ विज़ुअलाइज़ेशन को कैसे अनुकूलित करें
- प्रभावी अलर्ट कैसे सेट अप करें
और बहुत कुछ!
लेकिन इससे पहले कि हम गोता लगाएं, आपको साथ चलने के लिए कुछ चीजों की आवश्यकता होगी।
पूर्वापेक्षाएँ
- एक AppSignal खाता: यदि आपके पास एक नहीं है, तो 30-दिन के फ्री ट्रायल के लिए साइन अप करें।
- एक Ruby एप्लिकेशन: यह ऐप Rails, Sinatra, या सिर्फ सादे Ruby जैसे किसी भी समर्थित Ruby फ्रेमवर्क पर आधारित हो सकता है। इसके अलावा, यह एक प्रोडक्शन या डेवलपमेंट ऐप हो सकता है। यदि आप अपना ऐप स्पिन नहीं करना चाहते हैं, तो इस ट्यूटोरियल में हमारे द्वारा उपयोग किए जा रहे उदाहरण Sinatra ऐप के लिए कोड क्लोन करें।
नोट: यदि आप इस ट्यूटोरियल के साथ चलने के लिए अपने ऐप का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपका ऐप नवीनतम AppSignal Ruby जेम का उपयोग करने के लिए कॉन्फिगर किया गया है, क्योंकि इस ट्यूटोरियल में उपयोग किए गए उदाहरण मानते हैं कि यह मामला है।
कस्टम मेट्रिक्स क्या हैं?
अपने ऐप की त्रुटि दर, थ्रूपुट, और प्रदर्शन को मापने के अलावा, आप अपने ऐप के लिए विशेष रूप से अनुकूलित कस्टम डेटा को मापने में रुचि रख सकते हैं। उदाहरण के लिए, आप इस बात में रुचि रख सकते हैं कि किसी विशेष समय अवधि में कितने विजिटर्स ने आपके ऐप के लिए साइन अप किया, आपके ऐप का वेबसॉकेट लेयर कैसा प्रदर्शन कर रहा है, और इसी तरह।
ऐसे अनुकूलित मामलों के लिए, आपको AppSignal के भीतर एक मानक माप उपकरण खोजने में कठिनाई हो सकती है। इसके बजाय, आपको एक कस्टम मेट्रिक का उपयोग करना होगा। कस्टम मेट्रिक्स डिफ़ॉल्ट वाले के साथ आपके द्वारा परिभाषित अतिरिक्त मेट्रिक्स हैं जो आपके ऐप के चलने के तरीके पर गहरे संदर्भ के लिए हैं।
आगे, आइए अपना पहला कस्टम मेट्रिक सेट अप करना सीखें।
कस्टम मेट्रिक्स सेट अप करना
आप अपने एप्लिकेशन के भीतर लगभग किसी भी उपयोग के मामले के लिए एक कस्टम मेट्रिक सेट अप कर सकते हैं। आइए एक सरल उदाहरण से शुरू करें ताकि आप समझ सकें कि सब कुछ कैसे एक साथ फिट होता है।
पहला कदम एक कस्टम मेट्रिक को परिभाषित करना है जिसे AppSignal पर ट्रैक किया जाएगा। आप उपलब्ध विभिन्न मेट्रिक प्रकारों का उपयोग करके एक कस्टम मेट्रिक को परिभाषित कर सकते हैं:
- Gauges (गेज)
- Counters (काउंटर)
- Distributions (वितरण)
गेज कस्टम मेट्रिक
AppSignal में, एक गेज कस्टम मेट्रिक समय के साथ बढ़ने और घटने वाले मेट्रिक्स को मापने के लिए उपयोगी है।
आइए अपने उदाहरण Sinatra ऐप में कुल पोस्ट की संख्या को मापने के लिए एक सरल गेज कस्टम मेट्रिक सेट अप करें:
ऊपर दिखाए गए कोड में, हम Appsignal::Helpers::Metrics मॉड्यूल का उपयोग करते हैं और set_gauge मेथड को कॉल करते हैं, जो तीन आर्गुमेंट स्वीकार करता है:
key: कस्टम मेट्रिक का नाम। उदाहरण में, यह all_posts होगा।value- मापा जाने वाला मेट्रिक या "चीज"। ऊपर दिखाए गए उदाहरण में, यह केवल कुल पोस्ट काउंट है।tags- अतिरिक्त और वैकल्पिक मेटाडेटा जिसे कस्टम मेट्रिक में जोड़ा जा सकता है और जो मापे जा रहे डेटा को आप जैसे चाहें लेबल करने के लिए उपयोगी हैं। उदाहरण के लिए, हमposts_countमेट्रिक को आसानी से एनवायरनमेंट के लिए टैग कर सकते हैं, जैसा कि नीचे दिखाया गया है:
बहुत बढ़िया, हमने अभी अपना पहला कस्टम गेज मेट्रिक जोड़ा है! लेकिन अगर आप AppSignal पर वापस जाते हैं, तो आपका नया कस्टम मेट्रिक दिखाई नहीं देगा। इसके बजाय, आप डिफ़ॉल्ट डैशबोर्ड देखेंगे, जैसा कि नीचे दिखाया गया है:

तो कस्टम मेट्रिक को प्रकट करने के लिए आपको क्या करने की आवश्यकता है? आपको एक डैशबोर्ड जोड़ना होगा। एक नया डैशबोर्ड बनाने से शुरू करें:

फिर अपने नए डैशबोर्ड को एक वर्णनात्मक शीर्षक और विवरण के साथ नाम दें:

कस्टम डैशबोर्ड जोड़ने के साथ, अब आपको कस्टम मेट्रिक के लिए एक ग्राफ जोड़ना होगा:

फिर नए ग्राफ को परिभाषित करें:

नए ग्राफ को सेट करने के लिए फ़ील्ड्स का विवरण यहां दिया गया है:
- a. शीर्षक - नए ग्राफ के लिए एक वर्णनात्मक शीर्षक दर्ज करें।
- b. विवरण - यह वैकल्पिक है, लेकिन आप नए ग्राफ के लिए एक विवरण दर्ज कर सकते हैं।
- c. मेट्रिक्स - यहां वह जगह है जहां आप उस मेट्रिक को परिभाषित करते हैं जिसे नए ग्राफ द्वारा मापा और प्रदर्शित किया जाएगा। यह कस्टम मेट्रिक का नाम है, या
set_gaugeमेथड में परिभाषित पहला आर्गुमेंट:all_posts। इस खंड में, आप टैग भी परिभाषित कर सकते हैं (उदाहरण के लिए, टैग environment भी शामिल है जैसा कि दिखाया गया है)। - d. ग्राफ प्रदर्शन - यहां आप अपने नए ग्राफ के लिए ग्राफ प्रदर्शन का प्रकार चुनते हैं।
- e. लीजेंड लेबल - आप यहां चार्ट लीजेंड के लिए लेबल को अनुकूलित कर सकते हैं।
- f. डेटा फॉर्मेट - ग्राफ प्रदर्शन के लिए उपयोग किए जाने वाले डेटा प्रकार को परिभाषित करें। आप कई फॉर्मेट से चुन सकते हैं, जिनमें नंबर, प्रतिशत, थ्रूपुट (requests/minute या hour में), अवधि (मिलीसेकंड में), या फाइल साइज (बाइट्स में) शामिल हैं।
एक बार जब आप नए ग्राफ के गुणों को ठीक से परिभाषित कर लेते हैं, तो आपको कस्टम मेट्रिक के लिए एक ग्राफ मिलना चाहिए। यह नीचे दिखाए गए के समान है:

आगे बढ़ते हुए, आइए अगले कस्टम मेट्रिक प्रकार को देखें: काउंटर।
काउंटर कस्टम मेट्रिक
एक काउंटर कस्टम मेट्रिक यह मापने के लिए बहुत अच्छा है कि कोई घटना कितनी बार होती है। उदाहरण एप्लिकेशन का उपयोग करके, हम हर बार होम (रूट) पेज विजिट होने पर मापने के लिए एक काउंटर मेट्रिक लागू कर सकते हैं।
शुरू करने के लिए, रूट मेथड को नीचे दिखाए गए कोड को शामिल करने के लिए संपादित करें:
यहां, हम AppSignal के increment_counter मेथड का उपयोग करते हैं और इसे पहले आर्गुमेंट के रूप में visits_count पास करते हैं। इन्क्रीमेंट स्टेप दूसरा आर्गुमेंट, पूर्णांक 1 है। आप तीसरे आर्गुमेंट के रूप में एक tags हैश भी जोड़ सकते हैं, लेकिन हम इसे वैसे ही छोड़ देंगे (क्योंकि यह पिछले अनुभाग में कवर किया गया था)।
अब आगे बढ़ें और गेज मेट्रिक प्रकार के लिए उल्लिखित चरणों का पालन करें। इस काउंटर मेट्रिक के लिए एक कस्टम ग्राफ जोड़ें ताकि आपको नीचे दिखाए गए के समान एक ग्राफ मिले:

आइए डिस्ट्रीब्यूशन कस्टम मेट्रिक पर गियर स्विच करें।
डिस्ट्रीब्यूशन कस्टम मेट्रिक
AppSignal डिस्ट्रीब्यूशन कस्टम मेट्रिक प्रति यूनिट समय में किसी चीज़ को मापने के लिए उपयोगी है: उदाहरण के लिए, PDF रिपोर्ट जनरेट करने में कितने सेकंड लगते हैं, या बैकग्राउंड जॉब को निष्पादित करने में कितना समय लगता है।
उदाहरण एप्लिकेशन का उपयोग करके, आइए मुख्य फाइल को एक ओपन API एंडपॉइंट पर कॉल शामिल करने के लिए संशोधित करें। फिर, हम एक कस्टम डिस्ट्रीब्यूशन का उपयोग करके मापेंगे कि API कॉल को मिलीसेकंड में कितना समय लगता है।
अब, यदि हम AppSignal पर वापस जाते हैं, तो हम कस्टम डिस्ट्रीब्यूशन को ग्राफ के रूप में देख सकते हैं।
टिप: कस्टम ग्राफ विज़ुअलाइज़ेशन सेट अप करने के लिए गेज अनुभाग में उल्लिखित चरणों का पालन कर सकते हैं।

अब जब आपने कस्टम मेट्रिक्स और साथ में ग्राफ विज़ुअलाइज़ेशन बनाना सीख लिया है, तो आपने देखा होगा कि यह देखते रहने के लिए AppSignal डैशबोर्ड पर वापस जाना बहुत सुविधाजनक नहीं है कि आपके ऐप के साथ क्या हो रहा है। इसके बजाय, यह बहुत आसान होगा यदि आप अपने कस्टम मेट्रिक्स के लिए एक सूचना प्राप्त कर सकें, है ना?
आइए अगले अपने कस्टम मेट्रिक्स के लिए सूचना अलर्ट सेट अप करना सीखें।
सूचना अलर्ट
डिफ़ॉल्ट रूप से, जब भी कोई त्रुटि या प्रदर्शन घटना होती है, AppSignal उस घटना के लिए एक घटना खोलेगा और इसे संबंधित अनुभाग में रखेगा। उदाहरण के लिए, यदि यह एक त्रुटि है, तो आप इसे त्रुटि सूची में पाएंगे, जबकि प्रदर्शन घटनाएं प्रदर्शन सूची में होंगी।
इसके अतिरिक्त, AppSignal ईमेल के माध्यम से घटना सूचनाएं भेजता है (डिफ़ॉल्ट सूचना चैनल)। आप अन्य सूचना चैनल भी सेट अप कर सकते हैं, जैसे:
- Discord
- Google Hangouts
- Intercom
- Microsoft Teams
- Slack
- Webhook
और अधिक।
लेकिन इससे पहले कि हम अपने पहले बनाए गए कस्टम मेट्रिक्स में से एक के लिए एक सूचना ट्रिगर सेट अप करें, आपके लिए उपलब्ध विभिन्न सूचना विकल्पों से अवगत होना महत्वपूर्ण है।
शुरू करने के लिए, आप एक सूचना सेट अप कर सकते हैं:
- हर बार - यहां, हर बार एक घटना घटित होने पर एक सूचना भेजी जाएगी।
- पहला डिप्लॉय - यह इंगित करता है कि एक डिप्लॉयमेंट के बाद पहली बार एक घटना घटित होने पर एक सूचना भेजी जाएगी।
- क्लोज के बाद पहला - यहां, जब भी पिछली वाली बंद होने के बाद एक घटना फिर से होती है तो एक सूचना भेजी जाती है।
- कभी सूचित न करें - जैसा कि नाम से पता चलता है, इस मामले में, एक सूचना कभी नहीं भेजी जाएगी, लेकिन त्रुटि या प्रदर्शन घटना अभी भी AppSignal पर ट्रैक की जाएगी।
- हर nth घंटे या दिन - इस विकल्प के साथ, आप निर्दिष्ट कर सकते हैं कि एक घंटे या एक दिन के भीतर आपको कितने अलर्ट भेजे जाएंगे। यह विकल्प महत्वपूर्ण घटनाओं की सूचना प्राप्त करने और बहुत अधिक सूचनाओं (जो आसानी से आपको या आपकी टीम को अभिभूत कर सकती हैं) के बीच संतुलन बनाए रखने के लिए एकदम सही है।
मैं आपको इन विकल्पों पर अधिक जानकारी के लिए AppSignal की सूचना सेटिंग्स डॉक्यूमेंटेशन में गहराई से जाने का अत्यधिक सुझाव देता हूं।
आइए देखें कि हमारे द्वारा पहले बनाए गए कस्टम मेट्रिक्स में से एक के लिए सूचना कैसे सेट अप करें। यह एक तुच्छ उदाहरण होगा, लेकिन यह उन चरणों को चित्रित करेगा जिनसे आपको अपने उपयोग के मामले के लिए गुजरना होगा।
अपने कस्टम मेट्रिक्स के लिए सूचना अलर्ट सेट अप करना
इस उदाहरण के लिए, हम पहले इस पोस्ट में API कॉल की अवधि को मापने वाले डिस्ट्रीब्यूशन मेट्रिक का उपयोग करेंगे। मान लें कि हम एक ईमेल अलर्ट प्राप्त करना चाहते हैं जब भी औसत अवधि एक निश्चित संख्या (मिलीसेकंड में) से अधिक हो जाती है।
इसे सेट अप करने के चरण नीचे दिखाए गए हैं:

सबसे पहले, बाएं हाथ के मेनू में Triggers लिंक पर क्लिक करके शुरू करें।

अपने ट्रिगर को एक प्रासंगिक नाम दें, फिर उस माप का चयन करें जिसके लिए यह सूचना अभिप्रेत है। इस उदाहरण में, हम fetch_books_duration डिस्ट्रीब्यूशन कस्टम मेट्रिक का उपयोग कर रहे हैं। यदि आप चाहें तो टैग भी जोड़ सकते हैं।
अगला, तुलना ऑपरेटर और जांचने के लिए मान को परिभाषित करें। उदाहरण के लिए, मान लें कि हम तब एक अलर्ट प्राप्त करना चाहते हैं जब भी अवधि 1600 मिलीसेकंड से अधिक हो जाती है। इसके लिए, हम तुलना ऑपरेटर अधिक का चयन करेंगे, फिर, 1600 का मान।

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

इसे पूरा करने के साथ, जब भी आपके द्वारा यहां इनपुट की गई सेटिंग्स से मेल खाने वाली घटना घटित होगी, आपको एक सूचना प्राप्त होगी।
और बस!
समापन
इस आलेख में, हमने मिलान डैशबोर्ड और ग्राफ विज़ुअलाइज़ेशन के साथ AppSignal पर Ruby एप्लिकेशन के लिए कस्टम मेट्रिक्स सेट अप करना सीखा।
AppSignal द्वारा प्रदान की जाने वाली कस्टम मेट्रिक्स कार्यक्षमता को बहुत शक्तिशाली अनुप्रयोगों के लिए ठीक किया जा सकता है। अधिक संभावनाओं की खोज के लिए AppSignal के कस्टम मेट्रिक्स डॉक्यूमेंटेशन में गहराई से जाएं।
अगली बार तक, हैप्पी कोडिंग!
P.S. यदि आप Ruby Magic पोस्ट पढ़ना चाहते हैं जैसे ही वे प्रेस से निकलते हैं, तो हमारे Ruby Magic न्यूज़लेटर की सदस्यता लें और कभी भी एक भी पोस्ट मिस न करें!