1. مقدمة

تسهّل خدمة Eventarc ربط خدمات Google Cloud بالأحداث من مجموعة متنوّعة من المصادر. تتيح لك إنشاء بنى مستندة إلى الأحداث تكون فيها الخدمات المصغّرة غير مرتبطة بشكل وثيق وموزّعة. تتولّى هذه الخدمة أيضًا عملية استيعاب الأحداث وتسليمها وتوفير الأمان والتفويض ومعالجة الأخطاء، ما يؤدي إلى تحسين سرعة استجابة المطوّرين ومرونة التطبيقات.
Datadog هي منصة للمراقبة والأمان لتطبيقات السحابة الإلكترونية. تجمع هذه الخدمة عمليات التتبُّع والمقاييس والسجلّات الشاملة لتسهيل مراقبة تطبيقاتك وبنيتك الأساسية وخدمات الجهات الخارجية.
في هذا الدرس التطبيقي الأول حول الترميز، ستتعرّف على كيفية توجيه تنبيه بسيط من Datadog لرصد البيانات إلى Google Cloud باستخدام Eventarc.
أهداف الدورة التعليمية
- كيفية العثور على مقدّم خدمة Datadog
- كيفية إعداد قناة لمزوّد Datadog
- كيفية إنشاء سير عمل لتسجيل الأحداث
- كيفية إنشاء مشغّل Eventarc باستخدام القناة
- كيفية إنشاء أداة مراقبة في Datadog
- كيفية اختبار أداة المراقبة في Datadog ومشغّل Eventarc وسير العمل
2. الإعداد والمتطلبات
إعداد البيئة بالسرعة التي تناسبك
- سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.



- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديله في أي وقت.
- يجب أن يكون رقم تعريف المشروع فريدًا في جميع مشاريع Google Cloud، كما أنّه غير قابل للتغيير (لا يمكن تغييره بعد ضبطه). تنشئ Cloud Console تلقائيًا سلسلة فريدة، ولا يهمّك عادةً ما هي. في معظم دروس البرمجة، عليك الرجوع إلى رقم تعريف المشروع (يتم تحديده عادةً على أنّه
PROJECT_ID). إذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. يمكنك بدلاً من ذلك تجربة اسم مستخدم من اختيارك لمعرفة ما إذا كان متاحًا. لا يمكن تغيير هذا الخيار بعد هذه الخطوة وسيظل ساريًا طوال مدة المشروع. - للعلم، هناك قيمة ثالثة، وهي رقم المشروع الذي تستخدمه بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات عن كل هذه القيم الثلاث في المستندات.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد/واجهات برمجة تطبيقات Cloud. لن تكلفك تجربة هذا الدرس التطبيقي حول الترميز الكثير من المال، إن لم تكلفك شيئًا على الإطلاق. لإيقاف الموارد كي لا يتم تحصيل رسوم منك بعد هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع بأكمله. يمكن لمستخدمي Google Cloud الجدد الاستفادة من برنامج الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.
بدء Cloud Shell
على الرغم من إمكانية تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس العملي Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.
من Google Cloud Console، انقر على رمز Cloud Shell في شريط الأدوات العلوي على يسار الصفحة:

لن يستغرق توفير البيئة والاتصال بها سوى بضع لحظات. عند الانتهاء، من المفترض أن يظهر لك ما يلي:

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. توفّر هذه الخدمة دليلًا منزليًا ثابتًا بسعة 5 غيغابايت، وتعمل على 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- استكشاف مقدّم خدمة Datadog
مقدّم خدمة Eventarc هو خدمة أو كيان يمكنه إرسال الأحداث مباشرةً إلى Google Cloud، ثم يتم توجيهها إلى مشروعك. مقدّمو الخدمات الخارجيون، مثل Datadog، هم مقدّمو خدمات غير تابعين لـ Google Cloud ومدمجون مع Google Cloud من خلال Eventarc.
في 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*'
من المفترض أن يظهر 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. إعداد قناة
عليك إعداد قناة لدمج مشروعك مع موفّر. يتضمّن ذلك إنشاء قناة واسترداد تفاصيلها وإرسال هذه التفاصيل إلى مقدّم الخدمة. بعد أن يبدأ مقدّم الخدمة عملية الربط بالقناة، يمكنه البدء في إرسال الأحداث إلى مشروعك.
إنشاء قناة
يمكنك إنشاء قناة لمقدّم خدمة Datadog باستخدام gcloud:
CHANNEL_NAME=datadog-channel gcloud eventarc channels create $CHANNEL_NAME \ --provider datadog \ --location $REGION
يمكنك أيضًا إنشاء قناة من قسم "القنوات" في صفحة Eventarc على Google Cloud Console:

استرداد تفاصيل القناة
بعد إنشاء القناة، استرجِع تفاصيلها من 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.
إرسال تفاصيل القناة إلى مقدّم الخدمة
عليك إرسال تفاصيل القناة التالية إلى مزوّد Datadog:
- اسم القناة (مثلاً
projects/project-id/locations/us-central1/channels/datadog-channel) - رمز التفعيل (مثلاً
so5g4Kdasda7y2MSasdaGn8njB2)
سجِّل الدخول إلى Datadog، وانتقِل إلى صفحة عمليات الدمج وتأكَّد من تثبيت عملية الدمج مع 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}
يُرجى العِلم أنّ سير العمل يتلقّى حدثًا كمَعلمة. سيأتي هذا الحدث من خدمة المراقبة Datadog من خلال Eventarc. بعد تلقّي الحدث، يسجّل سير العمل الحدث الذي تم تلقّيه.
نشر أداة سير العمل:
WORKFLOW_NAME=workflow-datadog1 gcloud workflows deploy $WORKFLOW_NAME \ --source workflow-datadog1.yaml \ --location $REGION
تم نشر سير العمل ولكنّه لم يبدأ بعد. سيتم تنفيذه من خلال مشغّل Eventarc عند تلقّي تنبيه Datadog.
6. إنشاء مشغّل Eventarc
أنت الآن على استعداد لربط الأحداث من موفّر Datadog بـ "مهام سير العمل" باستخدام مشغّل Eventarc.
إعداد حساب الخدمة
يجب أن يكون لديك حساب خدمة يتضمّن دور eventarc.eventReceiver عند إنشاء مشغّل. يمكنك إنشاء حساب خدمة مخصّص أو استخدام حساب خدمة Compute التلقائي.
لتبسيط العملية، استخدِم حساب خدمة Compute Engine التلقائي وامنح الدور 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
إنشاء عبارة تشغيل
أنشئ مشغّلاً باستخدام قناة Datadog ونوع الحدث ووجهة سير العمل أيضًا:
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.
سيكون عبارة عن شاشة من النوع Hello World مع قيم تلقائية. عليك تشغيله يدويًا لإنشاء تنبيهات المراقبة التي ستؤدي بدورها إلى إنشاء حدث Eventarc في Google Cloud.
لإنشاء شاشة في 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:

بعد ذلك، انقر على الزر Run Test:

يجب أن يحاكي ذلك انتقال الحالة في الشاشة ويؤدي إلى تشغيل حدث Eventarc.
راجِع سير عمل workflow-datadog1. من المفترض أن يظهر لك تنفيذ جديد:

راجِع تفاصيل التنفيذ. من المفترض أن يظهر لك نوع حدث Datadog datadog.v1.alert الذي تم إنشاؤه من تنبيه المراقبة في إدخال سير العمل وفي السجلات أيضًا:

9- تهانينا
تهانينا، لقد أكملت درس البرمجة. يمكنك الانتقال إلى الدرس التطبيقي حول الترميز الثاني لمعرفة كيفية الردّ على تنبيهات الرصد في Datadog باستخدام Workflows.
المواضيع التي تناولناها
- كيفية العثور على مقدّم خدمة Datadog
- كيفية إعداد قناة لمزوّد Datadog
- كيفية إنشاء سير عمل لتسجيل الأحداث
- كيفية إنشاء مشغّل Eventarc باستخدام القناة
- كيفية إنشاء أداة مراقبة في Datadog
- كيفية اختبار أداة المراقبة في Datadog ومشغّل Eventarc وسير العمل