- आपका नया ऐप ट्रैफ़िक को कितनी अच्छी तरह संभालेगा
- आपके द्वारा किए गए अनुकूलन वास्तव में काम करेंगे या नहीं, आदि।
आवश्यकताएँ
<पी> साथ चलने के लिए, सुनिश्चित करें कि आपके पास: है- रूबी की एक स्थानीय स्थापना (यह ट्यूटोरियल संस्करण 3.3.0 का उपयोग करता है)।
- एक स्थानीय PostgreSQL इंस्टॉलेशन (आप डॉकर संस्करण या स्थानीय रूप से स्थापित संस्करण का उपयोग कर सकते हैं)।
- एप्लिकेशन को तैनात करने के लिए एक DigitalOcean खाता।
- एक AppSignal खाता (एक निःशुल्क 30-दिन का परीक्षण उपलब्ध है)।
हमारे रूबी ऑन रेल्स ऐप का परिचय
<पी> इस ट्यूटोरियल के लिए, हम एक सरल रेल्स 7 व्यय ट्रैकर ऐप का उपयोग करेंगे। उपयोगकर्ता समय के साथ अपने खर्चों को ट्रैक करने के लिए साइन अप करने और अपने व्यक्तिगत खर्चों के लिए प्रविष्टियाँ बनाने में सक्षम होंगे। <पी> हम इस ऐप को DigitalOcean पर तैनात करेंगे, फिर हुड के नीचे क्या चल रहा है, इस पर नज़र रखने के लिए AppSignal के मॉनिटरिंग समाधान को कॉन्फ़िगर करेंगे। <पी> आगे बढ़ने के लिए आप यहां से सोर्स कोड ले सकते हैं या ऐप को फोर्क कर सकते हैं।अपने रेल ऐप को DigitalOcean पर परिनियोजित करना
<पी> हम अपने एप्लिकेशन को तैनात करने के लिए DigitalOcean के ऐप प्लेटफ़ॉर्म का उपयोग करेंगे। नीचे दिए गए चरण मानते हैं कि आपने ऊपर वर्णित व्यय ट्रैकर ऐप पहले ही फोर्क कर लिया है और आपके पास एक DigitalOcean खाता तैयार है। <पी> लॉग इन करने के बाद, हम एक ऐप बनाएंगे और उसे चालू करेंगे। चूँकि हम इस प्रक्रिया के कुछ हिस्सों को नियंत्रित करना चाहते हैं, हालाँकि, पहला कदम ऐप के लिए एक डेटाबेस बनाना है।ऐप डेटाबेस बनाना
<पी> डेटाबेस पर क्लिक करें बाईं ओर मेनू पर लिंक करें, फिर डेटाबेस बनाएं पर क्लिक करें नया PostgreSQL डेटाबेस बनाने के लिए लिंक: <पी>
<पी> अगली स्क्रीन में डेटाबेस सेटिंग्स पूरी करने के बाद, डेटाबेस कनेक्शन स्ट्रिंग पर ध्यान दें। अगले चरण में ऐप बनाते समय आप इसे एक पर्यावरण चर के रूप में उपयोग करेंगे: <पी>
<पी> इस बिंदु पर, आपको संभवतः एक चेतावनी मिलेगी कि आपका डेटाबेस आने वाले सभी कनेक्शनों के लिए खुला है। इस सुरक्षा चेतावनी का ध्यान रखने के लिए संलग्न लिंक का अनुसरण करें। पी> ऐप बनाना और तैनात करना
<पी> अंत में, सबसे पहले ऐप्स पर क्लिक करके ऐप बनाएं बाईं ओर मेनू पर लिंक: <पी>
<पी> फिर ऐप के कोड रिपॉजिटरी संसाधन को नीचे दिखाए अनुसार कनेक्ट करें: <पी>
<पी> पर्यावरण चर स्क्रीन पर जारी रखें और कॉपी की गई डेटाबेस यूआरएल स्ट्रिंग डालें। साथ ही, RAILS_MASTER_KEY भी जोड़ें एक पर्यावरण चर के रूप में क्योंकि इसका उपयोग परिनियोजन प्रक्रिया में किया जाएगा। <पी>
<पी> फिर, इन पर्यावरण चर के साथ, अगला पर क्लिक करें ऐप को तैनात करने के लिए बटन: <पी>
<पी> ऐप के सफलतापूर्वक तैनात होने के साथ, अब हम AppSignal का उपयोग करके निगरानी स्थापित करेंगे। अपने रेल ऐप की निगरानी के लिए AppSignal सेट करना
<पी> सबसे पहले, अपने ऐपसिग्नल खाते में लॉग इन करें और 'रूबी एंड रेल्स' चुनें। <पी> अब AppSignal रत्न को Rails ऐप में जोड़ें। यह निफ्टी रत्न त्रुटियों, अपवादों और प्रासंगिक प्रदर्शन डेटा को एकत्र करेगा, और विश्लेषण के लिए इसे ऐपसिग्नल पर पोर्ट करेगा। <पी> ऐप की जेमफ़ाइल खोलें और जेम जोड़ें: <पी> फिरbundle install चलाएँ . <पी> अंत में, आपको इंस्टॉलेशन स्क्रिप्ट को चलाने की आवश्यकता होगी जो आपके खाता-विशिष्ट एपीआई कुंजी के साथ आती है। जब आप इस इंस्टॉल स्क्रिप्ट को चलाते हैं, तो आपको नीचे जैसा कुछ मिलना चाहिए: <पी> जब आप स्क्रिप्ट चलाते हैं तो ध्यान देने योग्य कुछ बातें हैं: - आपको अपने ऐप का नाम बदलने का विकल्प मिलेगा क्योंकि यह ऐपसिग्नल के डैशबोर्ड पर दिखाई देगा या डिफ़ॉल्ट विकल्प छोड़ देगा।
- आपको यह चुनने का विकल्प भी मिलेगा कि आप अपने ऐप के लिए AppSignal को कैसे कॉन्फ़िगर करना चाहते हैं। मेरे मामले में, मैं कॉन्फिग फ़ाइल विकल्प के साथ गया,
config/appsignal.ymlमें एक कॉन्फिग फ़ाइल बनाई , नीचे दी गई सामग्री के साथ:
- ए
push_api_keyजो ऐप को AppSignal से जोड़ता है। - ऐप का नाम AppSignal पर दिखाई देगा।
- वह परिवेश जिसमें AppSignal ऐप की निगरानी करेगा (इस मामले में, विकास और उत्पादन परिवेश दोनों)।
active सेट करें false पर ध्वजांकित करें , ऐसे ही: <पी> टिप :कॉन्फिग फ़ाइल और पर्यावरण चर विकल्प दोनों एक ही काम करते हैं। वे परिभाषित करते हैं कि ऐपसिग्नल आपके ऐप से कैसे कनेक्ट होगा, ऐप का नाम और किस वातावरण की निगरानी की जाएगी। पी> <पी> यह मानते हुए कि सब कुछ योजना के अनुसार चल रहा है, आपको एक स्क्रीन दिखनी चाहिए जिसमें दिखाया जाएगा कि ऐपसिग्नल आपके ऐप से डेटा प्राप्त कर रहा है! रेल के लिए AppSignal के डैशबोर्ड का परिचय
<पी> अब जब सब कुछ सही ढंग से सेट हो गया है और ऐपसिग्नल आपके ऐप से डेटा प्राप्त कर रहा है, तो आप नीचे दिखाए अनुसार डिफ़ॉल्ट ऐप मॉनिटरिंग डैशबोर्ड दृश्य तक पहुंच सकते हैं: <पी>
<पी> टिप :यदि आप विकास और उत्पादन परिवेश दोनों के लिए निगरानी स्थापित करते हैं, तो आप तीर द्वारा दिखाए गए चयन से उनके बीच आसानी से स्विच कर सकते हैं। पी> <पी> डिफ़ॉल्ट दृश्य से, आपके पास निम्नलिखित डिफ़ॉल्ट चार्ट तक पहुंच है: - त्रुटि दर - यह आपके ऐप में प्रति यूनिट समय में होने वाली त्रुटियों की दर दिखाएगा।
- थ्रूपुट - यहां, आपको उस थ्रूपुट का एक स्नैपशॉट मिलेगा जिसे आपका ऐप प्रति मिनट अनुरोधों के संदर्भ में संभालने में सक्षम है।
- प्रतिक्रिया समय - यह आपके ऐप का प्रतिक्रिया समय दिखाएगा।
- नवीनतम खुली त्रुटियाँ - यह अनुभाग आपके ऐप में हुई नवीनतम त्रुटियों को सूचीबद्ध करेगा।
- नवीनतम खुला प्रदर्शन माप - यह अनुभाग नवीनतम प्रदर्शन मापों को सूचीबद्ध करता है, जिसमें विधि कॉल, एपीआई अनुरोध आदि शामिल हैं
AppSignal के साथ त्रुटियों की निगरानी
<पी> दस से अधिक त्रुटि प्रकार हैं जो चल रहे रूबी ऑन रेल्स ऐप को प्रभावित कर सकते हैं। जाहिर है, कुछ दूसरों की तुलना में अधिक सामान्य हैं। इस अनुभाग में, हम इनमें से कुछ त्रुटियों का अनुकरण करेंगे और देखेंगे कि AppSignal उन्हें कैसे संभालता है। आइए पहले एक सरल उदाहरण से शुरुआत करें। <पी> चूंकि व्यय ट्रैकर ऐप प्रमाणीकरण के लिए डेविस का उपयोग कर रहा है, आइए एक जांच जोड़ें कि उपयोगकर्ता साइन इन है या नहीं। अनुशंसितuser_signed_in? का उपयोग करने के बजाय विधि, आइए त्रुटिपूर्ण user_logged_in? का उपयोग करें विधि, जिसे ActionView::Template::Error ट्रिगर करना चाहिए : <पी> इस परिवर्तन को नियोजित करें, उत्पादन ऐप को पुनः लोड करें, फिर AppSignal में उत्पादन परिवेश डैशबोर्ड में जाएं और देखें कि यह त्रुटि कैसे दिखाई देती है: <पी>
<पी> ऐपसिग्नल किसी एप्लिकेशन में होने वाली किसी भी त्रुटि के बारे में अधिक जानकारी प्राप्त करना आसान बनाता है। उदाहरण के लिए, हम ActionView के बारे में विवरण प्राप्त कर सकते हैं 'नवीनतम ओपन त्रुटियां' डैशबोर्ड पैनल से उस पर क्लिक करके टेम्पलेट त्रुटि। <पी>
<पी> आप स्पष्ट रूप से देख सकते हैं कि त्रुटि एक अपरिभाषित विधि के कारण हुई है जो हमें इसे ठीक करने के लिए सही दिशा में इंगित करती है। <पी> ऐपसिग्नल का एरर डैशबोर्ड आपको लॉगबुक के माध्यम से अतिरिक्त जानकारी भी देता है और सेटिंग्स पैनल: <पी>
- लॉगबुक - यहां, आप या आपकी टीम के सदस्य ऐपसिग्नल द्वारा ट्रैक की जा रही किसी त्रुटि पर टिप्पणियां जोड़ सकते हैं। लॉगबुक पैनल प्रश्न में त्रुटि के संबंध में की गई किसी भी कार्रवाई का कालानुक्रमिक विवरण भी दिखाता है।
- सेटिंग्स - इस पैनल से, आप किसी अन्य टीम सदस्य को त्रुटि निर्दिष्ट कर सकते हैं, अलर्ट सेटिंग्स बदल सकते हैं (हम इस ट्यूटोरियल के दूसरे भाग में इन्हें विस्तार से देखेंगे), और त्रुटि गंभीरता निर्धारित कर सकते हैं।