এই কোডল্যাব সম্পর্কে
1. ভূমিকা
শেষ আপডেট: জুন 21, 2023
উপলব্ধতার জন্য আপটাইম চেকগুলিতে সতর্কতা
আপটাইম চেকের বিষয়ে সতর্কতা আপনাকে আপনার পরিষেবাগুলিকে প্রভাবিত করতে পারে এমন সমস্যাগুলিকে দ্রুত সনাক্ত করতে এবং সমাধান করতে দেয়৷ বিভ্রাট সম্পর্কে সতর্ক করে, আপনি আপনার ব্যবহারকারী এবং গ্রাহকদের উপর প্রভাব কমাতে পদক্ষেপ নিতে পারেন।
আপটাইম চেক ব্যবধানে ঘটে, যার মধ্যে সবচেয়ে কম সময় 60 সেকেন্ড। লগ-ভিত্তিক সতর্কতার মাধ্যমে গতিশীল ইভেন্ট হিসাবে ত্রুটি কোডগুলি অনুপলব্ধতার অতিরিক্ত সূচক হিসাবে 60 সেকেন্ডের পরেও গ্রানুলারিটির প্রয়োজন হলে এটি নিরীক্ষণ করা কার্যকর হতে পারে। যদি একটি 60 সেকেন্ডের ব্যবধান বা তার বেশি গ্রহণযোগ্য হয়, আপটাইম চেকগুলি সামান্য অতিরিক্ত কনফিগারেশন সহ আপনার পরিষেবা পরিমাপ করার একটি সহজ উপায়।
যদি একটি পরিষেবা উপলব্ধ না হয়, একটি আপটাইম চেক কোনও ট্র্যাফিক না থাকলেও সমস্যা সনাক্ত করবে৷ অন্যদিকে, ট্র্যাফিক রক্ষণাবেক্ষণ, আপগ্রেড এবং এমনকি সিস্টেমের বাইরের কারণগুলির দ্বারা প্রভাবিত হতে পারে, যেমন খারাপ আবহাওয়া বা খেলাধুলার ইভেন্ট যা ব্যবহারকে বিভ্রান্ত করে।
আপটাইম চেক কখন ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য, অনুগ্রহ করে আপনার Google ক্লাউড সংস্থানগুলির আপটাইম নিশ্চিত করুন দেখুন।
একটি সতর্কতা বিজ্ঞপ্তি চ্যানেল হিসাবে পাব/সাব বিষয়
একটি পাব/সাব বিষয়কে একটি পাব/সাবস্ক্রিপশনে সতর্কতা পাঠাতে Google ক্লাউড মনিটরিং বিজ্ঞপ্তি চ্যানেল হিসাবে ব্যবহার করা যেতে পারে। এটি আপনাকে তৃতীয় পক্ষের বিজ্ঞপ্তি পরিষেবা সহ অন্যান্য সিস্টেমের সাথে আপনার ক্লাউড মনিটরিং সতর্কতাগুলিকে সংহত করতে দেয়৷
একটি বিজ্ঞপ্তি চ্যানেল হিসাবে একটি পাব/সাব বিষয় ব্যবহার করতে, আপনাকে প্রথমে একটি পাব/সাব বিষয় এবং একটি পাব/সাবস্ক্রিপশন তৈরি করতে হবে। তারপরে, আপনাকে একটি ক্লাউড মনিটরিং বিজ্ঞপ্তি চ্যানেল তৈরি করতে হবে যা গন্তব্য হিসাবে পাব/সাব বিষয় ব্যবহার করে।
যখন একটি সতর্কতা ট্রিগার হয়, ক্লাউড মনিটরিং পাব/সাব বিষয়ে একটি বার্তা পাঠাবে। পাব/সাবস্ক্রিপশনের গ্রাহক তারপর বার্তাটি প্রক্রিয়া করতে পারে এবং যথাযথ ব্যবস্থা নিতে পারে।
আপনি কি নির্মাণ করবেন
এই কোডল্যাবে, আপনি একটি অ্যাপ স্থাপন করতে যাচ্ছেন, একটি পাব/সাব বিষয় তৈরি করতে যাচ্ছেন এবং অ্যাপের জন্য একটি আপটাইম চেক সতর্কতা তৈরি করতে যাচ্ছেন যা পাব/সাব বিষয়কে একটি বিজ্ঞপ্তি চ্যানেল হিসেবে ব্যবহার করে।
আপনি কি শিখবেন
- কিভাবে একটি পাব/সাব বিষয় তৈরি করবেন
- কিভাবে একটি আপটাইম চেক এবং সতর্কতা তৈরি করবেন
এই কোডল্যাবটি আপটাইম চেকের জন্য একটি সতর্কতা তৈরি করার উপর দৃষ্টি নিবদ্ধ করে। অ-প্রাসঙ্গিক ধারণা এবং অ্যাপ্লিকেশন কোড চকচকে করা হয়েছে এবং আপনাকে কেবল অনুলিপি এবং পেস্ট করার জন্য সরবরাহ করা হয়েছে।
আপনি কি প্রয়োজন হবে
- অনুমতি সহ একটি Google ক্লাউড অ্যাকাউন্ট:
- ক্লাউড রান অ্যাপ্লিকেশন স্থাপন করুন
- পাব/সাব বিষয় তৈরি করুন
- আপটাইম চেক তৈরি করুন
- সতর্কতা তৈরি করুন
2. সেট আপ হচ্ছে
একটি Google ক্লাউড প্রকল্প নির্বাচন করুন বা তৈরি করুন৷
একটি বিদ্যমান প্রকল্প নির্বাচন করতে, ড্রপডাউন ব্যবহার করুন:
Google ক্লাউডে একটি নতুন প্রকল্প তৈরি করতে, আপনি এই পদক্ষেপগুলি অনুসরণ করতে পারেন:
- Google ক্লাউড প্ল্যাটফর্ম কনসোলে যান।
- Create Project বাটনে ক্লিক করুন।
- আপনার প্রকল্পের জন্য একটি নাম লিখুন.
- আপনার প্রকল্পের জন্য একটি বিলিং অ্যাকাউন্ট নির্বাচন করুন।
- Create বাটনে ক্লিক করুন।
আপনার প্রকল্প তৈরি করা হবে এবং আপনাকে প্রকল্প ড্যাশবোর্ডে নিয়ে যাওয়া হবে। সেখান থেকে, আপনি Google ক্লাউড পরিষেবাগুলি ব্যবহার করা শুরু করতে পারেন৷
এখানে প্রতিটি পদক্ষেপ সম্পর্কে কিছু অতিরিক্ত বিবরণ রয়েছে:
- নাম: আপনার প্রতিষ্ঠানের মধ্যে আপনার প্রকল্পের নাম অবশ্যই অনন্য হতে হবে।
- বিলিং অ্যাকাউন্ট: আপনি একটি বিদ্যমান বিলিং অ্যাকাউন্ট ব্যবহার করতে পারেন বা একটি নতুন তৈরি করতে পারেন।
- তৈরি করুন: একবার আপনি সমস্ত প্রয়োজনীয় তথ্য প্রবেশ করান, আপনার প্রকল্প তৈরি করতে তৈরি করুন বোতামে ক্লিক করুন।
আরও তথ্যের জন্য, অনুগ্রহ করে প্রজেক্ট তৈরির বিষয়ে Google ক্লাউড ডকুমেন্টেশন দেখুন।
3. API অ্যাপ্লিকেশন স্থাপন করুন
নমুনা অ্যাপ্লিকেশন বা API সম্পর্কে কি?
আমাদের অ্যাপ্লিকেশন হল একটি সাধারণ ইনভেন্টরি এপিআই অ্যাপ্লিকেশন যা ইনভেন্টরি আইটেম তালিকাভুক্ত করতে এবং নির্দিষ্ট আইটেম ইনভেন্টরি গণনা পাওয়ার জন্য কয়েকটি অপারেশন সহ একটি REST API এন্ডপয়েন্ট প্রকাশ করে।
একবার আমরা এপিআই স্থাপন করি এবং ধরে নিই যে এটি https://<somehost> এ হোস্ট করা হয়েছে, আমরা নিম্নরূপ API এন্ডপয়েন্টগুলি অ্যাক্সেস করতে পারি:
https://<somehost>/inventory
এটি অন-হ্যান্ড ইনভেন্টরি লেভেল সহ সমস্ত পণ্য আইটেম তালিকাভুক্ত করবে।
https://<somehost>/inventory/{productid}
এটি সেই পণ্যের জন্য উত্পাদনশীল এবং অন-হ্যান্ড ইনভেন্টরি স্তরের সাথে একটি একক রেকর্ড সরবরাহ করবে।
ফিরে আসা প্রতিক্রিয়া ডেটা হল JSON ফর্ম্যাট।
দ্রষ্টব্য : এই API অ্যাপ্লিকেশনটি শুধুমাত্র ডেমো উদ্দেশ্যে এবং একটি নিরাপদ এবং শক্তিশালী API বাস্তবায়নের প্রতিনিধিত্ব করে না। এটি ল্যাবের মূল উদ্দেশ্য, অর্থাৎ Google ক্লাউড অপারেশনগুলি অন্বেষণ করার জন্য আমাদের কাছে একটি দ্রুত অ্যাপ্লিকেশন উপলব্ধ করা বোঝানো হয়েছে৷
নমুনা ডেটা এবং API অনুরোধ/প্রতিক্রিয়া
জিনিসগুলি সহজ রাখার জন্য অ্যাপ্লিকেশনটি ব্যাকএন্ডে একটি ডাটাবেস দ্বারা চালিত হয় না। এতে 3টি নমুনা পণ্য আইডি এবং তাদের অন-হ্যান্ড ইনভেন্টরি লেভেল রয়েছে।
পণ্য আইডি | অন-হ্যান্ড ইনভেন্টরি লেভেল |
আই-১ | 10 |
I-2 | 20 |
I-3 | 30 |
নমুনা API অনুরোধ এবং প্রতিক্রিয়া নীচে দেখানো হয়েছে:
API অনুরোধ | API প্রতিক্রিয়া |
https://<somehost>/ইনভেন্টরি | [ { "I-1": 10, "I-2": 20, "I-3": 30 }] |
https://<somehost>/inventory/I-1 | { "productid": "I-1", "quty": 10} |
https://<somehost>/inventory/I-2 | { "productid": "I-2", "quty": 20} |
https://<somehost>/inventory/I-200 | { "প্রোডাক্টিড": I-200, "quty": -1} |
সংগ্রহস্থল ক্লোন করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
GCP কনসোল থেকে উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই ল্যাবে আপনার সমস্ত কাজ কেবল একটি ব্রাউজার দিয়ে করা যেতে পারে।
gCloud সেটআপ করুন
ক্লাউড শেলে, আপনার প্রকল্প আইডি সেট করুন এবং এটিকে PROJECT_ID ভেরিয়েবল হিসাবে সংরক্ষণ করুন৷
PROJECT_ID=[YOUR-PROJECT-ID]
gcloud
config
set
project
$PROJECT_ID
এখন, নিম্নলিখিত কমান্ডটি চালান:
$
git
clone
https://github.com/rominirani/cloud-code-sample-repository.git
এটি এই ফোল্ডারে ক্লাউড-কোড-স্যাম্পল-রিপোজিটরি নামে একটি ফোল্ডার তৈরি করবে।
(ঐচ্ছিক) ক্লাউড শেলে অ্যাপ্লিকেশনটি চালান
আপনি এই পদক্ষেপগুলি অনুসরণ করে স্থানীয়ভাবে অ্যাপ্লিকেশনটি চালাতে পারেন:
- টার্মিনাল থেকে, নিম্নলিখিত কমান্ডের মাধ্যমে API এর পাইথন সংস্করণে নেভিগেট করুন:
$
cd
cloud-code-sample-repository
$
cd
python-flask-api
- টার্মিনালে, নিম্নলিখিত কমান্ডটি প্রদান করুন (লেখার সময়, ক্লাউড শেল পাইথন 3.9.x ইনস্টল সহ আসে এবং আমরা ডিফল্ট সংস্করণ ব্যবহার করব। আপনি যদি এটি আপনার ল্যাপটপে স্থানীয়ভাবে চালানোর পরিকল্পনা করেন তবে আপনি পাইথন 3.8+ এর সাথে যেতে পারেন ):
$
python
app.py
- স্থানীয়ভাবে পাইথন সার্ভার শুরু করতে আপনি নিম্নলিখিত কমান্ডটি চালাতে পারেন।
পোর্ট 8080 এর প্রিভিউ এ ক্লিক করুন। 5. এটি একটি ব্রাউজার উইন্ডো খুলবে। আপনি একটি 404 ত্রুটি দেখতে পাবেন এবং এটি ঠিক আছে। ইউআরএল পরিবর্তন করুন এবং হোস্ট নামের পরে শুধু /ইনভেন্টরিতে পরিবর্তন করুন।
যেমন আমার মেশিনে, এটা এই মত দেখায়:
https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory
এটি আগে ব্যাখ্যা করা জায় আইটেমগুলির তালিকা প্রদর্শন করবে:
- আপনি এখন টার্মিনালে গিয়ে Ctrl-C চেপে সার্ভার বন্ধ করতে পারেন
অ্যাপ্লিকেশন স্থাপন
আমরা এখন এই API অ্যাপ্লিকেশনটিকে ক্লাউড রানে স্থাপন করব। ক্লাউড রানে কোড স্থাপন করার জন্য কমান্ড চালানোর জন্য gcloud কমান্ড লাইন ক্লায়েন্ট ব্যবহার করার প্রক্রিয়াটি জড়িত।
টার্মিনাল থেকে, নিম্নলিখিত gcloud কমান্ড দিন:
$ gcloud run deploy --source .
এটি আপনাকে একাধিক প্রশ্ন জিজ্ঞাসা করবে এবং কয়েকটি পয়েন্ট নীচে উল্লেখ করা হয়েছে:
- পরিষেবার নাম (পাইথন-ফ্লাস্ক-এপিআই): হয় এই ডিফল্টের সাথে যান বা আমার-ইনভেন্টরি-এপিআই-এর মতো কিছু বেছে নিন
- এপিআই [run.googleapis.com] প্রকল্পে [613162942481] সক্ষম করা হয়নি। আপনি কি সক্ষম করতে এবং পুনরায় চেষ্টা করতে চান (এতে কয়েক মিনিট সময় লাগবে)? (y/N)? Y
- অনুগ্রহ করে একটি অঞ্চল নির্দিষ্ট করুন: 31 (us-west-1) চয়ন করুন
- API [artifactregistry.googleapis.com] প্রজেক্টে সক্রিয় করা হয়নি [613162942481]। আপনি কি সক্ষম করতে এবং পুনরায় চেষ্টা করতে চান (এতে কয়েক মিনিট সময় লাগবে)? (y/N)? Y
- উৎস থেকে স্থাপনার জন্য নির্মিত পাত্রে সংরক্ষণ করার জন্য একটি আর্টিফ্যাক্ট রেজিস্ট্রি ডকার সংগ্রহস্থলের প্রয়োজন। [us-west1] অঞ্চলে [Cloud-run-source-deploy] নামে একটি সংগ্রহস্থল তৈরি করা হবে।
- আপনি কি চালিয়ে যেতে চান (Y/n)? Y
- [my-inventory-api] (y/N)-এ অননুমোদিত আহ্বানের অনুমতি দেবেন? Y
অবশেষে, এটি আপনার সোর্স কোড নিতে, এটিকে কন্টেনারাইজ করতে, আর্টিফ্যাক্ট রেজিস্ট্রিতে ঠেলে দেওয়ার প্রক্রিয়াটি শুরু করবে এবং তারপরে ক্লাউড রান পরিষেবা + পুনর্বিবেচনা করবে। এই প্রক্রিয়াটির মাধ্যমে আপনার ধৈর্য ধরতে হবে (3-4 মিনিট সময় লাগতে পারে) এবং আপনাকে দেখানো পরিষেবা URL-এর সাথে প্রক্রিয়াটি সম্পূর্ণ হওয়া উচিত।
একটি নমুনা রান নীচে দেখানো হয়েছে:
আবেদন পরীক্ষা করুন
এখন যেহেতু আমরা ক্লাউড রানে অ্যাপ্লিকেশনটি স্থাপন করেছি, আপনি নিম্নরূপ API অ্যাপ্লিকেশনটি অ্যাক্সেস করতে পারেন:
- পূর্ববর্তী ধাপ থেকে পরিষেবা URL টি নোট করুন। উদাহরণস্বরূপ, আমার সেটআপে, এটি
https://my-inventory-api-bt2r5243dq-uw.a.run.app
হিসাবে দেখানো হয়েছে। আসুন এটিকে কল করি<SERVICE_URL>
। - একটি ব্রাউজার খুলুন এবং API এন্ডপয়েন্টের জন্য নিম্নলিখিত 3টি URL অ্যাক্সেস করুন:
-
<SERVICE_URL>/inventory
-
<SERVICE_URL>/inventory/I-1
-
<SERVICE_URL>/inventory/I-100
নমুনা API অনুরোধ এবং প্রতিক্রিয়া সহ আমরা পূর্ববর্তী বিভাগে যে স্পেসিফিকেশন প্রদান করেছি সে অনুযায়ী এটি হওয়া উচিত।
ক্লাউড রান থেকে পরিষেবার বিবরণ পান
আমরা ক্লাউড রানে আমাদের API পরিষেবা স্থাপন করেছি, একটি সার্ভারহীন গণনা পরিবেশ। আমরা যেকোনো সময়ে Google ক্লাউড কনসোলের মাধ্যমে ক্লাউড রান পরিষেবা দেখতে পারি।
প্রধান মেনু থেকে, ক্লাউড রানে নেভিগেট করুন। এটি ক্লাউড রানে আপনার চলমান পরিষেবাগুলির তালিকা প্রদর্শন করবে। আপনি এইমাত্র যে পরিষেবাটি স্থাপন করেছেন তা আপনার দেখতে হবে। আপনার নির্বাচিত নামের উপর নির্ভর করে, আপনি এই মত কিছু দেখতে হবে:
বিস্তারিত দেখতে পরিষেবার নামে ক্লিক করুন। নমুনা বিবরণ নীচে দেখানো হয়েছে:
ইউআরএলটি লক্ষ্য করুন, এটি পরিষেবা URL ছাড়া আর কিছুই নয় যা আপনি ব্রাউজারে পাঞ্চ করতে পারেন এবং ইনভেন্টরি API অ্যাক্সেস করতে পারেন যা আমরা এইমাত্র স্থাপন করেছি। মেট্রিক্স এবং অন্যান্য বিবরণ দেখুন.
এখন গুগল ক্লাউড অপারেশন স্যুট দিয়ে শুরু করা যাক।
4. সতর্কতা বিজ্ঞপ্তি পেতে একটি পাব/সাব বিষয় তৈরি করুন
একটি পাব/সাব বিষয় তৈরি করতে, আপনি Google ক্লাউড কনসোলে এই পদক্ষেপগুলি অনুসরণ করতে পারেন:
- অনুসন্ধান বাক্সে Pub/Sub অনুসন্ধান করুন এবং Pub/Sub-এ নেভিগেট করুন।
- আপনি যদি ইতিমধ্যে সেখানে না থাকেন তবে বিষয় ট্যাবে ক্লিক করুন।
- টপিক তৈরি করুন বোতামে ক্লিক করুন।
- আপনার বিষয়ের জন্য একটি নাম লিখুন।
- Create বাটনে ক্লিক করুন।
- কপি আইকন বোতাম ব্যবহার করে বিষয়ের নামটি অনুলিপি করুন। পরবর্তী বিভাগের জন্য আপনার এটি প্রয়োজন হবে।
5. একটি আপটাইম চেক তৈরি করুন
একটি Google ক্লাউড রান অ্যাপ্লিকেশনের জন্য একটি আপটাইম চেক তৈরি করতে:
- Google ক্লাউড প্ল্যাটফর্ম কনসোলে যান।
- মনিটরিং ট্যাবে ক্লিক করুন।
- আপটাইম চেক ট্যাবে ক্লিক করুন।
- পৃষ্ঠার শীর্ষের কাছে, আপটাইম চেক তৈরি করুন বোতামে ক্লিক করুন।
- নিম্নলিখিত মান ব্যবহার করুন:
- প্রোটোকল: HTTPS
- সম্পদের ধরন: URL
- হোস্টনাম: https ছাড়া ক্লাউড রান সার্ভিস URL অংশটি লিখুন। একটি নমুনা নীচের পর্দায় আছে. পরিষেবা URLটি কী তা আপনি নিশ্চিত না হলে, প্রধান Google ক্লাউড কনসোল থেকে ক্লাউড রানে যান এবং পরিষেবা URL পেতে আগে ব্যাখ্যা করা ক্লাউড রান পরিষেবার বিশদ বিবরণে নেভিগেট করুন৷
- পথ: স্বাস্থ্যকর
- ফ্রিকোয়েন্সি পরীক্ষা করুন: 1 মিনিট
- অবিরত ক্লিক করুন
- কন্টেন্ট ম্যাচিং চালু করা আছে
- রেসপন্স কন্টেন্টের অধীনে "অল ইজ ওয়েল" লিখুন; এই স্ট্রিংটি ইতিমধ্যেই অ্যাপ্লিকেশনে থাকে যখন এটি সম্পূর্ণ প্রতিক্রিয়া পাঠায়।
- রাখা
- গ্রহণযোগ্য HTTP রেসপন্স কোড রেসপন্স কোড ক্লাসে সেট করুন এবং 2xx কে একমাত্র রেসপন্স কোড ক্লাস হিসেবে রাখুন। এইভাবে, শুধুমাত্র 2xx সহ প্রতিক্রিয়া কোডগুলি স্ট্রিংয়ের জন্য মূল্যায়ন করা হবে এবং অন্য কিছু স্বয়ংক্রিয়ভাবে ব্যর্থ চেক হিসাবে গণনা করা হবে।
- অবিরত ক্লিক করুন
- বিজ্ঞপ্তি চ্যানেল হিসাবে ক্লাউড পাব/সাব বিষয় নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন
- অবিরত ক্লিক করুন
- একটি স্বীকৃত শিরোনাম যোগ করুন
- টেস্ট বোতামে ক্লিক করুন
- পর্যালোচনা করুন এবং প্রস্তুত হয়ে গেলে তৈরি বোতামে ক্লিক করুন
আপনার আপটাইম চেক তৈরি করা হবে এবং আপনার ক্লাউড রান অ্যাপ্লিকেশন নিরীক্ষণ করা শুরু করবে। আপনি আপটাইম চেক ট্যাবে আপনার আপটাইম চেকের স্থিতি দেখতে পারেন৷
6. অভিনন্দন
অভিনন্দন, আপনি পাব/সাব-এ সতর্কতা পাঠাতে আপনার আপটাইম চেক সফলভাবে কনফিগার করেছেন!