ক্লাউড অপারেশন স্যুট পরিচিতি

১. ভূমিকা

সর্বশেষ হালনাগাদ: ২৮-০৭-২০২৩

গুগল ক্লাউড অপারেশনস স্যুট কী?

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

গুগল ক্লাউড অপারেশনস সম্পর্কে একটি সামগ্রিক ধারণা পেতে এই ভিডিওটি দেখুন।

আপনি যা তৈরি করবেন

এই কোডল্যাবে, আপনি গুগল ক্লাউডে একটি নমুনা এপিআই ডেপ্লয় করবেন। এরপর আপনি এপিআই-টির সাথে সম্পর্কিত ক্লাউড মনিটরিং-এর বিভিন্ন ফিচার অন্বেষণ ও কনফিগার করবেন।

আপনি যা শিখবেন

  • গুগল ক্লাউডের ক্লাউড শেল ব্যবহার করে ক্লাউড রান-এ একটি নমুনা অ্যাপ্লিকেশন ডেপ্লয় করা।
  • গুগল ক্লাউড মনিটরিং-এর ড্যাশবোর্ড, অ্যালার্ট, আপটাইম চেক, SLI/SLO মনিটরিং এবং আরও অনেক ফিচারের ব্যবহার।

আপনার যা যা লাগবে

  • ক্রোমের একটি সাম্প্রতিক সংস্করণ (৭৪ বা তার পরবর্তী)
  • একটি গুগল ক্লাউড অ্যাকাউন্ট এবং গুগল ক্লাউড প্রজেক্ট

২. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিতে পরিবেশ সেটআপ

আপনার যদি আগে থেকে কোনো গুগল অ্যাকাউন্ট (জিমেইল বা গুগল অ্যাপস) না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে। গুগল ক্লাউড প্ল্যাটফর্ম কনসোলে ( console.cloud.google.com ) সাইন-ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন।

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

c20a9642aaa18d11.png

  • প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
  • সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে প্রজেক্ট আইডি অবশ্যই অনন্য হতে হবে এবং এটি অপরিবর্তনীয় (একবার সেট করার পর পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এটি সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে।
  • আপনার অবগতির জন্য জানাচ্ছি যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নাম্বার এবং কিছু এপিআই এটি ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।

সতর্কতা: একটি প্রজেক্ট আইডি অবশ্যই বিশ্বব্যাপী অনন্য হতে হবে এবং আপনার নির্বাচনের পর অন্য কেউ এটি ব্যবহার করতে পারবে না। আপনিই সেই আইডির একমাত্র ব্যবহারকারী। এমনকি কোনো প্রজেক্ট মুছে ফেলা হলেও, আইডিটি আর কখনও ব্যবহার করা যাবে না।

  1. এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হওয়ার কথা নয়, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর যাতে কোনো বিলিং না হয়, সেজন্য রিসোর্সগুলো বন্ধ করতে আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা পুরো প্রজেক্টটিই ডিলিট করে দিতে পারেন। গুগল ক্লাউডের নতুন ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।

গুগল ক্লাউড শেল সেটআপ

যদিও গুগল ক্লাউড এবং গুগল ক্লাউড ট্রেস আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আমরা গুগল ক্লাউড শেল ব্যবহার করব, যা ক্লাউডে চালিত একটি কমান্ড লাইন পরিবেশ।

ক্লাউড কনসোল থেকে ক্লাউড শেল সক্রিয় করতে, কেবল 'Activate Cloud Shell'-এ ক্লিক করুন (পরিবেশটি প্রোভিশন এবং সংযোগ করতে মাত্র কয়েক মুহূর্ত সময় লাগবে)।

30c26f30d17b3d46.png

আপনি যদি আগে কখনো ক্লাউড শেল চালু না করে থাকেন, তাহলে এটি কী তা বর্ণনা করে একটি মধ্যবর্তী স্ক্রিন (নিচে দেওয়া আছে) আপনার সামনে আসবে। যদি তাই হয়, তাহলে 'Continue'-তে ক্লিক করুন (এবং আপনি এটি আর কখনো দেখতে পাবেন না)। একবারের জন্য আসা সেই স্ক্রিনটি দেখতে এইরকম:

9c92662c6a846a5c.png

ক্লাউড শেল প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগা উচিত।

9f0e51b578fecce5.png

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

ক্লাউড শেলে সংযুক্ত হওয়ার পর আপনি দেখতে পাবেন যে, আপনাকে ইতিমধ্যেই প্রমাণীকৃত করা হয়েছে এবং প্রজেক্টটি আপনার প্রজেক্ট আইডিতে সেট করা আছে।

আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:

ক্লাউড শেলে সংযুক্ত হওয়ার পর, আপনি দেখতে পাবেন যে আপনাকে ইতিমধ্যেই প্রমাণীকৃত করা হয়েছে এবং প্রজেক্টটি আপনার PROJECT_ID তে সেট করা আছে।

gcloud auth list

কমান্ড আউটপুট

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি কোনো কারণে প্রজেক্টটি সেট করা না থাকে, তাহলে নিম্নলিখিত কমান্ডটি দিন:

gcloud config set project <PROJECT_ID>

ক্লাউড শেল ডিফল্টরূপে কিছু এনভায়রনমেন্ট ভেরিয়েবলও সেট করে, যা ভবিষ্যতে কমান্ড চালানোর সময় কাজে লাগতে পারে।

echo $GOOGLE_CLOUD_PROJECT

কমান্ড আউটপুট

<PROJECT_ID>

নমুনা অ্যাপ্লিকেশন

এই প্রোজেক্টের জন্য আপনার প্রয়োজনীয় সবকিছু আমরা একটি গিট রিপোজিটরিতে রেখেছি। রিপোজিটরিটিতে কয়েকটি নমুনা অ্যাপ্লিকেশন রয়েছে এবং এই অনুশীলনের জন্য আপনি সেগুলোর যেকোনো একটি ব্যবহার করতে পারেন।

গিট রিপো লিঙ্ক: https://github.com/rominirani/cloud-code-sample-repository

৩. এপিআই অ্যাপ্লিকেশনটি স্থাপন করুন

নমুনা অ্যাপ্লিকেশন বা এপিআইটি কী সম্পর্কিত?

আমাদের অ্যাপ্লিকেশনটি একটি সাধারণ ইনভেন্টরি এপিআই অ্যাপ্লিকেশন, যা একটি REST API এন্ডপয়েন্ট প্রদান করে। এই এন্ডপয়েন্টে ইনভেন্টরি আইটেমগুলোর তালিকা তৈরি এবং নির্দিষ্ট আইটেমের ইনভেন্টরি সংখ্যা জানার জন্য কয়েকটি অপারেশন রয়েছে।

একবার আমরা এপিআইটি ডিপ্লয় করলে এবং ধরে নিই যে এটি https://<somehost> -এ হোস্ট করা আছে, সেক্ষেত্রে আমরা নিম্নলিখিত উপায়ে এপিআই এন্ডপয়েন্টগুলো অ্যাক্সেস করতে পারব:

  • https://<somehost>/inventory

এটি হাতে থাকা মজুদের পরিমাণসহ সমস্ত পণ্যের একটি তালিকা দেবে।

  • https://<somehost>/inventory/{productid}

এর মাধ্যমে সেই পণ্যটির প্রোডাক্ট আইডি এবং হাতে থাকা মজুদের পরিমাণসহ একটি একক রেকর্ড পাওয়া যাবে।

ফেরত আসা প্রতিক্রিয়া ডেটা JSON ফরম্যাটে থাকে।

নমুনা ডেটা এবং এপিআই অনুরোধ/প্রতিক্রিয়া

বিষয়গুলো সহজ রাখার জন্য অ্যাপ্লিকেশনটির ব্যাকএন্ডে কোনো ডেটাবেস ব্যবহার করা হয়নি। এতে ৩টি নমুনা প্রোডাক্ট আইডি এবং সেগুলোর হাতে থাকা মজুদের পরিমাণ রয়েছে।

পণ্যের আইডি

হাতে থাকা মজুদের স্তর

আই-১

১০

আই-২

২০

আই-৩

৩০

নিচে নমুনা এপিআই অনুরোধ এবং প্রতিক্রিয়া দেখানো হলো:

এপিআই অনুরোধ

এপিআই প্রতিক্রিয়া

https://<somehost>/inventory

[ { "I-1": 10, "I-2": 20, "I-3": 30 }]

https://<somehost>/inventory/I-1

{ "productid": "I-1", "qty": 10}

https://<somehost>/inventory/I-2

{ "productid": "I-2", "qty": 20}

https://<somehost>/inventory/I-200

{ "productid": I-200, "qty": -1}

রিপোজিটরি ক্লোন করুন

যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা ক্লাউডে চালিত একটি কমান্ড লাইন পরিবেশ।

GCP কনসোল থেকে উপরের ডানদিকের টুলবারে থাকা ক্লাউড শেল আইকনে ক্লিক করুন:

bce75f34b2c53987.png

পরিবেশটি প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগবে। এটি শেষ হলে, আপনি এইরকম কিছু দেখতে পাবেন:

f6ef2b5f13479f3a.png

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

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 

এটি এই ফোল্ডারের মধ্যে cloud-code-sample-repository নামে একটি ফোল্ডার তৈরি করবে।

(ঐচ্ছিক) ক্লাউড শেলে অ্যাপ্লিকেশনটি চালান

এই ধাপগুলো অনুসরণ করে আপনি অ্যাপ্লিকেশনটি স্থানীয়ভাবে চালাতে পারেন:

  1. টার্মিনাল থেকে, নিম্নলিখিত কমান্ডের মাধ্যমে API-এর পাইথন সংস্করণে যান:
$ cd cloud-code-sample-repository
$ cd python-flask-api
  1. টার্মিনালে নিম্নলিখিত কমান্ডটি দিন (এই লেখাটি লেখার সময়, ক্লাউড শেলে পাইথন ৩.৯.x ইনস্টল করা থাকে এবং আমরা ডিফল্ট সংস্করণটি ব্যবহার করব। যদি আপনি এটি আপনার ল্যাপটপে স্থানীয়ভাবে চালাতে চান, তবে আপনি পাইথন ৩.৮+ ব্যবহার করতে পারেন):
$ python app.py
  1. স্থানীয়ভাবে পাইথন সার্ভার চালু করতে আপনি নিম্নলিখিত কমান্ডটি চালাতে পারেন।

26570f586acaeacf.png

  1. এটি ৮০৮০ পোর্টে একটি সার্ভার চালু করবে এবং আপনি ক্লাউড শেলের ওয়েব প্রিভিউ ফিচারের মাধ্যমে স্থানীয়ভাবে এটি পরীক্ষা করে দেখতে পারবেন। নিচে দেখানো ওয়েব প্রিভিউ বাটনটিতে ক্লিক করুন:

675d9b3097a6209c.png

পোর্ট ৮০৮০-তে প্রিভিউ-তে ক্লিক করুন।

  1. এটি একটি ব্রাউজার উইন্ডো খুলবে। আপনি একটি 404 এরর দেখতে পাবেন এবং তাতে কোনো সমস্যা নেই। ইউআরএলটি পরিবর্তন করে হোস্ট নেমের পরে শুধু /inventory রাখুন।

উদাহরণস্বরূপ, আমার মেশিনে এটি দেখতে এইরকম:

https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory

এটি পূর্বে ব্যাখ্যা করা অনুযায়ী মজুদ পণ্যের তালিকা প্রদর্শন করবে:

ef6afb0184c58870.png

  1. আপনি এখন টার্মিনালে গিয়ে Ctrl-C চেপে সার্ভারটি বন্ধ করতে পারেন।

অ্যাপ্লিকেশনটি স্থাপন করুন

আমরা এখন এই এপিআই অ্যাপ্লিকেশনটি ক্লাউড রান-এ ডেপ্লয় করব। এই প্রক্রিয়ায় , ক্লাউড রান -এ কোড ডেপ্লয় করার কমান্ডটি চালানোর জন্য glcoud কমান্ড লাইন ক্লায়েন্ট ব্যবহার করা হয়েছে।

টার্মিনাল থেকে নিম্নলিখিত gcloud কমান্ডটি দিন:

$ gcloud run deploy --source .

এটি আপনাকে একাধিক প্রশ্ন জিজ্ঞাসা করবে (অনুমোদন করতে বলা হলে, অনুগ্রহ করে এগিয়ে যান) এবং এর কয়েকটি বিষয় নিচে উল্লেখ করা হলো। কনফিগারেশনের উপর এবং আপনি আপনার গুগল ক্লাউড প্রজেক্টে নির্দিষ্ট এপিআই (API) আগে থেকেই সক্রিয় করেছেন কিনা, তার উপর নির্ভর করে আপনি সব প্রশ্ন পেতেও পারেন বা নাও পেতে পারেন।

  1. সার্ভিসের নাম (python-flask-api): হয় এই ডিফল্ট নামটি ব্যবহার করুন অথবা my-inventory-api-এর মতো কিছু একটা বেছে নিন।
  2. প্রজেক্ট [প্রজেক্ট-নম্বর]-এ এপিআই [run.googleapis.com] সক্রিয় করা নেই। আপনি কি এটি সক্রিয় করে আবার চেষ্টা করতে চান (এতে কয়েক মিনিট সময় লাগবে)? (y/N)? Y
  3. অনুগ্রহ করে একটি অঞ্চল নির্দিষ্ট করুন: একটি নম্বর দিয়ে আপনার পছন্দের অঞ্চলটি বেছে নিন।
  4. প্রজেক্ট [প্রজেক্ট-নম্বর]-এ এপিআই [artifactregistry.googleapis.com] সক্রিয় করা নেই। আপনি কি এটি সক্রিয় করে আবার চেষ্টা করতে চান (এতে কয়েক মিনিট সময় লাগবে)? (y/N)? Y
  5. সোর্স থেকে ডেপ্লয় করার জন্য বিল্ড করা কন্টেইনারগুলো সংরক্ষণ করতে একটি আর্টিফ্যাক্ট রেজিস্ট্রি ডকার রিপোজিটরি প্রয়োজন। [us-west1] রিজিয়নে [cloud-run-source-deploy] নামে একটি রিপোজিটরি তৈরি করা হবে।

আপনি কি চালিয়ে যেতে চান (হ্যাঁ/না)? হ্যাঁ

  1. [my-inventory-api]-তে প্রমাণীকরণবিহীন আহ্বানের অনুমতি দিন (y/N)? Y

অবশেষে, এটি আপনার সোর্স কোডকে কন্টেইনারাইজ করে আর্টিফ্যাক্ট রেজিস্ট্রি-তে পুশ করার এবং তারপর ক্লাউড রান সার্ভিস ও রিভিশন ডিপ্লয় করার প্রক্রিয়াটি শুরু করবে। এই প্রক্রিয়া চলাকালীন আপনাকে ধৈর্য ধরতে হবে (এতে ৩-৪ মিনিট সময় লাগতে পারে) এবং প্রক্রিয়াটি সম্পন্ন হতে দেখলে আপনাকে সার্ভিস ইউআরএলটি দেখানো হবে।

নীচে একটি নমুনা রান দেখানো হলো:

7516696ea5b3004b.png

অ্যাপ্লিকেশনটি পরীক্ষা করুন

এখন যেহেতু আমরা অ্যাপ্লিকেশনটি ক্লাউড রান-এ ডেপ্লয় করেছি, আপনি নিম্নলিখিতভাবে এপিআই অ্যাপ্লিকেশনটি অ্যাক্সেস করতে পারবেন:

  1. পূর্ববর্তী ধাপ থেকে সার্ভিস ইউআরএলটি লিখে নিন। যেমন, আমার সেটআপে এটি https://my-inventory-api-bt2r5243dq-uw.a.run.app হিসেবে দেখানো হয়েছে। চলুন, একে <SERVICE_URL> বলি।
  2. একটি ব্রাউজার খুলুন এবং এপিআই এন্ডপয়েন্টগুলোর জন্য নিম্নলিখিত ৩টি ইউআরএল-এ প্রবেশ করুন:
  3. <সার্ভিস_ইউআরএল>/ইনভেন্টরি
  4. <সার্ভিস_ইউআরএল>/ইনভেন্টরি/আই-১
  5. <সার্ভিস_ইউআরএল>/ইনভেন্টরি/আই-১০০

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

ক্লাউড রান থেকে পরিষেবার বিবরণ পান

আমরা আমাদের এপিআই সার্ভিসটি ক্লাউড রান-এ স্থাপন করেছি, যা একটি সার্ভারবিহীন কম্পিউট পরিবেশ। আমরা যেকোনো সময়ে গুগল ক্লাউড কনসোলের মাধ্যমে ক্লাউড রান সার্ভিসটি পরিদর্শন করতে পারি।

মূল মেনু থেকে ক্লাউড রান-এ যান। এটি ক্লাউড রান-এ আপনার চলমান সার্ভিসগুলোর তালিকা প্রদর্শন করবে। আপনি এইমাত্র ডেপ্লয় করা সার্ভিসটি দেখতে পাবেন। আপনার নির্বাচিত নামের উপর নির্ভর করে, আপনি এইরকম কিছু দেখতে পাবেন:

10d2c363241d789c.png

বিস্তারিত দেখতে পরিষেবার নামের উপর ক্লিক করুন। নমুনা বিবরণ নিচে দেখানো হলো:

1ec2c9e45ff1a2db.png

URL-টি লক্ষ্য করুন, যা আর কিছুই নয়, সেই সার্ভিস URL যা আপনি ব্রাউজারে টাইপ করে আমাদের সদ্য ডেপ্লয় করা ইনভেন্টরি API-টি অ্যাক্সেস করতে পারবেন। নির্দ্বিধায় মেট্রিক্স এবং অন্যান্য বিবরণ দেখে নিন।

চলুন, এখনই গুগল ক্লাউড অপারেশনস স্যুট দিয়ে শুরু করা যাক।

৪. একটি ড্যাশবোর্ড তৈরি করুন

ক্লাউড মনিটরিং-এর অন্যতম সুবিধাজনক একটি বৈশিষ্ট্য হলো গুগল ক্লাউডের একাধিক রিসোর্সের জন্য রেডিমেড (OOTB) ড্যাশবোর্ড। এর ফলে, সাধারণ মেট্রিকসহ ড্যাশবোর্ডের প্রাথমিক সেটআপ একটি দ্রুত ও সুবিধাজনক প্রক্রিয়া হয়ে ওঠে।

চলুন দেখে নেওয়া যাক, আমরা এইমাত্র ক্লাউড রানে ডেপ্লয় করা এপিআই সার্ভিসটির জন্য কাজটি কীভাবে করতে হয়।

আমাদের পরিষেবার জন্য কাস্টম ড্যাশবোর্ড

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

প্রথমে, নিচে দেখানো অনুযায়ী কনসোল থেকে Monitoring → Overview- তে যান:

c51a5dda4ab72bbf.png

ওভারভিউতে মনিটরিং-এ কনফিগার করা বিভিন্ন বিষয় দেখানো হয়, যেমন ড্যাশবোর্ড, অ্যালার্টিং, আপটাইম চেক ইত্যাদি।

2758f61f1e7f1dca.png

আপাতত, চলুন পাশের প্রধান মেনু থেকে ড্যাশবোর্ড -এ ক্লিক করি। এটি আমাদের নিম্নলিখিত স্ক্রিনে নিয়ে আসবে:

c9110b6f065100da.png

স্যাম্পল লাইব্রেরি (SAMPLE LIBRARY)- তে ক্লিক করুন। এটি গুগল ক্লাউডের একাধিক রিসোর্স জুড়ে উপলব্ধ আউট-অফ-দ্য-বক্স (OOTB) ড্যাশবোর্ডগুলির তালিকা প্রদর্শন করবে। নির্দিষ্টভাবে, তালিকাটি স্ক্রল করে নিচে নামুন এবং নীচে দেখানো অনুযায়ী গুগল ক্লাউড রান (Google Cloud Run) নির্বাচন করুন।

dDAC4038d4fa91ae.png

এটি গুগল ক্লাউড রানের জন্য উপলব্ধ স্ট্যান্ডার্ড ড্যাশবোর্ডগুলির একটি তালিকা প্রদর্শন করবে। আমরা এতে আগ্রহী, কারণ আমরা আমাদের পরিষেবাটি ক্লাউড রানে স্থাপন করেছি।

আপনি ক্লাউড রান মনিটরিং-এর জন্য একটি ড্যাশবোর্ড দেখতে পাবেন। ক্লাউড রান মনিটরিং-এর জন্য উপলব্ধ স্ট্যান্ডার্ড চার্ট (মেট্রিক্স)-এর তালিকা দেখতে PREVIEW লিঙ্কে ক্লিক করুন। এই সমস্ত চার্ট একটি কাস্টম ড্যাশবোর্ডে ইম্পোর্ট করতে কেবল IMPORT SAMPLE DASHBOARD- এ ক্লিক করুন। এটি নীচে দেখানো ছবির মতো একটি ড্যাশবোর্ড স্ক্রিন উপস্থাপন করবে, যেখানে নামটি আগে থেকেই পূরণ করা থাকবে:

531cb8434b18193a.png

ড্যাশবোর্ডের নামের বাম দিকে, একদম উপরে থাকা বাম তীরচিহ্নে (Left Arrow) ক্লিক করে আপনি পিছনে ফিরে যেতে পারেন। এটি আপনাকে ড্যাশবোর্ডগুলির তালিকায় নিয়ে যাবে, যেখান থেকে আপনি এইমাত্র তৈরি করা নতুন ড্যাশবোর্ডটি দেখতে পাবেন।

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

এছাড়াও, নিচে দেখানো তারকা আইকনটি নির্বাচন করে আপনি ড্যাশবোর্ডের যেকোনো অংশকে পছন্দের তালিকায় যুক্ত করতে পারেন:

fc993d1a17415550.png

এটি মনিটরিং-এর ওভারভিউ স্ক্রিনে ড্যাশবোর্ডটি যুক্ত করবে এবং এর ফলে ঘন ঘন ব্যবহৃত ড্যাশবোর্ডগুলোতে সহজে যাওয়া যাবে।

2e8f66e2652c55c5.png

1e1dffb5239ab110.png

চমৎকার! আপনি আপনার ক্লাউড রান পরিষেবাগুলো নিরীক্ষণের জন্য একটি কাস্টম ড্যাশবোর্ড যুক্ত করেছেন। খুব ভালো কাজ করেছেন!

৫. আপটাইম চেক

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

এই ক্ষেত্রে রিসোর্সটি হবে সেই এপিআই সার্ভিসটি যা আমরা ক্লাউড রান-এ ডেপ্লয় করেছি। ইউআরএলটি হবে একটি নির্দিষ্ট এন্ডপয়েন্ট, যা এপিআই সার্ভিসটি তার অবস্থা জানানোর জন্য প্রকাশ করে।

নমুনা API সার্ভিস কোডে, আমরা /healthy নামে একটি এন্ডপয়েন্ট রেখেছি যা " All Izz Well " স্ট্রিংটি রিটার্ন করে। সুতরাং, আমাদের শুধু একটি আপটাইম চেক সংজ্ঞায়িত করতে হবে যা https://<SERVICE_URL>/healthy-এর মতো কোনো লিঙ্কে হিট করবে এবং পরীক্ষা করে দেখবে যে "All Izz Well" স্ট্রিংটি রিটার্ন হয়েছে কি না।

একটি নোটিফিকেশন চ্যানেল তৈরি করুন

আপটাইম চেক তৈরি করার আগে, প্রথমে নোটিফিকেশন চ্যানেলগুলো কনফিগার করা জরুরি। নোটিফিকেশন চ্যানেল হলো এমন একটি মাধ্যম, যার মাধ্যমে আমাদের মনিটর করা কোনো রিসোর্সে কোনো ঘটনা বা সমস্যা ঘটলে আপনাকে সতর্ক করা হবে। নোটিফিকেশন চ্যানেলের একটি উদাহরণ হলো ইমেল এবং কোনো অ্যালার্ট ইত্যাদি থাকলে আপনি ইমেল পাবেন।

আপাতত, আমরা একটি ইমেল নোটিফিকেশন চ্যানেল তৈরি করব এবং তাতে আমাদের ইমেল ঠিকানা যুক্ত করব, যাতে আমাদের সিস্টেম থেকে কোনো অ্যালার্ট এলে বা আমরা তা কনফিগার করলে, আমরা বিজ্ঞপ্তি পেতে পারি।

একটি নোটিফিকেশন চ্যানেল তৈরি করতে, এই ধাপগুলো অনুসরণ করুন:

নিচে দেখানো অনুযায়ী, গুগল ক্লাউড কনসোলের প্রধান মেনু থেকে মনিটরিং → অ্যালার্টিং- এ যান:

9f87859064c63b63.png

এটিতে অ্যালার্ট, পলিসি এবং আরও অনেক কিছু সহ একটি পেজ প্রদর্শিত হবে। আপাতত, আপনি উপরে ‘এডিট নোটিফিকেশন চ্যানেলস’ শিরোনামের একটি লিঙ্ক দেখতে পাবেন। সেটিতে ক্লিক করুন।

5ab54f42e6f7b99.png

এটি নিচে দেখানো অনুযায়ী বিভিন্ন নোটিফিকেশন চ্যানেলের একটি তালিকা প্রদর্শন করবে:

cd89b1ca9e1de87c.png

ইমেল বিভাগটি খুঁজুন এবং সেই সারির জন্য 'নতুন যোগ করুন' (ADD NEW) -এ ক্লিক করুন। এটি নীচে দেখানো অনুযায়ী ইমেল কনফিগারেশনের বিবরণ প্রদর্শন করবে:

d6ed98ffd0427fa3.png

নিচে দেখানো অনুযায়ী আপনার ইমেল ঠিকানা এবং একটি ডিসপ্লে নেম দিন। সেভ (SAVE) বাটনে ক্লিক করুন।

এর মাধ্যমে ইমেল নোটিফিকেশন চ্যানেল তৈরির কাজ সম্পন্ন হলো। চলুন এবার আপটাইম চেকটি কনফিগার করা যাক।

আপটাইম চেক তৈরি করা

গুগল ক্লাউড কনসোলের প্রধান মেনু থেকে মনিটরিং → আপটাইম চেকস- এ যান। উপরে আপনি ক্রিয়েট আপটাইম চেক (CREATE UPTIME CHECK) লিঙ্কটি দেখতে পাবেন। সেটিতে ক্লিক করুন।

484541aec65e605e.png

এর ফলে কয়েকটি ধাপ আসবে যা আপটাইম চেক কনফিগার করার জন্য আপনাকে সম্পন্ন করতে হবে।

প্রথম ধাপ হলো টার্গেটের বিবরণ সেট আপ করা, অর্থাৎ আমাদের ডেপ্লয় করা ক্লাউড রান সার্ভিসের তথ্য। পূরণ করা ফর্মটি নিচে দেখানো হলো:

4e2bb9fe022320f7.png

বিভিন্ন মানগুলো নিম্নরূপভাবে নির্বাচন করা যেতে পারে:

  • প্রোটোকল : HTTPS
  • রিসোর্স টাইপ: ক্লাউড রান সার্ভিস নির্বাচন করুন। এটি যে অন্যান্য রিসোর্সগুলো সমর্থন করে এবং যেগুলোতে আপনি আপটাইম চেকও সেট করতে পারেন, তা লক্ষ্য করুন।
  • ক্লাউড রান সার্ভিস : my-inventory-api অথবা ক্লাউড রান সার্ভিসের জন্য আপনার ব্যবহৃত নির্দিষ্ট নামটি নির্বাচন করুন।
  • পাথটি হলো /healthy , কারণ আমরা " All Izz Well" স্ট্রিংটি ফেরত দিচ্ছি এবং আমরা সেটিই যাচাই করতে চাই।

পরবর্তী ধাপে যেতে CONTINUE-এ ক্লিক করুন। পরবর্তী ধাপটি হলো Response Validation ধাপ, যা নিচে দেখানো হলো:

a6011ac2ab3e0f10.png

আপনি দেখতে পাচ্ছেন যে আমরা "কন্টেন্ট ম্যাচিং" চেকটি চালু করছি এবং তারপরে সেট আপ করছি যে /healthy এন্ডপয়েন্ট থেকে ফেরত আসা প্রতিক্রিয়াটি হবে "অল ইজ ওয়েল"। পরবর্তী ধাপে যাওয়ার জন্য CONTINUE- এ ক্লিক করুন, যেখানে আমরা অ্যালার্ট কনফিগার করব এবং আপটাইম চেক ব্যর্থ হলে কোন নোটিফিকেশন চ্যানেলে আমাদের সতর্ক করা হবে তা ঠিক করব।

d9738670efcb999f.png

এই ধাপে, অ্যালার্টটির একটি নাম দিন। আমি এর নাম দিয়েছি ‘Inventory API Uptime Check failure’ , কিন্তু আপনি আপনার নিজের পছন্দমতো নাম দিতে পারেন। এখানে গুরুত্বপূর্ণ বিষয় হলো, আগে থেকে কনফিগার করা তালিকা থেকে সঠিক নোটিফিকেশন চ্যানেলটি নির্বাচন করা।

আমাদের কনফিগার করা আপটাইম চেকটি পর্যালোচনা করার চূড়ান্ত ধাপ হিসেবে REVIEW- তে ক্লিক করুন।

এই চূড়ান্ত ধাপে, আপটাইম চেকটির একটি নাম দিন (যেমন ইনভেন্টরি এপিআই আপটাইম চেক ) এবং তারপরে চেকটি সঠিকভাবে কনফিগার করা হয়েছে কিনা তা পরীক্ষা করে দেখতে পারেন। এর জন্য টেস্ট (TEST) বোতামে ক্লিক করুন।

80375bfab97fc313.png

এগিয়ে যান এবং প্রক্রিয়াটি সম্পূর্ণ করুন (বাম দিকের CREATE বোতামে ক্লিক করুন)। Google Cloud বিভিন্ন অঞ্চলে কনফিগার করা আপটাইম চেক প্রোবগুলিকে URL-টি পিং করার নির্দেশ দেবে এবং এই প্রতিক্রিয়াগুলি সংগ্রহ করা হবে। কয়েক মিনিট পর Monitoring → Uptime checks বিভাগে যান এবং আপনি আদর্শগতভাবে সমস্ত সবুজ সংকেত দেখতে পাবেন, যা নির্দেশ করে যে URL-টি বিভিন্ন প্রোব থেকে অ্যাক্সেসযোগ্য ছিল।

df17555ddbee1127.png

যদি কোনো প্রোব একটি নির্দিষ্ট সময়ের জন্য (যা কনফিগার করা যায়) ব্যর্থ হয়, তাহলে আমাদের কনফিগার করা ইমেল চ্যানেলে আপনি একটি অ্যালার্ট নোটিফিকেশন পাবেন।

এর মাধ্যমেই আপটাইম চেক সেট আপ করার পর্বটি শেষ হলো। খুব ভালো!

৬. মেট্রিক্স এক্সপ্লোরার

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

এই অংশে আমাদের লক্ষ্য হলো:

  1. কীভাবে বিভিন্ন মেট্রিক দেখা যায় তা বুঝুন এবং তারপর আমরা আমাদের এপিআই পরিষেবার জন্য একটি নির্দিষ্ট মেট্রিক (লেটেন্সি) খতিয়ে দেখব।
  2. সেই মেট্রিকটিকে একটি চার্ট এবং কাস্টম ড্যাশবোর্ডে রূপান্তর করুন, যা আমরা পরবর্তীতে যেকোনো সময় মেট্রিকটি দেখার জন্য ব্যবহার করতে পারব।

ইনভেন্টরি এপিআই পরিষেবার জন্য লেটেন্সি মেট্রিক অন্বেষণ করুন

গুগল ক্লাউড কনসোলের প্রধান মেনু থেকে মনিটরিং → মেট্রিক্স এক্সপ্লোরার- এ যান। এটি আপনাকে মেট্রিক্স এক্সপ্লোরার স্ক্রিনে নিয়ে যাবে। সিলেক্ট এ মেট্রিক (SELECT A METRIC)-এ ক্লিক করুন। এখন আপনি মেট্রিক্স তৈরি হয়েছে এমন বেশ কয়েকটি সক্রিয় রিসোর্সে নেভিগেট করতে পারবেন।

যেহেতু আমরা ক্লাউড রান পরিষেবা নিয়ে কাজ করছি, তাই ক্লাউড রান রিভিশন-এ ক্লিক করুন, তারপর নিচে দেখানো অনুযায়ী ক্যাটাগরি এবং রিকোয়েস্ট লেটেন্সি (Request Latency) শিরোনামের নির্দিষ্ট মেট্রিকটিতে ক্লিক করুন:

7609d8156c8f1384.png

'Apply'- তে ক্লিক করুন। এটি একটি চার্টে রিকোয়েস্ট লেটেন্সি প্রদর্শন করবে। আপনি ডানদিকের ডিসপ্লে সেটিংস থেকে উইজেট টাইপ পরিবর্তন করে লাইন চার্ট করতে পারেন, যেমনটি নিচে দেখানো হয়েছে:

46086ac0a8eaf3d7.png

এটি নীচে দেখানো লেটেন্সি চার্টটি প্রদর্শন করবে:

ad97f749eeacaa95.png

চার্ট এবং কাস্টম ড্যাশবোর্ড তৈরি করুন

চলুন এই চার্টটি সংরক্ষণ করা যাক। 'Save Chart'- এ ক্লিক করুন এবং নিচে দেখানো বিবরণগুলো ব্যবহার করুন:

35d1788d5f0cb3c4.png

মনে রাখবেন যে আমরা একটি নতুন ড্যাশবোর্ড তৈরি করছি, কোনো বিদ্যমান ড্যাশবোর্ডে এটি সংরক্ষণ করছি না। সেভ (SAVE) বোতামে ক্লিক করুন। এটি নতুন তৈরি করা ড্যাশবোর্ডটিকে আমাদের ড্যাশবোর্ডের তালিকায় যুক্ত করবে, যেমনটি নিচে দেখানো হয়েছে:

c9cdcd63d5823abd.png

বিস্তারিত দেখতে আমাদের তৈরি করা নির্দিষ্ট ড্যাশবোর্ডটিতে ক্লিক করুন।

27354d8310d8a2d7.png

মেট্রিক্স এক্সপ্লোরারের মাধ্যমে বিভিন্ন মেট্রিক্স অনুসন্ধান এবং কীভাবে আমরা আমাদের নিজস্ব ড্যাশবোর্ড তৈরি করতে পারি, সেই অধ্যায়টি এখানেই শেষ হচ্ছে।

৭. ক্লাউড লগিং

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

এই অংশে, আমরা লগস এক্সপ্লোরার সম্পর্কে জানব এবং কয়েকটি লগ মেসেজ সিমুলেট করব, যেগুলোকে আমরা পরবর্তীতে লগ-ভিত্তিক মেট্রিক্স নামক একটি ফিচারের মাধ্যমে সার্চ করে মেট্রিক্সে রূপান্তর করতে পারব।

লগস এক্সপ্লোরার

নিচে দেখানো পদ্ধতি অনুযায়ী, আপনি মূল গুগল ক্লাউড কনসোল থেকে Logging → Logs Explorer- এর মাধ্যমে Logs Explorer-এ যেতে পারেন:

df05f5b33fd5695a.png

এটি একটি লগ ইন্টারফেস প্রদর্শন করবে যেখানে আপনি প্রয়োজন অনুযায়ী লগ বার্তাগুলি ফিল্টার করার জন্য লগ লেভেল সহ বিভিন্ন রিসোর্স (প্রজেক্ট, গুগল ক্লাউড রিসোর্স, পরিষেবার নাম, ইত্যাদি) নির্দিষ্টভাবে নির্বাচন/অনির্বাচন করতে পারবেন।

e7fa15bcf73f3805.png

উপরে আমাদের ডেপ্লয় করা ক্লাউড রান রিভিশন অর্থাৎ ক্লাউড রান সার্ভিসগুলোর লগ তালিকা দেখানো হয়েছে। আপনি দেখবেন, আমাদের কনফিগার করা /healthy এন্ডপয়েন্টে বেশ কিছু আপটাইম চেক রিকোয়েস্ট আসছে

সতর্কবার্তা অনুসন্ধান করুন

I-1, I-2 এবং I-3 এর অন্তর্ভুক্ত নয় এমন প্রোডাক্ট আইডি প্রদান করে ইনভেন্টরি সার্ভিসে কয়েকটি অবৈধ অনুরোধ অনুকরণ করুন। উদাহরণস্বরূপ, একটি ভুল অনুরোধ হলো:

https://<SERVICE_URL>/inventory/I-999

আমরা এখন আমাদের এপিআই দ্বারা তৈরি হওয়া সেই সমস্ত সতর্কীকরণ বার্তা (WARNING) অনুসন্ধান করব, যেগুলো কোয়েরিতে ভুল প্রোডাক্ট আইডি প্রদান করার ফলে তৈরি হয়েছে।

কোয়েরি বক্সে নিম্নলিখিত কোয়েরি প্যারামিটারগুলো প্রবেশ করান:

রিসোর্স.টাইপ="ক্লাউড_রান_রিভিশন"

textPayload =~ "ভুল প্রোডাক্টআইডির জন্য ইনভেন্টরি অনুরোধ পাওয়া গেছে"

এটা দেখতে অনেকটা এইরকম হওয়া উচিত:

b3ee512a0c9c5c7b.png

রান কোয়েরি-তে ক্লিক করুন। এটি তখন আপনাকে সেই সমস্ত অনুরোধগুলি দেখাবে যেগুলিতে এই সমস্যাটি রয়েছে।

5fdbd7c23bf4694f.png

লগ-ভিত্তিক মেট্রিক্স

এই ত্রুটিগুলো ট্র্যাক করার জন্য চলুন একটি কাস্টম লগ মেট্রিক তৈরি করি। আমরা বুঝতে চাই যে ভুল প্রোডাক্ট আইডি দিয়ে উল্লেখযোগ্য সংখ্যক কল করা হচ্ছে কি না।

উপরেরটিকে একটি এরর মেট্রিক-এ রূপান্তর করতে, লগস এক্সপ্লোরার-এ থাকা ক্রিয়েট মেট্রিক বাটনটিতে ক্লিক করুন।

fa9a5e04922aa412.png

এটি মেট্রিক সংজ্ঞা তৈরি করার ফর্মটি নিয়ে আসবে। একটি কাউন্টার মেট্রিক বেছে নিন এবং নিচে দেখানো অনুযায়ী মেট্রিকের নাম (inventory_lookup_errors) ও বিবরণের জন্য তথ্য প্রবেশ করান এবং 'ক্রিয়েট মেট্রিক'- এ ক্লিক করুন।

70b5719b472d4d02.png

এটি কাউন্টার মেট্রিকটি তৈরি করবে এবং আপনি নিচে প্রদর্শিত বার্তার মতো একটি বার্তা দেখতে পাবেন:

ab9058028185e4d5.png

প্রধান মেনু থেকে Logging → Logs-based Metrics-এ যান এবং সেখানে আপনি User-defined metrics-এর তালিকায় আমাদের সংজ্ঞায়িত কাস্টম মেট্রিকটি দেখতে পাবেন, যা নিচে দেওয়া হলো:

7d186e90559cf8e1.png

এই এন্ট্রির শেষে আপনি তিনটি উল্লম্ব বিন্দু দেখতে পাবেন, এই কাস্টম মেট্রিকের উপর আপনি যে অপারেশনগুলো করতে পারবেন তা দেখতে সেগুলোতে ক্লিক করুন। তালিকাটি নীচে যা দেখছেন তার মতোই হওয়া উচিত। 'View in Metrics Explorer' অপশনটিতে ক্লিক করুন।

7586f0789a0bdb41.png

এটি আমাদেরকে সেই মেট্রিক্স এক্সপ্লোরারে নিয়ে যাবে, যা সম্পর্কে আমরা আগের বিভাগে জেনেছিলাম; তবে পার্থক্য হলো, এটি এখন আমাদের জন্য আগে থেকেই তথ্য দিয়ে পূর্ণ করা আছে।

7ee7403d0639ce25.png

সেভ চার্ট- এ ক্লিক করুন। সেভ চার্ট অপশনগুলোর জন্য নিম্নলিখিত মানগুলো ব্যবহার করুন:

9009da45f76eb4c5.png

এটি এখন একটি নতুন ড্যাশবোর্ড তৈরি করবে যেখানে আপনি ইনভেন্টরি সার্চের ত্রুটিগুলো দেখতে পারবেন এবং এটি ড্যাশবোর্ডের তালিকায় উপলব্ধ থাকবে।

201ed66957cb64f9.png

চমৎকার! আপনি এখন আপনার লগ থেকে একটি কাস্টম মেট্রিক তৈরি করেছেন এবং সেটিকে একটি চার্টে রূপান্তর করে একটি কাস্টম ড্যাশবোর্ডে রেখেছেন। এটি আমাদের ভুল প্রোডাক্ট আইডি ব্যবহার করা কলের সংখ্যা ট্র্যাক করতে সাহায্য করবে।

৮. সতর্কতা নীতিমালা

এই অংশে, আমরা আমাদের তৈরি করা কাস্টম মেট্রিকটি ব্যবহার করব এবং একটি নির্দিষ্ট থ্রেশহোল্ড পর্যন্ত এর ডেটা পর্যবেক্ষণ করব। অর্থাৎ, যদি ভুলের সংখ্যা একটি নির্দিষ্ট থ্রেশহোল্ড অতিক্রম করে, তাহলে আমরা একটি অ্যালার্ট জারি করব। অন্য কথায়, আমরা একটি অ্যালার্ট পলিসি সেট আপ করতে যাচ্ছি।

একটি সতর্কতা নীতি তৈরি করুন

চলুন ইনভেন্টরি সার্চ ড্যাশবোর্ডে যাই। এটি আমাদের তৈরি করা চার্টটি দেখাবে, যেখানে ইনভেন্টরি লুকআপ ত্রুটিগুলো উল্লেখ করা আছে, যেমনটি নিচে দেখানো হয়েছে:

3591a1dd91a8b9fd.png

এটি বর্তমান মেট্রিক ডেটা প্রদর্শন করবে। প্রথমে, নিচে দেখানো অনুযায়ী মেট্রিকটি সম্পাদনা করুন (এডিট বাটনে ক্লিক করুন):

5e76fc20d8387984.png

এটি মেট্রিকের বিস্তারিত তথ্য দেখাবে। আমরা চার্টটিকে ভুলের হার দেখানোর পরিবর্তে একটি যোগফল অর্থাৎ ভুলের সংখ্যায় রূপান্তর করতে যাচ্ছি। যে ফিল্ডটি পরিবর্তন করতে হবে তা নিচে দেখানো হলো:

65ccd1eaca607831.png

উপরের ডান কোণায় থাকা 'APPLY'- তে ক্লিক করলে আমরা আমাদের মেট্রিক্স স্ক্রিনে ফিরে আসব, কিন্তু এবার আমরা অ্যালাইনমেন্ট পিরিয়ডের মোট ত্রুটির সংখ্যার বনাম ত্রুটির হার দেখতে পাব।

আমরা এমন একটি অ্যালার্ট পলিসি তৈরি করতে যাচ্ছি যা ভুলের সংখ্যা একটি নির্দিষ্ট সীমা অতিক্রম করলে আমাদের অবহিত করবে। চার্টের উপরের ডান কোণায় থাকা ৩টি ডটে ক্লিক করুন এবং উপরে দেখানো অপশনের তালিকা থেকে ‘কনভার্ট টু অ্যালার্ট চার্ট’ (Convert to alert chart)-এ ক্লিক করুন।

cc9eec48b9bfbc92.png

আপনি নিচে দেখানো স্ক্রিনের মতো একটি স্ক্রিন দেখতে পাবেন:

6202ad1e88679a78.png

Next- এ ক্লিক করলে একটি থ্রেশহোল্ড ভ্যালু আসবে যা আমরা সেট করতে পারব। এখানে আমরা যে স্যাম্পল থ্রেশহোল্ডটি নিয়েছি তা হলো , কিন্তু আপনি আপনার পছন্দ অনুযায়ী বেছে নিতে পারেন।

734f809cc802ab78.png

নোটিফিকেশন ফর্মটি আনতে NEXT- এ ক্লিক করুন।

f2d84fb85c2520cb.png

আমরা পূর্বে তৈরি করা ইমেল চ্যানেলটিকে নোটিফিকেশন চ্যানেল হিসেবে নির্বাচন করেছি। আপনি ডকুমেন্টেশনের মতো অন্যান্য বিবরণ পূরণ করতে পারেন (যা তৈরি হওয়া অ্যালার্টের অংশ হিসেবে প্রদান করা হবে)। সারাংশ দেখতে এবং প্রক্রিয়াটি সম্পূর্ণ করতে NEXT- এ ক্লিক করুন।

c670b29da70c4655.png

এই অ্যালার্ট পলিসিটি তৈরি করার পর, এটি নিচে দেখানো অ্যালার্ট পলিসির তালিকায় দেখা যাবে। আপনি Monitoring → Alerting- এ গিয়ে অ্যালার্ট পলিসির তালিকাটি দেখতে পারেন। এখন পর্যন্ত কনফিগার করা পলিসিগুলোর তালিকা দেখতে পেজটির Policies সেকশনটি খুঁজুন।

154da627959c54f3.png

চমৎকার! আপনি এখন একটি কাস্টম অ্যালার্ট পলিসি কনফিগার করেছেন, যা ইনভেন্টরি এপিআই (Inventory API) দেখার সময় ত্রুটির হার বেড়ে গেলে আপনাকে অবহিত করবে।

৯. পরিষেবা পর্যবেক্ষণ (ঐচ্ছিক)

এই অংশে, আমরা সাইট রিলায়াবিলিটি ইঞ্জিনিয়ারিং (SRE) নীতি অনুসারে আমাদের সার্ভিসগুলোর জন্য SLI/SLO সেট আপ করব। আপনি লক্ষ্য করবেন যে ক্লাউড মনিটরিং আপনার কাজকে আরও সহজ করে তোলে, কারণ এটি ক্লাউড রান-এ আপনার ডেপ্লয় করা সার্ভিসগুলোকে স্বয়ংক্রিয়ভাবে খুঁজে বের করে এবং এরর বাজেট গণনার পাশাপাশি অ্যাভেইলেবিলিটি, ল্যাটেন্সির মতো গুরুত্বপূর্ণ SLI-গুলোও আপনার জন্য স্বয়ংক্রিয়ভাবে হিসাব করে দেয়।

চলুন আমাদের এপিআই সার্ভিসের জন্য ল্যাটেন্সি এসএলও সেট আপ করে ফেলি।

ইনভেন্টরি সার্ভিসের জন্য লেটেন্সি এসএলও সেট আপ করা

ক্লাউড কনসোলের প্রধান মেনু থেকে মনিটরিং → সার্ভিসেস- এ ক্লিক করুন। এটি সার্ভিস মনিটরিং-এর জন্য কনফিগার করা সার্ভিসগুলোর তালিকা প্রদর্শন করবে।

বর্তমানে, আমাদের এমন কোনো পরিষেবা নেই যা SLI/SLO মনিটরিং-এর জন্য সেটআপ করা হয়েছে, তাই তালিকাটি খালি। প্রথমে একটি পরিষেবা সংজ্ঞায়িত বা শনাক্ত করতে উপরে থাকা 'DEFINE SERVICE' লিঙ্কে ক্লিক করুন।

42d14515a481213.png

এটি স্বয়ংক্রিয়ভাবে সেই পরিষেবাগুলি খুঁজে বের করবে যেগুলি SLO মনিটরিং-এর জন্য উপযুক্ত। এটি ক্লাউড রান পরিষেবাগুলি খুঁজে বের করতে সক্ষম এবং সেই কারণে ক্লাউড রানে ডেপ্লয় করা আমাদের ইনভেন্টরি এপিআই পরিষেবাটি তালিকায় দৃশ্যমান হবে।

522aaba719f85c54.png

আপনি যে ডিসপ্লে নামটি দেখতে পাচ্ছেন তা ভিন্ন হতে পারে এবং এটি নির্ভর করবে ক্লাউড রান-এ পরিষেবাটি স্থাপন করার সময় আপনি কী বেছে নিয়েছিলেন তার উপর। সাবমিট (SUBMIT) বোতামে ক্লিক করুন। এটি নীচে দেখানো স্ক্রিনটি নিয়ে আসবে:

eca08010ab6858a9.png

আপনি CREATE SLO- তে ক্লিক করতে পারেন। এটি এখন আপনাকে আপনার জন্য স্বয়ংক্রিয়ভাবে গণনা করা SLI-গুলো থেকে নির্বাচন করার সুযোগ দেবে।

556e49b10d22e5ac.png

শুরুতে আমরা ল্যাটেন্সি এসএলআই (Latency SLI) বেছে নিই। কন্টিনিউ (CONTINUE)-তে ক্লিক করুন। এরপর আপনি একটি স্ক্রিন দেখতে পাবেন, যেখানে এই পরিষেবাটির বর্তমান পারফরম্যান্স এবং এর সাধারণ ল্যাটেন্সি কত ছিল তা দেখানো হবে।

a9cc6f6778c13b52.png

আমরা থ্রেশহোল্ডের জন্য একটি মান, অর্থাৎ ৩০০ মিলিসেকেন্ড, নির্ধারণ করেছি, যা আমরা অর্জন করতে চাই। আপনি চাইলে একটি ভিন্ন মান বেছে নিতে পারেন, তবে মনে রাখবেন যে এটি আপনার নির্ধারিত এরর বাজেটকে প্রভাবিত করবে। কন্টিনিউ- তে ক্লিক করুন।

এখন আমরা নিচে দেখানো অনুযায়ী SLO (টার্গেট এবং মেজারমেন্ট উইন্ডো) সেট করব:

e1fc336d4191c08e.png

এর মানে হলো, আমরা মেজারমেন্ট উইন্ডোকে একটি রোলিং টাইপ উইন্ডো হিসেবে নির্বাচন করছি এবং ৭ দিন ধরে এর পরিমাপ করছি। একইভাবে টার্গেটের জন্য, আমরা ৯০% এর একটি লক্ষ্যমাত্রা বেছে নিয়েছি। এর মাধ্যমে আমরা বোঝাতে চাইছি যে, এপিআই সার্ভিসে আসা ৯০% রিকোয়েস্ট ৩০০ মিলিসেকেন্ডের মধ্যে সম্পন্ন হওয়া উচিত এবং এটি ৭ দিন ধরে পরিমাপ করা হবে।

'Continue'-তে ক্লিক করুন। এতে সারসংক্ষেপ স্ক্রিনটি আসবে, যা আপনি 'UPDATE SLO' বোতামে ক্লিক করে নিশ্চিত করতে পারেন।

f2540173d9f4a4b7.png

এটি আপনার SLO সংজ্ঞা সংরক্ষণ করে এবং এরর বাজেট আপনার জন্য স্বয়ংক্রিয়ভাবে গণনা করা হয়।

76393df0e189104.png

আপনি কয়েকটি জিনিস চেষ্টা করে দেখতে পারেন:

  1. একাধিকবার কল করার মাধ্যমে এপিআই-টি ব্যবহার করুন এবং সার্ভিসটির পারফরম্যান্স ও তা অবশিষ্ট এরর বাজেটকে কীভাবে প্রভাবিত করে তা দেখুন।
  2. সোর্স কোডটি পরিবর্তন করে কিছু কলে এলোমেলোভাবে অতিরিক্ত ডিলে (স্লিপ) যোগ করুন। এর ফলে বেশ কিছু কলের ল্যাটেন্সি বেড়ে যাবে এবং এটি এরর বাজেটকে নেতিবাচকভাবে প্রভাবিত করবে।

১০. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে গুগল ক্লাউডে একটি নমুনা অ্যাপ্লিকেশন স্থাপন করেছেন এবং অ্যাপ্লিকেশনটির অবস্থা নিরীক্ষণের জন্য গুগল ক্লাউড অপারেশনস স্যুট ব্যবহার সম্পর্কে শিখেছেন!

আমরা যা আলোচনা করেছি

  • গুগল ক্লাউড রান-এ একটি সার্ভিস ডেপ্লয় করা।
  • গুগল ক্লাউড রান সার্ভিসের জন্য একটি ড্যাশবোর্ড সেট আপ করা।
  • আপটাইম চেক।
  • কাস্টম লগ মেট্রিক্স সেট আপ করা এবং তার উপর ভিত্তি করে ড্যাশবোর্ড/চার্ট তৈরি করা।
  • মেট্রিক্স এক্সপ্লোরার অন্বেষণ এবং ড্যাশবোর্ড/চার্ট সেট আপ করা।
  • সতর্কতা নীতি নির্ধারণ করা।
  • গুগল ক্লাউডে সার্ভিস মনিটরিংয়ের জন্য SLI/SLO সেট আপ করা।

দ্রষ্টব্য: আপনি যদি আপনার নিজের অ্যাকাউন্ট এবং গুগল ক্লাউড প্রজেক্ট ব্যবহার করে কোডল্যাবটি চালিয়ে থাকেন, তবে বরাদ্দকৃত রিসোর্সগুলোর জন্য বিলিং চার্জ প্রযোজ্য হতে পারে। তাই ল্যাবের কাজ শেষ হয়ে গেলে প্রজেক্ট এবং রিসোর্সগুলো ডিলিট করে দিন।

এরপর কী?

Google Cloud Operations Suite সম্পর্কে আরও জানতে এই Cloud Skills Boost Quest-টি দেখুন।

আরও পড়ুন