1. परिचय
Eventarc की मदद से, Google Cloud की सेवाओं को कई तरह के सोर्स के इवेंट से आसानी से कनेक्ट किया जा सकता है. इसकी मदद से, इवेंट पर आधारित ऐसे आर्किटेक्चर बनाए जा सकते हैं जिनमें माइक्रोसेवाओं को शिफ़्ट किया जाता है और डिस्ट्रिब्यूट किया जाता है. यह सुविधा, इवेंट का डेटा डालने, डिलीवरी, सुरक्षा, अनुमति देने, और गड़बड़ियों को ठीक करने का भी ध्यान रखती है. इससे, डेवलपर को ऐप्लिकेशन के हिसाब से अपने ऐप्लिकेशन को टेस्ट करने में आसानी होती है.
Datadog, क्लाउड ऐप्लिकेशन के लिए निगरानी और सुरक्षा करने का प्लैटफ़ॉर्म है. यह आपके ऐप्लिकेशन, इन्फ़्रास्ट्रक्चर, और तीसरे पक्ष की सेवाओं को मॉनिटर करने लायक बनाने के लिए, एंड-टू-एंड ट्रेस, मेट्रिक, और लॉग को एक साथ लाता है.
इस पहले कोडलैब में, आपको Eventarc की मदद से Data Dog निगरानी करने की आसान चेतावनी को Google Cloud पर भेजने का तरीका बताया जाएगा.
आपको क्या सीखने को मिलेगा
- डेटाडॉग कंपनी का पता लगाने का तरीका.
- Dataडॉग प्रोवाइडर के लिए चैनल सेट अप करने का तरीका.
- इवेंट लॉग करने के लिए वर्कफ़्लो बनाने का तरीका.
- चैनल के साथ Eventarc ट्रिगर बनाने का तरीका.
- Dataडॉग मॉनिटर बनाने का तरीका.
- Dataडॉग मॉनिटर, Eventarc ट्रिगर, और वर्कफ़्लो की जांच करने का तरीका.
2. सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेटअप करना
- Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.
- प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों का डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करता. इसे कभी भी अपडेट किया जा सकता है.
- प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होना चाहिए. साथ ही, आईडी को बदला नहीं जा सकता. सेट अप के बाद इसे बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है; आम तौर पर, आपको उसके होने की कोई परवाह नहीं होती. ज़्यादातर कोडलैब में, आपको प्रोजेक्ट आईडी का रेफ़रंस देना होगा. आम तौर पर, इसे
PROJECT_ID
के तौर पर पहचाना जाता है. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो किसी भी क्रम में एक और आईडी जनरेट किया जा सकता है. इसके अलावा, खुद भी आज़माया जा सकता है और देखें कि वह उपलब्ध है या नहीं. इस चरण के बाद इसे बदला नहीं जा सकता और प्रोजेक्ट के कुल समय तक बना रहेगा. - आपकी जानकारी के लिए, एक तीसरी वैल्यू यानी प्रोजेक्ट नंबर है. इसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
- इसके बाद, आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. इस ट्यूटोरियल के अलावा, संसाधनों को बंद करने के लिए कि आपको बिलिंग न करनी पड़े. इसके लिए, अपने बनाए गए संसाधनों को मिटाएं या पूरा प्रोजेक्ट मिटाएं. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले प्रोग्राम में हिस्सा ले सकते हैं.
Cloud Shell शुरू करना
Google Cloud को आपके लैपटॉप से, कहीं से भी ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जा रहा है. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.
Google Cloud Console में जाकर, सबसे ऊपर दाईं ओर मौजूद टूलबार पर क्लाउड शेल आइकॉन पर क्लिक करें:
प्रावधान करने और एनवायरमेंट से कनेक्ट होने में कुछ ही समय लगेगा. उसके पूरा हो जाने पर, आपको कुछ ऐसा दिखाई देगा:
इस वर्चुअल मशीन में ऐसे सभी डेवलपमेंट टूल मौजूद हैं जिनकी आपको ज़रूरत पड़ेगी. यह पांच जीबी की स्थायी होम डायरेक्ट्री उपलब्ध कराता है और Google Cloud पर चलता है. यह नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रक्रिया को बेहतर बनाता है. इस कोडलैब (कोड बनाना सीखना) में आपका सारा काम ब्राउज़र में किया जा सकता है. आपको कुछ भी इंस्टॉल करने की ज़रूरत नहीं है.
gcloud सेट अप करें
Cloud Shell में, अपना प्रोजेक्ट आईडी सेट करें और उसे PROJECT_ID
वैरिएबल के तौर पर सेव करें.
साथ ही, REGION
वैरिएबल को us-central1
पर सेट करें. इस इलाके में आपको बाद में संसाधन मिलेंगे.
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. Dataडॉग की सेवा देने वाली कंपनी के बारे में जानें
Eventarc सेवा देने वाली कंपनी ऐसी सेवा या इकाई है जो सीधे Google Cloud पर इवेंट भेज सकती है. इसके बाद, ये इवेंट आपके प्रोजेक्ट पर भेज दिए जाते हैं. Dataडॉग जैसी तीसरे पक्ष की कंपनियां, Google Cloud की सेवा नहीं देने वाली ऐसी कंपनियां हैं जिन्हें Eventarc की मदद से Google Cloud के साथ इंटिग्रेट किया गया है.
Cloud Shell में, Google Cloud और तीसरे पक्ष की सेवा देने वाली कंपनियों की सूची देखने के लिए, यह कमांड चलाएं:
gcloud eventarc providers list
इसमें Google Cloud और तीसरे पक्ष की सेवा देने वाली कंपनियों की सूची दी गई है. साथ ही, उन जगहों की जानकारी भी दी गई है जहां ये उपलब्ध हैं:
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*'
आपको सूची में Dataडॉग दिखेगा:
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
4. चैनल सेट अप करना
सेवा देने वाली किसी कंपनी के साथ अपने प्रोजेक्ट को इंटिग्रेट करने के लिए, आपको एक चैनल सेट अप करना होगा. इसमें चैनल बनाना, चैनल की जानकारी हासिल करना, और सेवा देने वाली कंपनी को यह जानकारी भेजना शामिल है. जब सेवा देने वाली कंपनी, चैनल से कनेक्शन शुरू कर देगी, तो सेवा देने वाली कंपनी आपके प्रोजेक्ट पर इवेंट भेजना शुरू कर सकती है.
चैनल बनाना
gcloud
का इस्तेमाल करके, Datafood की सेवा देने वाली कंपनी के लिए चैनल बनाया जा सकता है:
CHANNEL_NAME=datadog-channel gcloud eventarc channels create $CHANNEL_NAME \ --provider datadog \ --location $REGION
Google Cloud Console में, Eventarc पेज के चैनल सेक्शन से भी इसे बनाया जा सकता है:
चैनल की जानकारी वापस पाना
चैनल बनाने के बाद, 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 Cloud Console में जाकर चैनल देखा जा सकता है:
चैनल की स्थिति से चैनल की स्थिति का पता चलता है. यह इनमें से कोई एक हो सकता है:
PENDING
—चैनल बना दिया गया है और सेवा देने वाली कंपनी के साथ कनेक्शन बनाने के लिए, एक ऐक्टिवेशन टोकन उपलब्ध है. चैनल की स्थितिPENDING
से बदलकरACTIVE
करने के लिए, सेवा देने वाले व्यक्ति या कंपनी को यह टोकन देना ज़रूरी है. साथ ही, चैनल बनाने के 24 घंटे के अंदर इसे कनेक्ट करने के लिए, इसका इस्तेमाल किया जाना चाहिए.ACTIVE
—चैनल को सेवा देने वाली कंपनी से कनेक्ट कर दिया गया है. सेवा देने वाली कंपनी से इवेंट पाने और उन्हें रूट करने के लिए,ACTIVE
चैनल तैयार है.INACTIVE
—चैनल को न तो इवेंट मिल सकते हैं और न ही उसे फिर से चालू किया जा सकता है. सेवा देने वाली कंपनी को या तो इस चैनल से डिसकनेक्ट कर दिया गया है या चैनल ऐक्टिवेशन टोकन की समयसीमा खत्म हो गई है और सेवा देने वाली कंपनी कनेक्ट नहीं है. सेवा देने वाली किसी कंपनी के साथ फिर से संबंध बनाने के लिए, आपको उसका नया चैनल बनाना होगा.
ऐक्टिवेशन टोकन, एक बार इस्तेमाल किया जा सकने वाला और समय की पाबंदी वाला टोकन होता है. इसका इस्तेमाल सेवा देने वाली कंपनी और सदस्य के प्रोजेक्ट के बीच कनेक्शन बनाने के लिए किया जाता है. चैनल बनाते समय चुना गया कोई व्यक्ति ही टोकन का इस्तेमाल कर सकता है. यह टोकन, चैनल बनाने के 24 घंटे बाद तक मान्य होता है. 24 घंटे के बाद, चैनल INACTIVE
हो जाता है.
सेवा देने वाली कंपनी को चैनल की जानकारी भेजना
आपको डेटाडॉग की सेवा देने वाली कंपनी को चैनल की यह जानकारी भेजनी होगी:
- चैनल का नाम (उदाहरण
projects/project-id/locations/us-central1/channels/datadog-channel
) - ऐक्टिवेशन टोकन (उदाहरण के लिए,
so5g4Kdasda7y2MSasdaGn8njB2
)
Dataडॉग में लॉगिन करें. इसके बाद, इंटिग्रेशन पेज पर जाएं और पक्का करें कि Google Eventarc इंटिग्रेशन इंस्टॉल किया गया हो:
Google Eventarc के कॉन्फ़िगरेशन सेक्शन में, चैनल का पूरा नाम और ऐक्टिवेशन टोकन डालें:
अब आपको चैनलों की सूची में चैनल दिखने लगेगा. कुछ सेकंड के बाद, Google Cloud Console में भी चैनल चालू हो जाएगा:
अब आप चैनल इस्तेमाल करने के लिए तैयार हैं!
5. वर्कफ़्लो बनाएं
सेवा देने वाली कंपनी से इवेंट की जानकारी पाने के लिए, आपको Google Cloud में एक डेस्टिनेशन की ज़रूरत होगी. Eventarc में इवेंट के कई डेस्टिनेशन इस्तेमाल किए जा सकते हैं. जैसे, Cloud Run, Workflows, Kubernetes सेवाएं. ऐसी स्थिति में, सिर्फ़ मिले इवेंट को लॉग करने के लिए वर्कफ़्लो डिप्लॉय करें.
इस कॉन्टेंट वाली workflow-datadog1.yaml
फ़ाइल बनाएं:
main: params: [event] steps: - logStep: call: sys.log args: data: ${event}
ध्यान दें कि वर्कफ़्लो को पैरामीटर के तौर पर इवेंट मिल रहा है. यह इवेंट, Eventarc की मदद से Datadogfood मॉनिटर करने वाले प्लैटफ़ॉर्म से आएगा. इवेंट मिल जाने के बाद, वर्कफ़्लो सिर्फ़ मिले इवेंट को लॉग करता है.
वर्कफ़्लो को डिप्लॉय करें:
WORKFLOW_NAME=workflow-datadog1 gcloud workflows deploy $WORKFLOW_NAME \ --source workflow-datadog1.yaml \ --location $REGION
वर्कफ़्लो लागू हो गया है, लेकिन यह अब तक नहीं चल रहा है. Dataडॉग की चेतावनी मिलने पर, यह Eventarc ट्रिगर की मदद से लागू होगा.
6. Eventarc ट्रिगर बनाएं
अब आप Eventarc ट्रिगर की मदद से Dataडॉग प्रोवाइडर के इवेंट को 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
ट्रिगर बनाना
Data Dog चैनल, इवेंट टाइप, और वर्कफ़्लो डेस्टिनेशन के साथ एक ट्रिगर बनाएं:
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. Datadogfood मॉनिटर बनाना
अब आपको Dataडॉग मॉनिटर बनाना होगा और उसे Eventarc से कनेक्ट करना होगा.
यह डिफ़ॉल्ट वैल्यू वाला हैलो वर्ल्ड टाइप मॉनिटर होगा. आपको मॉनिटरिंग की सूचना जनरेट करने के लिए, इसे मैन्युअल तौर पर ट्रिगर करना होगा. इससे, Google Cloud में Eventarc इवेंट जनरेट होगा.
Datadogfood में मॉनिटर बनाने के लिए, Datafood में लॉग इन करें. मुख्य मेन्यू में Monitors
पर कर्सर घुमाएं और सब-मेन्यू में New Monitor
पर क्लिक करें. मॉनिटर कई तरह के होते हैं. Metric
मॉनिटर टाइप चुनें.
New Monitor
पेज में, पहले और दूसरे चरण के लिए डिफ़ॉल्ट सेटिंग छोड़ें.
- तीसरे चरण में,
Alert threshold
को 1 पर सेट करें - चौथे चरण में,
Test monitor for Eventarc
को मॉनिटर के नाम के तौर पर सेट करें. साथ ही,Notify your team
को@eventarc_<your-project-id>_<your-region>_<your-channel-name>
पर सेट करें
अगले चरण में मॉनिटर की जांच करने के लिए, मॉनिटर पेज को खुला रखें.
8. मॉनिटर और ट्रिगर की जांच करें
Dataडॉग मॉनिटर और Eventarc ट्रिगर की जांच करने के लिए, मॉनिटर को मैन्युअल तरीके से ट्रिगर करें.
मॉनिटर बनाने वाले पेज में सबसे नीचे, Test Notifications
बटन पर क्लिक करें:
इसके बाद, Run Test
बटन पर क्लिक करें:
इसे मॉनिटर में स्टेट ट्रांज़िशन की तरह सिम्युलेट करना चाहिए और Eventarc इवेंट को ट्रिगर करना चाहिए.
workflow-datadog1
का वर्कफ़्लो देखें. आपको दिखेगा कि नया कोड लागू है:
स्क्रिप्ट चलाने की जानकारी देखें. आपको वर्कफ़्लो के इनपुट और लॉग में, मॉनिटरिंग की सूचना से जनरेट किया गया Datafood इवेंट टाइप datadog.v1.alert
दिखेगा:
9. बधाई हो
बधाई हो, आपने कोडलैब पूरा कर लिया है! वर्कफ़्लो की मदद से Datadogfood की निगरानी से जुड़ी सूचनाओं का जवाब देने का तरीका जानने के लिए, दूसरे कोडलैब पर जाएं.
हमने इन विषयों के बारे में बताया
- डेटाडॉग कंपनी का पता लगाने का तरीका.
- Dataडॉग प्रोवाइडर के लिए चैनल सेट अप करने का तरीका.
- इवेंट लॉग करने के लिए वर्कफ़्लो बनाने का तरीका.
- चैनल के साथ Eventarc ट्रिगर बनाने का तरीका.
- Dataडॉग मॉनिटर बनाने का तरीका.
- Dataडॉग मॉनिटर, Eventarc ट्रिगर, और वर्कफ़्लो की जांच करने का तरीका.