1. ভূমিকা
Eventarc বিভিন্ন উত্স থেকে ইভেন্টের সাথে Google ক্লাউড পরিষেবাগুলিকে সংযুক্ত করা সহজ করে তোলে৷ এটি আপনাকে ইভেন্ট-চালিত আর্কিটেকচার তৈরি করতে দেয় যেখানে মাইক্রোসার্ভিসগুলি শিথিলভাবে সংযুক্ত এবং বিতরণ করা হয়। এটি আপনার জন্য ইভেন্ট ইনজেশন, ডেলিভারি, নিরাপত্তা, অনুমোদন, এবং ত্রুটি-হ্যান্ডলিং এর যত্ন নেয় যা বিকাশকারীর তত্পরতা এবং অ্যাপ্লিকেশন স্থিতিস্থাপকতা উন্নত করে।
Datadog ক্লাউড অ্যাপ্লিকেশনের জন্য একটি পর্যবেক্ষণ এবং নিরাপত্তা প্ল্যাটফর্ম। এটি আপনার অ্যাপ্লিকেশন, পরিকাঠামো এবং তৃতীয় পক্ষের পরিষেবাগুলিকে পর্যবেক্ষণযোগ্য করতে এন্ড-টু-এন্ড ট্রেস, মেট্রিক্স এবং লগগুলিকে একত্রিত করে৷
ওয়ার্কফ্লো হল একটি সম্পূর্ণ-পরিচালিত অর্কেস্ট্রেশন প্ল্যাটফর্ম যেটি এমন একটি ক্রমে পরিষেবাগুলি সম্পাদন করে যা আপনি একটি ওয়ার্কফ্লো বলে সংজ্ঞায়িত করেন৷ এই ওয়ার্কফ্লোগুলি ক্লাউড রান বা ক্লাউড ফাংশনগুলিতে হোস্ট করা পরিষেবাগুলি, ক্লাউড ভিশন AI এবং BigQuery এর মতো Google ক্লাউড পরিষেবাগুলি এবং যে কোনও HTTP-ভিত্তিক APIকে একত্রিত করতে পারে৷
প্রথম কোডল্যাবে , আপনি কীভাবে Datadog মনিটরিং সতর্কতাগুলিকে Eventarc-এর মাধ্যমে Google ক্লাউডে রুট করবেন তা শিখেছেন। এই দ্বিতীয় কোডল্যাবে, আপনি শিখবেন কিভাবে ওয়ার্কফ্লো সহ ডেটাডগ মনিটরিং সতর্কতার প্রতিক্রিয়া জানাতে হয়। আরও নির্দিষ্টভাবে, আপনি 2টি কম্পিউট ইঞ্জিন ভার্চুয়াল মেশিন তৈরি করবেন এবং একটি ডেটাডগ মনিটর দিয়ে তাদের নিরীক্ষণ করবেন। একবার VMগুলির মধ্যে 1টি মুছে ফেলা হলে, আপনি Datadog থেকে Eventarc-এর মাধ্যমে ওয়ার্কফ্লোতে একটি সতর্কতা পাবেন। পরিবর্তে, চলমান VM-এর সংখ্যা 2-এ ফেরত পেতে ওয়ার্কফ্লোস মুছে ফেলা VM পুনরায় তৈরি করবে।
আপনি কি শিখবেন
- কিভাবে Datadog এর Google ক্লাউড ইন্টিগ্রেশন সক্ষম করবেন।
- কম্পিউট ইঞ্জিন ভিএম চেক এবং তৈরি করার জন্য কীভাবে একটি ওয়ার্কফ্লো তৈরি করবেন।
- ইভেন্টর্কের সাথে ওয়ার্কফ্লোতে ডেটাডগ মনিটরিং সতর্কতা কীভাবে সংযুক্ত করবেন।
- কীভাবে একটি ডেটাডগ মনিটর তৈরি করবেন এবং ভিএম মুছে ফেলার বিষয়ে সতর্কতা তৈরি করবেন।
2. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না এবং আপনি যে কোনো সময় এটি আপডেট করতে পারেন।
- সমস্ত Google ক্লাউড প্রজেক্ট জুড়ে প্রোজেক্ট আইডি অবশ্যই অনন্য হতে হবে এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এবং এটি সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত করা হয়), তাই আপনি যদি এটি পছন্দ না করেন তবে অন্য একটি এলোমেলো তৈরি করুন, অথবা, আপনি নিজের চেষ্টা করে দেখতে পারেন এটি উপলব্ধ কিনা। তারপর প্রকল্প তৈরি হওয়ার পরে এটি "হিমায়িত" হয়। - একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। রিসোর্স বন্ধ করতে যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন, কোডল্যাবের শেষে পাওয়া যেকোনো "ক্লিন-আপ" নির্দেশাবলী অনুসরণ করুন। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 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 \ workflows.googleapis.com \ workflowexecutions.googleapis.com
3. Datadog চ্যানেল যাচাই করুন
নিশ্চিত করুন যে প্রথম কোডল্যাবে আপনার তৈরি করা Datadog চ্যানেল সক্রিয় আছে। ক্লাউড শেল-এ, চ্যানেলের বিবরণ পুনরুদ্ধার করতে নিম্নলিখিত কমান্ডটি চালান:
CHANNEL_NAME=datadog-channel 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: ACTIVE uid: 183d3323-8cas-4e95-8d72-7d8c8b27cf9e updateTime: '2022-03-09T09:53:48.290217299Z'
আপনি Google ক্লাউড কনসোলে চ্যানেলের অবস্থাও দেখতে পারেন:
চ্যানেলের অবস্থা ACTIVE
হওয়া উচিত। যদি তা না হয়, প্রথম কোডল্যাবে ফিরে যান এবং Datadog-এর সাহায্যে একটি চ্যানেল তৈরি ও সক্রিয় করতে পদক্ষেপগুলি অনুসরণ করুন৷
4. Datadog এর Google ক্লাউড ইন্টিগ্রেশন সক্ষম করুন৷
একটি প্রকল্প নিরীক্ষণ করার জন্য Datadog ব্যবহার করতে, আপনাকে Datadog-এর জন্য প্রয়োজনীয় API সক্রিয় করতে হবে, একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে হবে এবং পরিষেবা অ্যাকাউন্টটিকে Datadog-এর সাথে সংযুক্ত করতে হবে।
Datadog এর জন্য API সক্ষম করুন
gcloud services enable compute.googleapis.com \ cloudasset.googleapis.com \ monitoring.googleapis.com
একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন
Datadog-এর Google ক্লাউড ইন্টিগ্রেশন আপনার Compute Engine দৃষ্টান্ত থেকে নোড-স্তরের মেট্রিক্স সংগ্রহ করতে ক্লাউড লগিং এপিআই-তে কল করার জন্য একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করে।
ডেটাডগের জন্য একটি পরিষেবা অ্যাকাউন্ট তৈরি করুন:
DATADOG_SA_NAME=datadog-service-account gcloud iam service-accounts create $DATADOG_SA_NAME \ --display-name "Datadog Service Account"
নিম্নলিখিত IAM ভূমিকাগুলি প্রদান করে মেট্রিক্স, ট্যাগ, ইভেন্ট এবং ব্যবহারকারী লেবেল সংগ্রহ করতে Datadog পরিষেবা অ্যাকাউন্ট সক্রিয় করুন:
DATADOG_SA_EMAIL=$DATADOG_SA_NAME@$PROJECT_ID.iam.gserviceaccount.com gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$DATADOG_SA_EMAIL \ --role roles/cloudasset.viewer gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$DATADOG_SA_EMAIL \ --role roles/compute.viewer gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$DATADOG_SA_EMAIL \ --role roles/monitoring.viewer
একটি পরিষেবা অ্যাকাউন্ট কী তৈরি করুন এবং ডাউনলোড করুন। Datadog-এর সাথে ইন্টিগ্রেশন সম্পূর্ণ করতে আপনার কী ফাইলের প্রয়োজন।
আপনার ক্লাউড শেল হোম ডিরেক্টরিতে একটি পরিষেবা অ্যাকাউন্ট কী ফাইল তৈরি করুন:
gcloud iam service-accounts keys create ~/key.json \ --iam-account $DATADOG_SA_EMAIL
ক্লাউড শেল-এ, More ⁝
ক্লিক করুন এবং তারপরে Download File
নির্বাচন করুন। File path
ক্ষেত্রে, key.json
লিখুন। মূল ফাইলটি ডাউনলোড করতে, Download
ক্লিক করুন।
ডেটাডগের সাথে পরিষেবা অ্যাকাউন্টটি সংযুক্ত করুন
আপনার ডেটাডগ অ্যাকাউন্টে, Integrations
বিভাগে যান এবং Google Cloud
ইন্টিগ্রেশন টাইল অনুসন্ধান করুন:
Install
পৃষ্ঠায় যেতে Google Cloud Platform
উপর হভার করুন:
Upload Private Key File
বিভাগে পরিষেবা অ্যাকাউন্ট কী আপলোড করে ইন্টিগ্রেশন ইনস্টল করুন এবং তারপরে Install Integration
ক্লিক করুন:
আপনি ইন্টিগ্রেশন সম্পূর্ণ করার পরে, Datadog স্বয়ংক্রিয়ভাবে Dashboards
অধীনে বেশ কয়েকটি Google ক্লাউড সম্পর্কিত ড্যাশবোর্ড তৈরি করে:
5. কম্পিউট ইঞ্জিন VM তৈরি করুন
এরপরে, কিছু কম্পিউট ইঞ্জিন ভার্চুয়াল মেশিন (ভিএম) তৈরি করুন। আপনি একটি Datadog মনিটরের মাধ্যমে এই VM গুলি নিরীক্ষণ করবেন এবং Google ক্লাউডে ওয়ার্কফ্লো সহ Datadog সতর্কতার প্রতিক্রিয়া জানাবেন।
2টি কম্পিউট ইঞ্জিন VM তৈরি করুন:
gcloud compute instances create instance-1 instance-2 --zone us-central1-a
আপনি ক্লাউড কনসোলে এক মিনিটের মধ্যে তৈরি এবং চলমান ভিএম দেখতে পাবেন। কিছু সময় পরে (সাধারণত 10 মিনিট), আপনার Dashboards
অধীনে Google Compute Engine
ড্যাশবোর্ডে Datadog-এ এই VMগুলি দেখতে হবে:
6. একটি কর্মপ্রবাহ তৈরি করুন
এখন আপনার কাছে 2টি VM চলমান আছে, একটি ওয়ার্কফ্লো তৈরি করুন যা ডেটাডগ মনিটর থেকে সতর্কতার প্রতিক্রিয়া জানাবে। ওয়ার্কফ্লো আপনার পছন্দ মতো পরিশীলিত হতে পারে তবে এই ক্ষেত্রে, ওয়ার্কফ্লো চলমান VM দৃষ্টান্তের সংখ্যা পরীক্ষা করবে এবং যদি এটি 2-এর নিচে নেমে আসে, তবে এটি সর্বদা 2টি VM চলমান আছে তা নিশ্চিত করতে এটি নতুন VM দৃষ্টান্ত তৈরি করবে।
নিম্নলিখিত বিষয়বস্তু সহ একটি workflow-datadog2.yaml
ফাইল তৈরি করুন:
main: params: [event] steps: - init: assign: - projectId: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")} - zone: "us-central1-a" - minInstanceCount: 2 - namePattern: "datadog-instance-##" - listInstances: call: googleapis.compute.v1.instances.list args: project: ${projectId} zone: ${zone} result: listResult - getInstanceCount: steps: - initInstanceCount: assign: - instanceCount: 0 - setInstanceCount: switch: - condition: ${"items" in listResult} steps: - stepA: assign: - instanceCount: ${len(listResult.items)} - findDiffInstanceCount: steps: - assignDiffInstanceCount: assign: - diffInstanceCount: ${minInstanceCount - instanceCount} - logDiffInstanceCount: call: sys.log args: data: ${"instanceCount->" + string(instanceCount) + " diffInstanceCount->" + string(diffInstanceCount)} - endEarlyIfNeeded: switch: - condition: ${diffInstanceCount < 1} next: returnResult - bulkInsert: call: googleapis.compute.v1.instances.bulkInsert args: project: ${projectId} zone: ${zone} body: count: ${diffInstanceCount} namePattern: ${namePattern} instanceProperties: machineType: "e2-micro" disks: - autoDelete: true boot: true initializeParams: sourceImage: projects/debian-cloud/global/images/debian-10-buster-v20220310 networkInterfaces: - network: "global/networks/default" result: bulkInsertResult - returnResult: return: ${bulkInsertResult}
লক্ষ্য করুন যে ওয়ার্কফ্লো একটি প্যারামিটার হিসাবে একটি ইভেন্ট গ্রহণ করছে৷ এই ইভেন্টটি Eventarc এর মাধ্যমে Datadog মনিটরিং থেকে আসবে। একবার ইভেন্টটি প্রাপ্ত হলে, ওয়ার্কফ্লো চলমান দৃষ্টান্তের সংখ্যা পরীক্ষা করে এবং প্রয়োজনে নতুন VM দৃষ্টান্ত তৈরি করে।
কর্মপ্রবাহ স্থাপন করুন:
WORKFLOW_NAME=workflow-datadog2 gcloud workflows deploy $WORKFLOW_NAME \ --source workflow-datadog2.yaml \ --location $REGION
ওয়ার্কফ্লো স্থাপন করা হয়েছে কিন্তু এটি এখনও চলছে না। একটি Datadog সতর্কতা প্রাপ্ত হলে এটি একটি Eventarc ট্রিগার দ্বারা কার্যকর করা হবে।
7. একটি Eventarc ট্রিগার তৈরি করুন
আপনি এখন একটি Eventarc ট্রিগার দিয়ে Datadog প্রদানকারীর থেকে Workflows-এর সাথে ইভেন্ট সংযোগ করতে প্রস্তুত৷ আপনি প্রথম কোডল্যাবে সেট আপ করা চ্যানেল এবং পরিষেবা অ্যাকাউন্ট ব্যবহার করবেন।
ডেটাডগ চ্যানেল, ইভেন্টের ধরন এবং একটি ওয়ার্কফ্লো গন্তব্যের সাথে একটি ট্রিগার তৈরি করুন:
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)') gcloud eventarc triggers create datadog-trigger2 \ --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-trigger2 TYPE: datadog.v1.alert DESTINATION: Workflows: workflow-datadog2 ACTIVE: Yes
8. একটি Datadog মনিটর তৈরি করুন
আপনি এখন একটি Datadog মনিটর তৈরি করবেন এবং এটি Eventarc এর সাথে সংযুক্ত করবেন।
মনিটরটি কম্পিউট ইঞ্জিন ভিএম-এর চলমান সংখ্যা পরীক্ষা করবে এবং এটি 2-এর নিচে নেমে গেলে সতর্ক করবে।
Datadog এ একটি মনিটর তৈরি করতে, Datadog এ লগ ইন করুন । প্রধান মেনুতে Monitors
উপর হোভার করুন এবং সাব-মেনুতে New Monitor
ক্লিক করুন। অনেক ধরনের মনিটর আছে। Metric
মনিটরের ধরন নির্বাচন করুন।
New Monitor
পৃষ্ঠায়, নিম্নলিখিতগুলির সাথে একটি মনিটর তৈরি করুন:
- সনাক্তকরণ পদ্ধতি নির্বাচন করুন:
Threshold
। - মেট্রিকটি সংজ্ঞায়িত করুন:
gcp.gce.instance.is_running
from (everywhere)sum by
(সবকিছু) - সতর্কতা শর্ত সেট করুন:
- শেষ
5 minutes
মধ্যেat least once
মেট্রিক থ্রেশহোল্ডেরbelow
থাকলে ট্রিগার করুন - সতর্কতা থ্রেশহোল্ড:
< 2
- আপনার দলকে অবহিত করুন:
@eventarc_<your-project-id>_<your-region>_<your-channel-name>
- উদাহরণ মনিটরের নাম:
Compute Engine instances < 2
এখন, মনিটর তৈরি করতে নিচের দিকে Create
চাপুন।
9. পরীক্ষা মনিটর এবং ট্রিগার
Datadog মনিটর, Eventarc ট্রিগার এবং অবশেষে ওয়ার্কফ্লো পরীক্ষা করতে, আপনি VM এর একটি মুছে ফেলবেন:
gcloud compute instances delete instance-2 --zone us-central1-a
কয়েক সেকেন্ড পরে, আপনি Google ক্লাউড কনসোলে মুছে ফেলা উদাহরণ দেখতে হবে।
Datadog-এ এই পরিবর্তনটি দেখানোর জন্য কিছুটা দেরি আছে। কিছু সময় পরে (সাধারণত 10 মিনিট), Manage Monitors
বিভাগের অধীনে এটি সনাক্ত করতে এবং সতর্ক করতে আপনার ডেটাডগে মনিটরটি দেখতে হবে:
Datadog মনিটর সতর্কতা একবার, আপনি সেই সতর্কতাটি Eventarc এর মাধ্যমে Workflows এ যেতে হবে। আপনি যদি ওয়ার্কফ্লো-এর লগ চেক করেন, তাহলে আপনার দেখতে হবে যে ওয়ার্কফ্লো বর্তমান ইনস্ট্যান্স কাউন্ট এবং প্রত্যাশিত ইনস্ট্যান্স কাউন্টের মধ্যে পার্থক্য খুঁজে বের করতে পরীক্ষা করে:
2022-03-28 09:30:53.371 BST instanceCount->1 diffInstanceCount->1
এটি datadog-instance-##
উপসর্গ সহ একটি নতুন ভিএম ইনস্ট্যান্স তৈরি করে সেই সতর্কতার প্রতিক্রিয়া জানায়।
শেষ পর্যন্ত, আপনার প্রোজেক্টে এখনও 2টি VM থাকবে, একটি আপনি প্রাথমিকভাবে তৈরি করেছেন এবং অন্যটি Datadog সতর্কতার পরে Workflows দ্বারা তৈরি করা হয়েছে!
10. অভিনন্দন
অভিনন্দন, আপনি কোডল্যাব শেষ করেছেন!
আমরা কভার করেছি কি
- কিভাবে Datadog এর Google ক্লাউড ইন্টিগ্রেশন সক্ষম করবেন।
- কম্পিউট ইঞ্জিন ভিএম চেক এবং তৈরি করার জন্য কীভাবে একটি ওয়ার্কফ্লো তৈরি করবেন।
- ইভেন্টর্কের সাথে ওয়ার্কফ্লোতে ডেটাডগ মনিটরিং সতর্কতা কীভাবে সংযুক্ত করবেন।
- কীভাবে একটি ডেটাডগ মনিটর তৈরি করবেন এবং ভিএম মুছে ফেলার বিষয়ে সতর্কতা তৈরি করবেন।