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 إلى Workflows باستخدام مشغِّل Eventarc.
ضبط حساب الخدمة
يجب أن يكون لديك حساب خدمة بدور "eventarc.eventReceiver
" عند إنشاء عامل تشغيل. ويمكنك إمّا إنشاء حساب خدمة مخصّص أو استخدام حساب خدمة Compute Engine التلقائي.
لتبسيط الأمر، استخدِم حساب خدمة 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 وسير العمل