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

1. ভূমিকা

cb762f29e9183a3f.png3c7ca8629bc25d9c.png

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

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

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

আপনি কি শিখবেন

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

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

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

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

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

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

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

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

gCloud সেট আপ করুন

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

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

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

এপিআই সক্ষম করুন

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

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

3. Datadog প্রদানকারী আবিষ্কার করুন

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

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

gcloud eventarc providers list

এটি Google ক্লাউড এবং থার্ড-পার্টি প্রদানকারী এবং তারা যে অবস্থানগুলিতে উপলব্ধ তা তালিকাভুক্ত করে:

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*'

আপনি তালিকায় Datadog দেখতে হবে:

NAME: datadog
LOCATION: us-central1

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

gcloud eventarc providers describe datadog --location $REGION

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

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

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

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

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

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

আপনি Google ক্লাউড কনসোলে 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'

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

80d8b2b6a46cb4c5.png

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

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

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

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

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

  • চ্যানেলের নাম (যেমন. projects/project-id/locations/us-central1/channels/datadog-channel )
  • সক্রিয়করণ টোকেন (যেমন so5g4Kdasda7y2MSasdaGn8njB2 )

Datadog-এ লগইন করুন, ইন্টিগ্রেশন পেজে যান এবং নিশ্চিত করুন যে Google Eventarc ইন্টিগ্রেশন ইনস্টল করা আছে:

9736bd517e1fa19a.png

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

a17f522075cdd92e.png

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

8399d528ccbd4c20.png

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

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

প্রদানকারীর থেকে ইভেন্টগুলি পেতে আপনার Google ক্লাউডে একটি গন্তব্যের প্রয়োজন৷ 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

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

6. একটি 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

7. একটি Datadog মনিটর তৈরি করুন

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

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

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

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

  • ধাপ 3 এ, Alert threshold 1 এ সেট করুন
  • ধাপ 4-এ, Test monitor for Eventarc সেট করুন এবং Notify your team @eventarc_<your-project-id>_<your-region>_<your-channel-name> সেট করুন

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

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

Datadog মনিটর এবং Eventarc ট্রিগার পরীক্ষা করতে, আপনি ম্যানুয়ালি মনিটর ট্রিগার করবেন।

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

32ccf1cc47b01150.png

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

7f2ff70ec673007b.png

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

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

adf7cd97ca2e8da7.png

মৃত্যুদন্ডের বিবরণ পরীক্ষা করুন. আপনি কর্মপ্রবাহের ইনপুট এবং লগগুলিতে পর্যবেক্ষণ সতর্কতা থেকে জেনারেট হওয়া Datadog ইভেন্ট টাইপ datadog.v1.alert দেখতে পাবেন:

dc78fd8460e5fc0e.png

9. অভিনন্দন

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

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

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