ইভেন্টর্কের সাথে Google ক্লাউডে ডেটাডগ মনিটরিং সতর্কতা (পর্ব 1)

1. ভূমিকা

cb762f29e9183a3f.png সম্পর্কে3c7ca8629bc25d9c.png সম্পর্কে

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

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

এই প্রথম কোডল্যাবে, আপনি শিখবেন কিভাবে Eventarc ব্যবহার করে গুগল ক্লাউডে একটি সাধারণ ডেটাডগ মনিটরিং সতর্কতা রুট করতে হয়।

তুমি কি শিখবে

  • ডেটাডগ সরবরাহকারী কীভাবে আবিষ্কার করবেন।
  • ডেটাডগ প্রোভাইডারে কীভাবে একটি চ্যানেল সেটআপ করবেন।
  • ইভেন্ট লগ করার জন্য কীভাবে একটি ওয়ার্কফ্লো তৈরি করবেন।
  • চ্যানেলটি ব্যবহার করে কীভাবে একটি Eventarc ট্রিগার তৈরি করবেন।
  • কিভাবে একটি ডেটাডগ মনিটর তৈরি করবেন।
  • ডেটাডগ মনিটর, ইভেন্টার্ক ট্রিগার এবং ওয়ার্কফ্লো কীভাবে পরীক্ষা করবেন।

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

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

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

b35bf95b8bf3d5d8.png সম্পর্কে

a99b7ace416376c4.png সম্পর্কে

bd84a6d3004737c5.png সম্পর্কে

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

ক্লাউড শেল শুরু করুন

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

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

55efc1aaa7a4d3ad.png সম্পর্কে

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

অনুসরণ

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

জিক্লাউড সেট আপ করুন

ক্লাউড শেলে, আপনার প্রোজেক্ট আইডি সেট করুন এবং এটিকে PROJECT_ID ভেরিয়েবল হিসেবে সংরক্ষণ করুন।

এছাড়াও, REGION ভেরিয়েবলটি us-central1 এ সেট করুন। এই অঞ্চলে আপনি পরে রিসোর্স তৈরি করবেন।

PROJECT_ID=[YOUR-PROJECT-ID]
REGION=us-central1
gcloud config set core/project $PROJECT_ID

API গুলি সক্ষম করুন

সমস্ত প্রয়োজনীয় পরিষেবা সক্ষম করুন:

gcloud services enable \
  eventarc.googleapis.com \
  eventarcpublishing.googleapis.com \
  workflows.googleapis.com \
  workflowexecutions.googleapis.com

৩. ডেটাডগ সরবরাহকারী আবিষ্কার করুন

Eventarc প্রোভাইডার হল এমন একটি পরিষেবা বা সত্তা যা সরাসরি Google ক্লাউডে ইভেন্টগুলি প্রেরণ করতে পারে যা পরে আপনার প্রকল্পে পাঠানো হয়। ডেটাডগের মতো তৃতীয় পক্ষের প্রোভাইডাররা হল নন-গুগল ক্লাউড প্রোভাইডার যারা Eventarc এর মাধ্যমে Google ক্লাউডের সাথে একীভূত হয়।

ক্লাউড শেলে, গুগল ক্লাউড এবং তৃতীয় পক্ষের সরবরাহকারীদের তালিকা দেখতে নিম্নলিখিত কমান্ডটি চালান:

gcloud eventarc providers list

এটি গুগল ক্লাউড এবং তৃতীয় পক্ষের সরবরাহকারীদের তালিকা করে এবং তারা যে অবস্থানগুলিতে উপলব্ধ:

NAME: storage.googleapis.com
LOCATION: asia

NAME: cloudaudit.googleapis.com
LOCATION: asia

NAME: pubsub.googleapis.com
LOCATION: asia

...

আপনি এই কমান্ডের সাহায্যে তালিকাটি তৃতীয় পক্ষের সরবরাহকারীদের মধ্যে সংকুচিত করতে পারেন:

gcloud eventarc providers list --filter='eventTypes.type!~^google*'

তালিকায় আপনার ডেটাডগ দেখতে পাওয়া উচিত:

NAME: datadog
LOCATION: us-central1

আপনি ডেটাডগ সরবরাহকারীর বর্ণনা দিয়ে এটির সমর্থনকারী ইভেন্টগুলি দেখতে পারেন:

gcloud eventarc providers describe datadog --location $REGION

displayName: Datadog
eventTypes:
- type: datadog.v1.alert
name: projects/project-id/locations/us-central1/providers/datadog

৪. একটি চ্যানেল সেটআপ করুন

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

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

আপনি gcloud ব্যবহার করে Datadog প্রদানকারীর জন্য একটি চ্যানেল তৈরি করতে পারেন:

CHANNEL_NAME=datadog-channel
gcloud eventarc channels create $CHANNEL_NAME \
   --provider datadog \
   --location $REGION

আপনি এটি গুগল ক্লাউড কনসোলের Eventarc পৃষ্ঠার চ্যানেল বিভাগ থেকেও তৈরি করতে পারেন:

d03a7173b25e5ea6.png সম্পর্কে

চ্যানেলের বিবরণ পুনরুদ্ধার করুন

চ্যানেল তৈরি হয়ে গেলে, gcloud থেকে চ্যানেলের বিবরণ পুনরুদ্ধার করুন:

gcloud eventarc channels describe $CHANNEL_NAME --location $REGION

আউটপুটটি নিম্নলিখিতগুলির মতো হওয়া উচিত:

activationToken: so5g4Kdasda7y2MSasdaGn8njB2
createTime: '2022-03-09T09:53:42.428978603Z'
name: projects/project-id/locations/us-central1/channels/datadog-channel
provider: projects/project-id/locations/us-central1/providers/datadog
pubsubTopic: projects/project-id/topics/eventarc-channel-us-central1-datadog-channel-077
state: PENDING
uid: 183d3323-8cas-4e95-8d72-7d8c8b27cf9e
updateTime: '2022-03-09T09:53:48.290217299Z'

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

80d8b2b6a46cb4c5.png সম্পর্কে

চ্যানেলের অবস্থা চ্যানেলের অবস্থা নির্দেশ করে। এটি নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

  • PENDING — চ্যানেলটি সফলভাবে তৈরি করা হয়েছে এবং প্রোভাইডারের সাথে সংযোগ তৈরি করার জন্য একটি অ্যাক্টিভেশন টোকেন উপলব্ধ রয়েছে। চ্যানেলের অবস্থা PENDING থেকে ACTIVE এ পরিবর্তন করতে, টোকেনটি প্রোভাইডারকে দিতে হবে এবং চ্যানেল তৈরির 24 ঘন্টার মধ্যে চ্যানেলটি সংযুক্ত করতে ব্যবহার করতে হবে।
  • ACTIVE — চ্যানেলটি সফলভাবে প্রদানকারীর সাথে সংযুক্ত করা হয়েছে। একটি ACTIVE চ্যানেল প্রদানকারীর কাছ থেকে ইভেন্ট গ্রহণ এবং রুট করার জন্য প্রস্তুত।
  • INACTIVE — চ্যানেলটি ইভেন্ট গ্রহণ করতে পারে না বা পুনরায় সক্রিয় করা যাবে না। হয় সরবরাহকারী এই চ্যানেল থেকে সংযোগ বিচ্ছিন্ন হয়ে গেছে অথবা চ্যানেল সক্রিয়করণ টোকেনের মেয়াদ শেষ হয়ে গেছে এবং সরবরাহকারী সংযুক্ত নেই। কোনও সরবরাহকারীর সাথে সংযোগ পুনঃস্থাপন করতে, আপনাকে সরবরাহকারীর জন্য একটি নতুন চ্যানেল তৈরি করতে হবে।

অ্যাক্টিভেশন টোকেন হল একটি একক-ব্যবহারের, সময়-সীমাবদ্ধ টোকেন, যা কোনও সরবরাহকারী এবং গ্রাহকের প্রকল্পের মধ্যে সংযোগ তৈরি করতে ব্যবহৃত হয়। চ্যানেল তৈরির প্রক্রিয়া চলাকালীন নির্বাচিত একটি নির্দিষ্ট সরবরাহকারীই টোকেনটি ব্যবহার করতে পারে। চ্যানেল তৈরির পর টোকেনটি 24 ঘন্টার জন্য বৈধ থাকে। 24 ঘন্টা পরে, চ্যানেলটি INACTIVE হয়ে যায়।

সরবরাহকারীর কাছে চ্যানেলের বিবরণ পাঠান

আপনাকে নিম্নলিখিত চ্যানেলের বিবরণ ডেটাডগ প্রদানকারীর কাছে পাঠাতে হবে:

  • চ্যানেলের নাম (যেমন, projects/project-id/locations/us-central1/channels/datadog-channel )
  • অ্যাক্টিভেশন টোকেন (যেমন। so5g4Kdasda7y2MSasdaGn8njB2 )

ডেটাডগে লগইন করুন, ইন্টিগ্রেশন পৃষ্ঠায় যান এবং নিশ্চিত করুন যে গুগল ইভেন্টার্ক ইন্টিগ্রেশন ইনস্টল করা আছে:

9736bd517e1fa19a.png সম্পর্কে

গুগল ইভেন্টার্কের কনফিগারেশন বিভাগে, পুরো চ্যানেলের নাম এবং অ্যাক্টিভেশন টোকেন লিখুন:

a17f522075cdd92e.png সম্পর্কে

এখন আপনার চ্যানেলের তালিকায় চ্যানেলটি দেখতে পাওয়া উচিত এবং কয়েক সেকেন্ড পরে, আপনি গুগল ক্লাউড কনসোলে চ্যানেলটি সক্রিয় হতেও দেখতে পাবেন:

8399d528ccbd4c20.png সম্পর্কে

এখন, আপনি চ্যানেলটি ব্যবহার করার জন্য প্রস্তুত!

৫. একটি কর্মপ্রবাহ তৈরি করুন

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

নিম্নলিখিত বিষয়বস্তু সহ একটি workflow-datadog1.yaml ফাইল তৈরি করুন:

main:
  params: [event]
  steps:
  - logStep:
      call: sys.log
      args:
        data: ${event}

মনে রাখবেন যে ওয়ার্কফ্লো একটি ইভেন্টকে প্যারামিটার হিসেবে গ্রহণ করছে। এই ইভেন্টটি Eventarc এর মাধ্যমে Datadog মনিটরিং থেকে আসবে। ইভেন্টটি গ্রহণ করার পরে, ওয়ার্কফ্লো কেবল প্রাপ্ত ইভেন্টটি লগ করে।

কর্মপ্রবাহ স্থাপন করুন:

WORKFLOW_NAME=workflow-datadog1
gcloud workflows deploy $WORKFLOW_NAME \
  --source workflow-datadog1.yaml \
  --location $REGION

ওয়ার্কফ্লোটি স্থাপন করা হয়েছে কিন্তু এটি এখনও চলছে না। ডেটাডগ সতর্কতা পেলে এটি একটি Eventarc ট্রিগার দ্বারা কার্যকর করা হবে।

৬. একটি Eventarc ট্রিগার তৈরি করুন

আপনি এখন Eventarc ট্রিগার ব্যবহার করে Datadog প্রদানকারীর ইভেন্টগুলিকে Workflows-এর সাথে সংযুক্ত করতে প্রস্তুত।

পরিষেবা অ্যাকাউন্ট কনফিগার করুন

ট্রিগার তৈরি করার সময় আপনার eventarc.eventReceiver ভূমিকা সহ একটি পরিষেবা অ্যাকাউন্টের প্রয়োজন। আপনি হয় একটি ডেডিকেটেড পরিষেবা অ্যাকাউন্ট তৈরি করতে পারেন অথবা ডিফল্ট কম্পিউট পরিষেবা অ্যাকাউন্ট ব্যবহার করতে পারেন।

সহজতার জন্য, ডিফল্ট কম্পিউট সার্ভিস অ্যাকাউন্ট ব্যবহার করুন এবং eventarc.eventReceiver ভূমিকাটি মঞ্জুর করুন:

PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')

gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com \
    --role roles/eventarc.eventReceiver

একটি ট্রিগার তৈরি করুন

ডেটাডগ চ্যানেল, ইভেন্টের ধরণ এবং একটি ওয়ার্কফ্লো গন্তব্য সহ একটি ট্রিগার তৈরি করুন:

gcloud eventarc triggers create datadog-trigger1 \
  --location $REGION \
  --destination-workflow $WORKFLOW_NAME \
  --destination-workflow-location $REGION \
  --channel $CHANNEL_NAME \
  --event-filters type=datadog.v1.alert \
  --service-account $PROJECT_NUMBER-compute@developer.gserviceaccount.com

নতুন তৈরি ট্রিগারটি সক্রিয় আছে কিনা তা দেখার জন্য আপনি ট্রিগারগুলির তালিকা তৈরি করতে পারেন:

gcloud eventarc triggers list --location $REGION

NAME: datadog-trigger1
TYPE: datadog.v1.alert
DESTINATION: Workflows: workflow-datadog1
ACTIVE: Yes

৭. একটি ডেটাডগ মনিটর তৈরি করুন

এখন আপনি একটি ডেটাডগ মনিটর তৈরি করবেন এবং এটি Eventarc এর সাথে সংযুক্ত করবেন।

এটি একটি হ্যালো ওয়ার্ল্ড টাইপ মনিটর হবে যার ডিফল্ট মান থাকবে। আপনি মনিটরিং অ্যালার্ট তৈরি করতে এটিকে ম্যানুয়ালি ট্রিগার করবেন যা গুগল ক্লাউডে একটি Eventarc ইভেন্ট তৈরি করবে।

Datadog-এ একটি মনিটর তৈরি করতে, Datadog-এ লগ ইন করুন । প্রধান মেনুতে Monitors উপর কার্সর রাখুন এবং সাব-মেনুতে New Monitor ক্লিক করুন। অনেক ধরণের মনিটর আছে। Metric monitor টাইপ নির্বাচন করুন।

New Monitor পৃষ্ঠায়, ধাপ ১ এবং ২ এর জন্য ডিফল্টগুলি ছেড়ে দিন।

  • ধাপ ৩-এ, Alert threshold ১-এ সেট করুন
  • ধাপ ৪-এ, Test monitor for Eventarc মনিটরের নাম হিসেবে সেট করুন এবং Notify your team @eventarc_<your-project-id>_<your-region>_<your-channel-name> এ সেট করুন।

পরবর্তী ধাপে মনিটর পরীক্ষা করার জন্য মনিটর পৃষ্ঠাটি খোলা রাখুন।

৮. মনিটর এবং ট্রিগার পরীক্ষা করুন

ডেটাডগ মনিটর এবং ইভেন্টার্ক ট্রিগার পরীক্ষা করার জন্য, আপনাকে মনিটরটি ম্যানুয়ালি ট্রিগার করতে হবে।

মনিটর তৈরির পৃষ্ঠার নীচে, Test Notifications বোতামে ক্লিক করুন:

32ccf1cc47b01150.png সম্পর্কে

তারপর, Run Test বোতামে ক্লিক করুন:

7f2ff70ec673007b.png সম্পর্কে

এটি মনিটরে স্টেট ট্রানজিশনের অনুকরণ করবে এবং একটি Eventarc ইভেন্ট ট্রিগার করবে।

workflow-datadog1 ওয়ার্কফ্লো পরীক্ষা করুন। আপনি দেখতে পাবেন যে একটি নতুন এক্সিকিউশন আছে:

adf7cd97ca2e8da7.png সম্পর্কে

এক্সিকিউশনের বিস্তারিত পরীক্ষা করুন। ওয়ার্কফ্লো এবং লগের ইনপুটে মনিটরিং অ্যালার্ট থেকে তৈরি হওয়া Datadog ইভেন্ট টাইপ datadog.v1.alert দেখতে পাবেন:

dc78fd8460e5fc0e.png সম্পর্কে

৯. অভিনন্দন

অভিনন্দন, আপনি কোডল্যাব শেষ করেছেন! Workflows ব্যবহার করে Datadog মনিটরিং সতর্কতার প্রতিক্রিয়া জানাতে আপনি দ্বিতীয় কোডল্যাবটি চালিয়ে যেতে পারেন।

আমরা যা কভার করেছি

  • ডেটাডগ সরবরাহকারী কীভাবে আবিষ্কার করবেন।
  • ডেটাডগ প্রোভাইডারে কীভাবে একটি চ্যানেল সেটআপ করবেন।
  • ইভেন্ট লগ করার জন্য কীভাবে একটি ওয়ার্কফ্লো তৈরি করবেন।
  • চ্যানেলটি ব্যবহার করে কীভাবে একটি Eventarc ট্রিগার তৈরি করবেন।
  • কিভাবে একটি ডেটাডগ মনিটর তৈরি করবেন।
  • ডেটাডগ মনিটর, ইভেন্টার্ক ট্রিগার এবং ওয়ার্কফ্লো কীভাবে পরীক্ষা করবেন।