Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> इसकी कल्पना करें:आपने अभी-अभी अपने बिल्कुल नए रेल ऐप पर काम करना समाप्त किया है और इसे DigitalOcean जैसे क्लाउड प्रदाता पर तैनात किया है। किसी भी डेवलपर की तरह, आपको अपने काम पर बहुत गर्व है लेकिन आपके पास अभी भी बहुत सारे प्रश्न हैं, जैसे:

  • आपका नया ऐप ट्रैफ़िक को कितनी अच्छी तरह संभालेगा
  • आपके द्वारा किए गए अनुकूलन वास्तव में काम करेंगे या नहीं, आदि।
<पी> आपका लक्ष्य सर्वोत्तम उपयोगकर्ता अनुभव प्रदान करना है। आप चाहते हैं कि जब भी त्रुटियाँ या अन्य महत्वपूर्ण घटनाएँ घटित हों तो आपको सूचित किया जाए ताकि आप उनका शीघ्रता से समाधान कर सकें।

<पी> ऐसा सेटअप होना बहुत अच्छा होगा जो स्वचालित रूप से आपके एप्लिकेशन की निगरानी करता हो। ऐपसिग्नल दर्ज करें! इस लेख में, दो-भाग की श्रृंखला के पहले भाग में, हम AppSignal सेट करेंगे ताकि आप DigitalOcean पर होस्ट किए गए अपने रेल ऐप की प्रभावी ढंग से निगरानी कर सकें।

आवश्यकताएँ

<पी> साथ चलने के लिए, सुनिश्चित करें कि आपके पास:

है
  • रूबी की एक स्थानीय स्थापना (यह ट्यूटोरियल संस्करण 3.3.0 का उपयोग करता है)।
  • एक स्थानीय PostgreSQL इंस्टॉलेशन (आप डॉकर संस्करण या स्थानीय रूप से स्थापित संस्करण का उपयोग कर सकते हैं)।
  • एप्लिकेशन को तैनात करने के लिए एक DigitalOcean खाता।
  • एक AppSignal खाता (एक निःशुल्क 30-दिन का परीक्षण उपलब्ध है)।

हमारे रूबी ऑन रेल्स ऐप का परिचय

<पी> इस ट्यूटोरियल के लिए, हम एक सरल रेल्स 7 व्यय ट्रैकर ऐप का उपयोग करेंगे। उपयोगकर्ता समय के साथ अपने खर्चों को ट्रैक करने के लिए साइन अप करने और अपने व्यक्तिगत खर्चों के लिए प्रविष्टियाँ बनाने में सक्षम होंगे।

<पी> हम इस ऐप को DigitalOcean पर तैनात करेंगे, फिर हुड के नीचे क्या चल रहा है, इस पर नज़र रखने के लिए AppSignal के मॉनिटरिंग समाधान को कॉन्फ़िगर करेंगे।

<पी> आगे बढ़ने के लिए आप यहां से सोर्स कोड ले सकते हैं या ऐप को फोर्क कर सकते हैं।

अपने रेल ऐप को DigitalOcean पर परिनियोजित करना

<पी> हम अपने एप्लिकेशन को तैनात करने के लिए DigitalOcean के ऐप प्लेटफ़ॉर्म का उपयोग करेंगे। नीचे दिए गए चरण मानते हैं कि आपने ऊपर वर्णित व्यय ट्रैकर ऐप पहले ही फोर्क कर लिया है और आपके पास एक DigitalOcean खाता तैयार है।

<पी> लॉग इन करने के बाद, हम एक ऐप बनाएंगे और उसे चालू करेंगे। चूँकि हम इस प्रक्रिया के कुछ हिस्सों को नियंत्रित करना चाहते हैं, हालाँकि, पहला कदम ऐप के लिए एक डेटाबेस बनाना है।

ऐप डेटाबेस बनाना

<पी> डेटाबेस पर क्लिक करें बाईं ओर मेनू पर लिंक करें, फिर डेटाबेस बनाएं पर क्लिक करें नया PostgreSQL डेटाबेस बनाने के लिए लिंक:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> अगली स्क्रीन में डेटाबेस सेटिंग्स पूरी करने के बाद, डेटाबेस कनेक्शन स्ट्रिंग पर ध्यान दें। अगले चरण में ऐप बनाते समय आप इसे एक पर्यावरण चर के रूप में उपयोग करेंगे:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> इस बिंदु पर, आपको संभवतः एक चेतावनी मिलेगी कि आपका डेटाबेस आने वाले सभी कनेक्शनों के लिए खुला है। इस सुरक्षा चेतावनी का ध्यान रखने के लिए संलग्न लिंक का अनुसरण करें।

ऐप बनाना और तैनात करना

<पी> अंत में, सबसे पहले ऐप्स पर क्लिक करके ऐप बनाएं बाईं ओर मेनू पर लिंक:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> फिर ऐप के कोड रिपॉजिटरी संसाधन को नीचे दिखाए अनुसार कनेक्ट करें:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> पर्यावरण चर स्क्रीन पर जारी रखें और कॉपी की गई डेटाबेस यूआरएल स्ट्रिंग डालें। साथ ही, RAILS_MASTER_KEY भी जोड़ें एक पर्यावरण चर के रूप में क्योंकि इसका उपयोग परिनियोजन प्रक्रिया में किया जाएगा।

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> फिर, इन पर्यावरण चर के साथ, अगला पर क्लिक करें ऐप को तैनात करने के लिए बटन:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> ऐप के सफलतापूर्वक तैनात होने के साथ, अब हम AppSignal का उपयोग करके निगरानी स्थापित करेंगे।

अपने रेल ऐप की निगरानी के लिए AppSignal सेट करना

<पी> सबसे पहले, अपने ऐपसिग्नल खाते में लॉग इन करें और 'रूबी एंड रेल्स' चुनें।

<पी> अब AppSignal रत्न को Rails ऐप में जोड़ें। यह निफ्टी रत्न त्रुटियों, अपवादों और प्रासंगिक प्रदर्शन डेटा को एकत्र करेगा, और विश्लेषण के लिए इसे ऐपसिग्नल पर पोर्ट करेगा।

<पी> ऐप की जेमफ़ाइल खोलें और जेम जोड़ें:

 <पी> फिर bundle install चलाएँ .

<पी> अंत में, आपको इंस्टॉलेशन स्क्रिप्ट को चलाने की आवश्यकता होगी जो आपके खाता-विशिष्ट एपीआई कुंजी के साथ आती है। जब आप इस इंस्टॉल स्क्रिप्ट को चलाते हैं, तो आपको नीचे जैसा कुछ मिलना चाहिए:

 <पी> जब आप स्क्रिप्ट चलाते हैं तो ध्यान देने योग्य कुछ बातें हैं:

  • आपको अपने ऐप का नाम बदलने का विकल्प मिलेगा क्योंकि यह ऐपसिग्नल के डैशबोर्ड पर दिखाई देगा या डिफ़ॉल्ट विकल्प छोड़ देगा।
  • आपको यह चुनने का विकल्प भी मिलेगा कि आप अपने ऐप के लिए AppSignal को कैसे कॉन्फ़िगर करना चाहते हैं। मेरे मामले में, मैं कॉन्फिग फ़ाइल विकल्प के साथ गया, config/appsignal.yml में एक कॉन्फिग फ़ाइल बनाई , नीचे दी गई सामग्री के साथ:
 <पी> यहां, हम परिभाषित करते हैं:

  • push_api_key जो ऐप को AppSignal से जोड़ता है।
  • ऐप का नाम AppSignal पर दिखाई देगा।
  • वह परिवेश जिसमें AppSignal ऐप की निगरानी करेगा (इस मामले में, विकास और उत्पादन परिवेश दोनों)।
<पी> वैसे, यदि आप विकास परिवेश पर ऐपसिग्नल मॉनिटरिंग बंद करना चाहते हैं, तो बस active सेट करें false पर ध्वजांकित करें , ऐसे ही:

 <पी> टिप :कॉन्फिग फ़ाइल और पर्यावरण चर विकल्प दोनों एक ही काम करते हैं। वे परिभाषित करते हैं कि ऐपसिग्नल आपके ऐप से कैसे कनेक्ट होगा, ऐप का नाम और किस वातावरण की निगरानी की जाएगी।  <पी> यह मानते हुए कि सब कुछ योजना के अनुसार चल रहा है, आपको एक स्क्रीन दिखनी चाहिए जिसमें दिखाया जाएगा कि ऐपसिग्नल आपके ऐप से डेटा प्राप्त कर रहा है!

रेल के लिए AppSignal के डैशबोर्ड का परिचय

<पी> अब जब सब कुछ सही ढंग से सेट हो गया है और ऐपसिग्नल आपके ऐप से डेटा प्राप्त कर रहा है, तो आप नीचे दिखाए अनुसार डिफ़ॉल्ट ऐप मॉनिटरिंग डैशबोर्ड दृश्य तक पहुंच सकते हैं:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> टिप :यदि आप विकास और उत्पादन परिवेश दोनों के लिए निगरानी स्थापित करते हैं, तो आप तीर द्वारा दिखाए गए चयन से उनके बीच आसानी से स्विच कर सकते हैं। <पी> डिफ़ॉल्ट दृश्य से, आपके पास निम्नलिखित डिफ़ॉल्ट चार्ट तक पहुंच है:

  • त्रुटि दर - यह आपके ऐप में प्रति यूनिट समय में होने वाली त्रुटियों की दर दिखाएगा।
  • थ्रूपुट - यहां, आपको उस थ्रूपुट का एक स्नैपशॉट मिलेगा जिसे आपका ऐप प्रति मिनट अनुरोधों के संदर्भ में संभालने में सक्षम है।
  • प्रतिक्रिया समय - यह आपके ऐप का प्रतिक्रिया समय दिखाएगा।
  • नवीनतम खुली त्रुटियाँ - यह अनुभाग आपके ऐप में हुई नवीनतम त्रुटियों को सूचीबद्ध करेगा।
  • नवीनतम खुला प्रदर्शन माप - यह अनुभाग नवीनतम प्रदर्शन मापों को सूचीबद्ध करता है, जिसमें विधि कॉल, एपीआई अनुरोध आदि शामिल हैं
<पी> इसके बाद, हम देखेंगे कि AppSignal का उपयोग करके रेल एप्लिकेशन के लिए उचित त्रुटि ट्रैकिंग कैसे सेट अप करें।

AppSignal के साथ त्रुटियों की निगरानी

<पी> दस से अधिक त्रुटि प्रकार हैं जो चल रहे रूबी ऑन रेल्स ऐप को प्रभावित कर सकते हैं। जाहिर है, कुछ दूसरों की तुलना में अधिक सामान्य हैं। इस अनुभाग में, हम इनमें से कुछ त्रुटियों का अनुकरण करेंगे और देखेंगे कि AppSignal उन्हें कैसे संभालता है। आइए पहले एक सरल उदाहरण से शुरुआत करें।

<पी> चूंकि व्यय ट्रैकर ऐप प्रमाणीकरण के लिए डेविस का उपयोग कर रहा है, आइए एक जांच जोड़ें कि उपयोगकर्ता साइन इन है या नहीं। अनुशंसित user_signed_in? का उपयोग करने के बजाय विधि, आइए त्रुटिपूर्ण user_logged_in? का उपयोग करें विधि, जिसे ActionView::Template::Error ट्रिगर करना चाहिए :

 <पी> इस परिवर्तन को नियोजित करें, उत्पादन ऐप को पुनः लोड करें, फिर AppSignal में उत्पादन परिवेश डैशबोर्ड में जाएं और देखें कि यह त्रुटि कैसे दिखाई देती है:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> ऐपसिग्नल किसी एप्लिकेशन में होने वाली किसी भी त्रुटि के बारे में अधिक जानकारी प्राप्त करना आसान बनाता है। उदाहरण के लिए, हम ActionView के बारे में विवरण प्राप्त कर सकते हैं 'नवीनतम ओपन त्रुटियां' डैशबोर्ड पैनल से उस पर क्लिक करके टेम्पलेट त्रुटि।

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

<पी> आप स्पष्ट रूप से देख सकते हैं कि त्रुटि एक अपरिभाषित विधि के कारण हुई है जो हमें इसे ठीक करने के लिए सही दिशा में इंगित करती है।

<पी> ऐपसिग्नल का एरर डैशबोर्ड आपको लॉगबुक के माध्यम से अतिरिक्त जानकारी भी देता है और सेटिंग्स पैनल:

<पी> AppSignal के साथ DigitalOcean पर अपना रूबी ऑन रेल्स ऐप लॉन्च करें:एक चरण‑दर‑चरण मार्गदर्शिका

  • लॉगबुक - यहां, आप या आपकी टीम के सदस्य ऐपसिग्नल द्वारा ट्रैक की जा रही किसी त्रुटि पर टिप्पणियां जोड़ सकते हैं। लॉगबुक पैनल प्रश्न में त्रुटि के संबंध में की गई किसी भी कार्रवाई का कालानुक्रमिक विवरण भी दिखाता है।
  • सेटिंग्स - इस पैनल से, आप किसी अन्य टीम सदस्य को त्रुटि निर्दिष्ट कर सकते हैं, अलर्ट सेटिंग्स बदल सकते हैं (हम इस ट्यूटोरियल के दूसरे भाग में इन्हें विस्तार से देखेंगे), और त्रुटि गंभीरता निर्धारित कर सकते हैं।
<पी> और श्रृंखला के इस भाग के लिए बस इतना ही!

समापन

<पी> इस ट्यूटोरियल में, हमने DigitalOcean के ऐप प्लेटफ़ॉर्म पर एक सरल रेल एप्लिकेशन को तैनात किया और इसे AppSignal के एप्लिकेशन मॉनिटरिंग प्लेटफ़ॉर्म से जोड़ दिया। हमने यह भी जाना कि AppSignal के Errors डैशबोर्ड में त्रुटियों की निगरानी और प्रदर्शन कैसे किया जाता है।

<पी> जाहिर है, यह ऐपसिग्नल के साथ जो संभव है उसकी सतह को खरोंचने जैसा है। इस श्रृंखला के दूसरे भाग में, हम प्रदर्शन माप, विसंगति का पता लगाने, अपटाइम मॉनिटरिंग और लॉगिंग के बारे में गहराई से जानेंगे।

<पी> इस बीच, कोडिंग का आनंद लें!

<पी> पी.एस. यदि आप प्रेस से हटते ही रूबी मैजिक पोस्ट पढ़ना चाहते हैं, तो हमारे रूबी मैजिक न्यूज़लेटर की सदस्यता लें और एक भी पोस्ट न चूकें!
  1. HTML DOM नोडवैल्यू प्रॉपर्टी HTML DOM नोडवैल्यू प्रॉपर्टी

    HTML DOM नोडवैल्यू प्रॉपर्टी नोड के मान के अनुरूप स्ट्रिंग लौटाती/सेट करती है। निम्नलिखित वाक्य रचना है - रिटर्निंग स्ट्रिंग मान Node.nodeValue यहां, वापसी मूल्य निम्नलिखित हो सकता है - दस्तावेज़ नोड्स और एलिमेंट नोड्स के लिए मान शून्य के रूप में विशेषता नोड्स के लिए विशेषता के मान के रूप में मा

  1. सी ++ में क्रमबद्ध सूची को बाइनरी सर्च ट्री में कनवर्ट करें सी ++ में क्रमबद्ध सूची को बाइनरी सर्च ट्री में कनवर्ट करें

    मान लीजिए कि हमारे पास एक एकल लिंक की गई सूची है जहां तत्वों को आरोही क्रम में क्रमबद्ध किया गया है, हमें इसे ऊंचाई संतुलित बीएसटी में बदलना होगा। तो अगर सूची [-10, -3, 0, 5, 9] की तरह है, तो संभावित पेड़ इस तरह होगा - इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - यदि सूची खाली है, तो शून्य

  1. Matplotlib तालिका में विशिष्ट कक्षों को विशिष्ट रंग कैसे निर्दिष्ट करें? Matplotlib तालिका में विशिष्ट कक्षों को विशिष्ट रंग कैसे निर्दिष्ट करें?

    Matplotlib तालिका में विशिष्ट कक्षों को विशिष्ट रंग निर्दिष्ट करने के लिए, हम निम्नलिखित कदम उठा सकते हैं - आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें। कॉलम के लिए एक टपल बनाएं विशेषता। सूचियों की सूची बनाएं, यानी रिकॉर्ड की सूची बनाएं। सूचियों की एक सूची बनाएं, यानी प्र