কম্পিউটার টিউটোরিয়াল

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

এটি কল্পনা করুন:আপনি সবেমাত্র আপনার ব্র্যান্ডের নতুন Rails অ্যাপে কাজ শেষ করেছেন এবং এটিকে DigitalOcean এর মতো একটি ক্লাউড প্রদানকারীর কাছে স্থাপন করেছেন। যেকোনো ডেভেলপারের মতো, আপনি আপনার কাজের জন্য খুব গর্বিত কিন্তু আপনার কাছে এখনও অনেক প্রশ্ন আছে, যেমন:

  • আপনার নতুন অ্যাপ কতটা ভালোভাবে ট্রাফিক পরিচালনা করবে
  • আপনি যে অপ্টিমাইজেশানগুলি রেখেছেন তা আসলে কাজ করবে কিনা, ইত্যাদি।

আপনার লক্ষ্য হল সেরা ব্যবহারকারীর অভিজ্ঞতা প্রদান করা। আপনি যখনই ত্রুটি বা অন্যান্য গুরুত্বপূর্ণ ঘটনা ঘটবে তখনই আপনি বিজ্ঞপ্তি পেতে চান যাতে আপনি দ্রুত তাদের যত্ন নিতে পারেন।

আপনার অ্যাপ্লিকেশন স্বয়ংক্রিয়ভাবে নিরীক্ষণ করে এমন একটি সেটআপ থাকা দুর্দান্ত হবে। AppSignal লিখুন! এই নিবন্ধে, একটি দুই-অংশের সিরিজের প্রথম অংশে, আমরা AppSignal সেট আপ করব যাতে আপনি ডিজিটাল ওশেনে হোস্ট করা আপনার Rails অ্যাপটিকে কার্যকরভাবে নিরীক্ষণ করতে পারেন।

পূর্বশর্ত

অনুসরণ করতে, নিশ্চিত করুন যে আপনার কাছে আছে:

  • রুবির একটি স্থানীয় ইনস্টলেশন (এই টিউটোরিয়ালটি সংস্করণ 3.3.0 ব্যবহার করে)।
  • একটি স্থানীয় PostgreSQL ইনস্টলেশন (আপনি একটি ডকার সংস্করণ বা স্থানীয়ভাবে ইনস্টল করা সংস্করণ ব্যবহার করতে পারেন)।
  • অ্যাপ্লিকেশন স্থাপনের জন্য একটি DigitalOcean অ্যাকাউন্ট।
  • একটি AppSignal অ্যাকাউন্ট (একটি বিনামূল্যে 30-দিনের ট্রায়াল উপলব্ধ)।

আমাদের রুবি অন রেল অ্যাপের একটি ভূমিকা

এই টিউটোরিয়ালের জন্য, আমরা একটি সাধারণ রেল 7 ব্যয় ট্র্যাকার অ্যাপ ব্যবহার করব। ব্যবহারকারীরা সাইন আপ করতে এবং তাদের ব্যক্তিগত খরচের জন্য এন্ট্রি তৈরি করতে, সময়ের সাথে তাদের খরচ ট্র্যাক করতে সক্ষম হবেন৷

আমরা এই অ্যাপটিকে DigitalOcean-এ স্থাপন করব, তারপর হুডের নীচে কী ঘটছে তা ট্র্যাক রাখতে AppSignal-এর মনিটরিং সমাধান কনফিগার করব৷

আপনি সোর্স কোডটি ধরতে পারেন বা অনুসরণ করতে এখান থেকে অ্যাপটিকে ফর্ক করতে পারেন।

ডিজিটালওশেনে আপনার রেল অ্যাপ স্থাপন করা হচ্ছে

আমরা আমাদের অ্যাপ্লিকেশন স্থাপন করতে DigitalOcean এর অ্যাপ প্ল্যাটফর্ম ব্যবহার করব। নীচের পদক্ষেপগুলি অনুমান করে যে আপনি উপরে বর্ণিত ব্যয় ট্র্যাকার অ্যাপটি ইতিমধ্যেই তৈরি করেছেন এবং আপনার একটি ডিজিটাল ওশান অ্যাকাউন্ট চালু করার জন্য প্রস্তুত রয়েছে৷

লগ ইন করার পরে, আমরা একটি অ্যাপ তৈরি করব এবং এটি চালু করব। যেহেতু আমরা এই প্রক্রিয়ার কিছু অংশ নিয়ন্ত্রণ করতে চাই, যদিও, প্রথম ধাপ হল অ্যাপের জন্য একটি ডাটাবেস তৈরি করা৷

অ্যাপ ডেটাবেস তৈরি করা

ডেটাবেস-এ ক্লিক করুন বামদিকের মেনুতে লিঙ্ক, তারপর ডেটাবেস তৈরি করুন-এ ক্লিক করুন একটি নতুন PostgreSQL ডাটাবেস তৈরি করার লিঙ্ক:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

পরবর্তী স্ক্রিনে ডাটাবেস সেটিংস সম্পূর্ণ করার পরে, ডাটাবেস সংযোগ স্ট্রিংটি নোট করুন। পরবর্তী ধাপে অ্যাপটি তৈরি করার সময় আপনি এটিকে পরিবেশ পরিবর্তনশীল হিসেবে ব্যবহার করবেন:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

এই মুহুর্তে, আপনি সম্ভবত একটি সতর্কতা পাবেন যে আপনার ডাটাবেস সমস্ত আগত সংযোগের জন্য উন্মুক্ত। এই নিরাপত্তা সতর্কতা যত্ন নিতে সহবর্তী লিঙ্ক অনুসরণ করুন৷

অ্যাপ তৈরি করা এবং স্থাপন করা

অবশেষে, প্রথমে Apps-এ ক্লিক করে অ্যাপটি তৈরি করুন বাম পাশের মেনুতে লিঙ্ক:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

তারপরে নীচে দেখানো হিসাবে অ্যাপের কোড সংগ্রহস্থলের সংস্থানটি সংযুক্ত করুন:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

এনভায়রনমেন্ট ভেরিয়েবল স্ক্রিনে চালিয়ে যান এবং কপি করা ডাটাবেস ইউআরএল স্ট্রিং ঢোকান। এছাড়াও, RAILS_MASTER_KEY যোগ করুন এনভায়রনমেন্ট ভেরিয়েবল হিসাবে এটি ডিপ্লয়মেন্ট প্রক্রিয়ায় ব্যবহার করা হবে।

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

তারপর, এই এনভায়রনমেন্ট ভেরিয়েবলগুলিকে জায়গায় রেখে, Next-এ ক্লিক করুন অ্যাপ স্থাপন করার জন্য বোতাম:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

অ্যাপটি সফলভাবে স্থাপন করা হলে, আমরা এখন AppSignal ব্যবহার করে মনিটরিং সেট আপ করব।

আপনার রেল অ্যাপ নিরীক্ষণ করতে AppSignal সেট আপ করা হচ্ছে

প্রথমে, আপনার AppSignal অ্যাকাউন্টে লগ ইন করুন এবং 'Ruby &Rails' বেছে নিন।

এখন Rails অ্যাপে AppSignal রত্ন যোগ করুন। এই নিফটি রত্নটি ত্রুটি, ব্যতিক্রম এবং প্রাসঙ্গিক কর্মক্ষমতা ডেটা সংগ্রহ করবে এবং বিশ্লেষণের জন্য এটিকে AppSignal এ পোর্ট করবে৷

অ্যাপের Gemfile খুলুন এবং রত্ন যোগ করুন:

 

তারপর bundle install চালান .

অবশেষে, আপনাকে ইনস্টলেশন স্ক্রিপ্টটি চালাতে হবে যা আপনার অ্যাকাউন্ট-নির্দিষ্ট API কী সংযুক্ত করে। আপনি যখন এই ইনস্টল স্ক্রিপ্টটি চালান, তখন আপনি নীচের মত কিছু পাবেন:

 

আপনি যখন স্ক্রিপ্টটি চালান তখন কয়েকটি বিষয় খেয়াল রাখতে হবে:

  • আপনি আপনার অ্যাপের নাম পরিবর্তন করার বিকল্প পাবেন কারণ এটি AppSignal এর ড্যাশবোর্ডে প্রদর্শিত হবে বা ডিফল্ট বিকল্পটি ছেড়ে যাবে।
  • আপনি আপনার অ্যাপের জন্য AppSignal কীভাবে কনফিগার করতে চান তা বেছে নেওয়ার বিকল্পও পাবেন। আমার ক্ষেত্রে, আমি config/appsignal.yml-এ একটি কনফিগার ফাইল তৈরি করে কনফিগার ফাইল বিকল্পের সাথে গিয়েছিলাম , নীচের বিষয়বস্তু সহ:
 

এখানে, আমরা সংজ্ঞায়িত করি:

  • A push_api_key যা অ্যাপটিকে AppSignal-এর সাথে সংযুক্ত করে।
  • অ্যাপটির নাম যেভাবে AppSignal এ প্রদর্শিত হবে।
  • যে পরিবেশে AppSignal অ্যাপ নিরীক্ষণ করবে (এই ক্ষেত্রে, বিকাশ এবং উৎপাদন উভয় পরিবেশই)।

যাইহোক, আপনি যদি ডেভেলপমেন্ট এনভায়রনমেন্টে AppSignal মনিটরিং বন্ধ করতে চান, তাহলে শুধু active সেট করুন false-এ ফ্ল্যাগ করুন , যেমন:

 

টিপ :কনফিগার ফাইল এবং এনভায়রনমেন্ট ভেরিয়েবল অপশন উভয়ই একই কাজ করে। তারা সংজ্ঞায়িত করে কিভাবে AppSignal আপনার অ্যাপের সাথে সংযুক্ত হবে, অ্যাপের নাম এবং কোন পরিবেশ নিরীক্ষণ করা হবে।

সবকিছু পরিকল্পনা অনুযায়ী চলে বলে ধরে নিলে, আপনি একটি স্ক্রীন দেখতে পাবেন যাতে দেখানো হয় যে AppSignal আপনার অ্যাপ থেকে ডেটা গ্রহণ করছে!

রেলের জন্য AppSignal এর ড্যাশবোর্ডের একটি ভূমিকা

এখন যেহেতু সবকিছু সঠিকভাবে সেট আপ করা হয়েছে এবং AppSignal আপনার অ্যাপ থেকে ডেটা গ্রহণ করছে, আপনি নীচে দেখানো হিসাবে ডিফল্ট অ্যাপ মনিটরিং ড্যাশবোর্ড ভিউ অ্যাক্সেস করতে পারেন:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

টিপ :আপনি যদি উন্নয়ন এবং উৎপাদন পরিবেশ উভয়ের জন্য মনিটরিং সেট আপ করেন, আপনি তীর দ্বারা দেখানো নির্বাচন থেকে সহজেই তাদের মধ্যে স্যুইচ করতে পারেন৷

ডিফল্ট ভিউ থেকে, আপনি নিম্নলিখিত ডিফল্ট চার্টগুলিতে অ্যাক্সেস পাবেন:

  • ত্রুটির হার - এটি আপনার অ্যাপে প্রতি ইউনিট সময়ের ত্রুটির হার দেখাবে৷
  • থ্রুপুট - এখানে, আপনি প্রতি মিনিটে অনুরোধের পরিপ্রেক্ষিতে আপনার অ্যাপ যে থ্রুপুট পরিচালনা করতে সক্ষম তার একটি স্ন্যাপশট পাবেন৷
  • প্রতিক্রিয়া সময় - এটি আপনার অ্যাপের প্রতিক্রিয়ার সময় দেখাবে৷
  • সর্বশেষ খোলা ত্রুটি - এই বিভাগটি আপনার অ্যাপের মধ্যে ঘটে যাওয়া সর্বশেষ ত্রুটিগুলির তালিকা করবে৷
  • সর্বশেষ খোলা কর্মক্ষমতা পরিমাপ - এই বিভাগে পদ্ধতি কল, API অনুরোধ, ইত্যাদি সহ সর্বশেষ কর্মক্ষমতা পরিমাপ তালিকাভুক্ত করা হয়েছে।

এরপরে, আমরা দেখব কিভাবে AppSignal ব্যবহার করে একটি Rails অ্যাপ্লিকেশনের জন্য সঠিক ত্রুটি ট্র্যাকিং সেট আপ করতে হয়৷

অ্যাপসিগন্যালের সাথে ত্রুটিগুলি পর্যবেক্ষণ করা

দশটিরও বেশি ত্রুটির ধরন রয়েছে যা চলমান রুবি অন রেল অ্যাপকে প্রভাবিত করতে পারে। স্পষ্টতই, কিছু অন্যদের চেয়ে বেশি সাধারণ। এই বিভাগে, আমরা এই ত্রুটিগুলির কয়েকটি অনুকরণ করব এবং অ্যাপসিগন্যাল কীভাবে সেগুলি পরিচালনা করে তা দেখব। প্রথমে একটি সাধারণ উদাহরণ দিয়ে শুরু করা যাক।

যেহেতু এক্সপেনস ট্র্যাকার অ্যাপটি প্রমাণীকরণের জন্য ডিভাইস ব্যবহার করছে, তাই আসুন একজন ব্যবহারকারী সাইন ইন করেছেন কিনা তা পরীক্ষা করে দেখা যাক। প্রস্তাবিত user_signed_in? ব্যবহার করার পরিবর্তে পদ্ধতি, আসুন ভুল user_logged_in? ব্যবহার করি পদ্ধতি, যা একটি ActionView::Template::Error ট্রিগার করবে :

 

এই পরিবর্তনটি স্থাপন করুন, প্রোডাকশন অ্যাপ পুনরায় লোড করুন, তারপরে অ্যাপসিগন্যালে প্রোডাকশন এনভায়রনমেন্ট ড্যাশবোর্ডে যান এবং দেখুন কিভাবে এই ত্রুটিটি দেখায়:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

অ্যাপসিগন্যাল একটি অ্যাপ্লিকেশনে ঘটতে থাকা যেকোনো ত্রুটির বিষয়ে আরও বিশদ বিবরণ পেতে একটি হাওয়া দেয়। উদাহরণস্বরূপ, আমরা ActionView সম্পর্কে বিস্তারিত জানতে পারি 'সর্বশেষ ওপেন ত্রুটি' ড্যাশবোর্ড প্যানেল থেকে এটিতে ক্লিক করে টেমপ্লেট ত্রুটি।

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

আপনি স্পষ্টভাবে দেখতে পাচ্ছেন যে ত্রুটিটি একটি অনির্ধারিত পদ্ধতির কারণে হয়েছে যা এটি ঠিক করার জন্য আমাদের সঠিক দিক নির্দেশ করে৷

AppSignal এর ত্রুটি ড্যাশবোর্ড আপনাকে লগবুক এর মাধ্যমে অতিরিক্ত তথ্য দেয় এবং সেটিংস প্যানেল:

AppSignal-এর মাধ্যমে DigitalOcean-এ আপনার রুবি অন রেল অ্যাপ চালু করুন:একটি ধাপে ধাপে নির্দেশিকা

  • লগবুক - এখানে, আপনি বা আপনার দলের সদস্যরা AppSignal দ্বারা ট্র্যাক করা একটি ত্রুটিতে মন্তব্য যোগ করতে পারেন৷ লগবুক প্যানেলটি প্রশ্নে ত্রুটির বিষয়ে গৃহীত যেকোনো পদক্ষেপের একটি কালানুক্রমিক ব্রেকডাউনও দেখায়৷
  • সেটিংস - এই প্যানেল থেকে, আপনি অন্য দলের সদস্যকে একটি ত্রুটি নির্ধারণ করতে পারেন, সতর্কতার সেটিংস পরিবর্তন করতে পারেন (আমরা এই টিউটোরিয়ালের দ্বিতীয় অংশে এগুলি বিস্তারিতভাবে পরীক্ষা করব), এবং ত্রুটির তীব্রতা সেট করতে পারেন৷

আর এটাই সিরিজের এই অংশের জন্য!

র্যাপিং আপ

এই টিউটোরিয়ালে, আমরা DigitalOcean এর অ্যাপ প্ল্যাটফর্মে একটি সাধারণ রেল অ্যাপ্লিকেশন স্থাপন করেছি এবং এটিকে AppSignal-এর অ্যাপ্লিকেশন মনিটরিং প্ল্যাটফর্মের সাথে সংযুক্ত করেছি। অ্যাপসিগন্যালের ত্রুটি ড্যাশবোর্ডে কীভাবে ত্রুটিগুলি পর্যবেক্ষণ করা হয় এবং প্রদর্শিত হয় তাও আমরা দেখেছি৷

স্পষ্টতই, এটি অ্যাপসিগন্যাল দিয়ে যা সম্ভব তার পৃষ্ঠটি কেবল স্ক্র্যাচ করছে। এই সিরিজের দ্বিতীয় অংশে, আমরা পারফরম্যান্স পরিমাপ, অসামঞ্জস্যতা সনাক্তকরণ, আপটাইম নিরীক্ষণ এবং লগিং এর আরও গভীরে ডুব দেব।

ইতিমধ্যে, খুশি কোডিং!

পি.এস. আপনি যদি রুবি ম্যাজিক পোস্টগুলি প্রেস থেকে বের হওয়ার সাথে সাথে পড়তে চান তবে আমাদের রুবি ম্যাজিক নিউজলেটারে সাবস্ক্রাইব করুন এবং একটি পোস্ট মিস করবেন না!


  1. HTML DOM ইনপুট তারিখ সময়স্থানীয় সর্বাধিক সম্পত্তি

  2. CSS-এ স্ক্রলে ফিক্সড হেডার সহ HTML টেবিল

  3. পাইথনে পিডিএফ থেকে হাইপারলিঙ্কগুলি বের করুন

  4. জাভা প্রোগ্রাম JSlider এ সীমা নির্ধারণ করতে