مقدّمة عن "حزمة عمليات السحابة الإلكترونية"

1. مقدمة

تاريخ التعديل الأخير: 28/07/2023

ما هي "حزمة عمليات Google Cloud"؟

"حزمة عمليات Google Cloud" هي منصة يمكنك من خلالها مراقبة أداء التطبيقات في بيئة Google Cloud وتحديد مشاكلها وحلّها وتحسين هذه الأداء. تشمل الركائز الرئيسية لحزمة عمليات السحابة الإلكترونية Cloud Monitoring وCloud Logging وCloud Tracing.

يمكنك مشاهدة هذا الفيديو للحصول على نظرة عامة وشاملة عن عمليات Google Cloud.

ما الذي ستنشئه

في هذا الدرس التطبيقي حول الترميز، سيتم نشر نموذج لواجهة برمجة تطبيقات على Google Cloud. يمكنك بعد ذلك استكشاف وضبط ميزات متعدّدة في Cloud Monitoring من واجهة برمجة التطبيقات.

المعلومات التي ستطّلع عليها

  • استخدام Cloud Shell في Google Cloud لنشر نموذج تطبيق في Cloud Run
  • استخدام ميزات المراقبة في Google Cloud، مثل لوحات البيانات والتنبيهات وعمليات الفحص في وقت التشغيل ومراقبة SLI/SLO وغير ذلك

المتطلبات

  • إصدار حديث من Chrome (الإصدار 74 أو إصدار أحدث)
  • حساب على Google Cloud ومشروع على Google Cloud

2. الإعداد والمتطلبات

إعداد بيئة ذاتية

إذا لم يكن لديك حساب Google (Gmail أو Google Apps)، يجب عليك إنشاء حساب. سجِّل الدخول إلى وحدة تحكُّم Google Cloud Platform ( console.cloud.google.com) وأنشئ مشروعًا جديدًا.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

c20a9642aaa18d11.png

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

تنبيه: يجب أن يكون رقم تعريف المشروع فريدًا عالميًا ولا يمكن لأي شخص آخر استخدامه بعد تحديده. أنت المستخدم الوحيد لرقم التعريف هذا. لا يمكن استخدام رقم التعريف مرة أخرى، حتى في حال حذف مشروع.

  1. بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام الموارد/واجهات برمجة التطبيقات في Cloud. إنّ تنفيذ هذا الدرس التطبيقي حول الترميز لن يكون مكلفًا أو مكلفًا على الإطلاق. لإيقاف تشغيل الموارد حتى لا تتحمل الفوترة بعد هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع بالكامل. يكون مستخدمو Google Cloud الجدد مؤهَّلون للانضمام إلى برنامج فترة تجريبية مجانية بقيمة 300 دولار أمريكي.

إعداد Google Cloud Shell

يمكن إدارة Google Cloud وGoogle Cloud Trace عن بُعد من الكمبيوتر المحمول، ولكن في هذا الدرس التطبيقي حول الترميز، سنستخدم Google Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في السحابة الإلكترونية.

لتفعيل Cloud Shell من Cloud Console، ما عليك سوى النقر على "تفعيل Cloud Shell" (من المفترَض أن تستغرق عملية الإعداد والاتصال بالبيئة بضع دقائق فقط).

30c26f30d17b3d46.png

إذا لم يسبق لك بدء تشغيل Cloud Shell، ستظهر لك شاشة وسيطة (الجزء السفلي غير المرئي من الصفحة) تصف ماهيتها. إذا كان الأمر كذلك، فانقر على متابعة (ولن تراها مرة أخرى). إليك ما تبدو عليه هذه الشاشة التي تُستخدم لمرة واحدة:

9c92662c6a846a5c.png

من المفترَض أن تستغرق عملية توفير المتطلبات اللازمة والاتصال بخدمة Cloud Shell بضع دقائق فقط.

9f0e51b578fecce5.png

يتم تحميل هذا الجهاز الافتراضي مع جميع أدوات التطوير التي تحتاجها. وتوفّر هذه الشبكة دليلاً رئيسيًا دائمًا بسعة 5 غيغابايت ويتم تشغيله في Google Cloud، ما يحسّن بشكل كبير من أداء الشبكة والمصادقة. يمكنك تنفيذ معظم عملك، إن لم يكن كلّه، في هذا الدرس التطبيقي حول الترميز باستخدام متصفّح أو جهاز Chromebook.

بعد الربط بخدمة Cloud Shell، من المفترض أن يظهر لك أنّه قد تمت مصادقتك وأنّ المشروع معيّن سبق أن تم ضبطه على رقم تعريف مشروعك.

شغِّل الأمر التالي في Cloud Shell لتأكيد مصادقتك:

بعد الربط بتطبيق Cloud Shell، من المفترض أن يظهر لك أنّه قد تمت مصادقتك وأنّ المشروع سبق أن تم ضبطه على PROJECT_ID.

gcloud auth list

مخرجات الأمر

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

مخرجات الأمر

[core]
project = <PROJECT_ID>

إذا لم يتم ضبط المشروع لسبب ما، ما عليك سوى إصدار الأمر التالي:

gcloud config set project <PROJECT_ID>

تضبط Cloud Shell أيضًا بعض متغيرات البيئة تلقائيًا، وهو ما قد يكون مفيدًا عند تشغيل الأوامر المستقبلية.

echo $GOOGLE_CLOUD_PROJECT

مخرجات الأمر

<PROJECT_ID>

تطبيقات نموذجية

لقد وضعنا كل ما تحتاجه لهذا المشروع في مستودع Git. يحتوي المستودع على اثنين من نماذج التطبيقات ويمكنك اختيار استخدام أي منها لهذا التمرين.

رابط مستودع Git: https://github.com/rominirani/cloud-code-sample-repository

3- نشر تطبيق واجهة برمجة التطبيقات

ما هو موضوع نموذج التطبيق أو واجهة برمجة التطبيقات؟

تطبيقنا عبارة عن تطبيق بسيط لواجهة برمجة تطبيقات Inventory يعرض نقطة نهاية واجهة برمجة تطبيقات REST مع عمليتين لسرد عناصر المخزون والحصول على عدد معين لمخزون العناصر.

بعد نشر واجهة برمجة التطبيقات وفرض استضافتها على https://&lt;somehost&gt;، يمكننا الوصول إلى نقاط نهاية واجهة برمجة التطبيقات على النحو التالي:

  • https://&lt;somehost&gt;/inventory

سيؤدّي ذلك إلى سرد كل سلع المنتجات التي تتضمّن مستويات المستودع المتوفّرة.

  • https://&lt;somehost&gt;/inventory/{productid}

سيؤدي ذلك إلى توفير سجلّ واحد مع معرّف المنتج ومستوى المستودع الفعلي لهذا المنتج.

تكون بيانات الاستجابة المعروضة بتنسيق JSON.

نموذج البيانات وطلب/استجابة واجهة برمجة التطبيقات

التطبيق لا يعتمد على قاعدة بيانات في الخلفية لتبسيط الأمور. وهي تتضمّن 3 نماذج لمعرّفات المنتجات ومستويات مستودعها الفعلي.

معرّف المنتج

مستوى المستودع الفعلي

I-1

10

I-2

20

I-3

30

يمكنك الاطّلاع أدناه على نموذجَي طلب وردّ من واجهة برمجة التطبيقات:

طلب بيانات من واجهة برمجة التطبيقات

ردّ من واجهة برمجة التطبيقات

https://&lt;somehost&gt;/inventory

[ { &quot;I-1&quot;: 10, &quot;I-2&quot;: 20, &quot;I-3&quot;: 30 }]

https://&lt;somehost&gt;/inventory/I-1

{ &quot;productid&quot;: &quot;I-1&quot;, &quot;qty&quot;: 10}

https://&lt;somehost&gt;/inventory/I-2

{ &quot;productid&quot;: &quot;I-2&quot;, &quot;qty&quot;: 20}

https://&lt;somehost&gt;/inventory/I-200

{ &quot;productid&quot;: I-200, &quot;qty&quot;: -1}

استنساخ المستودع

مع أنّه يمكن إدارة Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس التطبيقي Google Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في السحابة الإلكترونية.

من وحدة تحكّم Google Cloud Platform، انقر على رمز Cloud Shell في شريط الأدوات العلوي الأيسر:

bce75f34b2c53987.png

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

f6ef2b5f13479f3a.png

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. وتوفّر هذه الشبكة دليلاً رئيسيًا دائمًا بسعة 5 غيغابايت وتعمل على Google Cloud، ما يحسّن بشكل كبير من أداء الشبكة والمصادقة. يمكنك تنفيذ كل أعمالك في هذا التمرين من خلال متصفح.

إعداد gcloud

في Cloud Shell، اضبط رقم تعريف مشروعك واحفظه كمتغيّر PROJECT_ID.

PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID

الآن، قم بتنفيذ الأمر التالي:

$ git clone https://github.com/rominirani/cloud-code-sample-repository.git 

سيؤدي ذلك إلى إنشاء مجلّد بعنوان cloud-code-sample-repository في هذا المجلد.

(اختياري) تشغيل التطبيق على Cloud Shell

يمكنك تشغيل التطبيق محليًا باتّباع الخطوات التالية:

  1. من الوحدة الطرفية، انتقل إلى إصدار بايثون من واجهة برمجة التطبيقات باستخدام الأمر التالي:
$ cd cloud-code-sample-repository
$ cd python-flask-api
  1. في الوحدة الطرفية، أدخل الأمر التالي (في وقت الكتابة، كان Cloud Shell مثبّتًا مع Python 3.9.x وسنستخدم الإصدار الافتراضي). فإذا كنت تخطط لتشغيله محليًا على الكمبيوتر المحمول، فيمكنك استخدام Python 3.8+) :
$ python app.py
  1. يمكنك تشغيل الأمر التالي لبدء تشغيل خادم Python على الجهاز.

26570f586acaeacf.png

  1. سيؤدي هذا إلى بدء تشغيل خادم على المنفذ 8080 ويمكنك اختباره محليًا عبر ميزة "معاينة الويب" في Cloud Shell. انقر على زر معاينة الويب كما هو موضح أدناه:

675d9b3097a6209c.png

انقر على "معاينة" في المنفذ 8080.

  1. سيؤدي ذلك إلى فتح نافذة متصفح. سيظهر لك خطأ 404 وهذا لا بأس به. عدِّل عنوان URL وغيِّره إلى /inventory فقط بعد اسم المضيف.

على سبيل المثال: على الجهاز، يبدو الأمر كما يلي:

https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory

سيؤدّي ذلك إلى عرض قائمة بالسلع المتوفّرة في المستودع كما هو موضّح سابقًا:

ef6afb0184c58870.png

  1. يمكنك إيقاف الخادم الآن من خلال الانتقال إلى الوحدة الطرفية والضغط على Ctrl-C

نشر التطبيق

سننشر الآن تطبيق واجهة برمجة التطبيقات هذا في Cloud Run. تضمّنت العملية استخدام عميل سطر الأوامر glcoud من أجل تشغيل الأمر الخاص بنشر الرمز في Cloud Run.

من الوحدة الطرفية، أدخِل الأمر gcloud التالي:

$ gcloud run deploy --source .

سيُطرح عليك هذا عدة أسئلة (إذا طُلب منك التفويض، يُرجى المتابعة) وبعض النقاط مذكورة أدناه. استنادًا إلى الإعدادات وما إذا سبق لك تفعيل واجهات برمجة تطبيقات معيّنة في مشروعك على Google Cloud، قد تظهر لك جميع الأسئلة أو لا تتلقّى.

  1. اسم الخدمة (python-flask-api): يجب اختيار هذا الإعداد التلقائي أو اختيار my-inventory-api
  2. لم يتم تفعيل واجهة برمجة التطبيقات [run.googleapis.com] في المشروع [project-number]. هل تريد التفعيل وإعادة المحاولة (سيستغرق ذلك بضع دقائق)؟ (نعم/لا)؟ نعم
  3. يُرجى تحديد منطقة: اختر المنطقة التي تختارها عن طريق إعطاء رقم.
  4. لم يتم تفعيل واجهة برمجة التطبيقات [artifactregistry.googleapis.com] في المشروع [رقم المشروع]. هل تريد التفعيل وإعادة المحاولة (سيستغرق ذلك بضع دقائق)؟ (نعم/لا)؟ نعم
  5. تتطلّب عملية النشر من المصدر توفّر مستودع Artifact Registry Docker لتخزين الحاويات المُدمجة. سيتم إنشاء مستودع باسم [cloud-run-source-deploy] في المنطقة [us-west1].

هل تريد المتابعة (نعم/لا)؟ نعم

  1. هل تريد السماح بالاستدعاءات غير المُصدَّق عليها في [my-inventory-api] (y/N)؟ نعم

وفي النهاية، سيتم بدء عملية الحصول على رمز المصدر ووضعه في حاويته وإرساله إلى Artifact Registry ثم نشر خدمة Cloud Run + المراجعة. يجب أن تتحلى بالصبر خلال هذه العملية (يمكن أن تستغرق من 3 إلى 4 دقائق) ويُفترض أن تكتمل العملية مع عرض عنوان URL للخدمة.

في ما يلي نموذج تمرين:

7516696ea5b3004b.png

اختبار التطبيق

والآن بعد نشر التطبيق على Cloud Run، يمكنك الوصول إلى تطبيق واجهة برمجة التطبيقات على النحو التالي:

  1. تدوين عنوان URL للخدمة من الخطوة السابقة على سبيل المثال: أثناء الإعداد، يظهر على أنّه https://my-inventory-api-bt2r5243dq-uw.a.run.app. ولنسم هذا &lt;SERVICE_URL&gt;.
  2. افتح متصفّحًا وانتقِل إلى عناوين URL الثلاثة التالية لنقاط نهاية واجهة برمجة التطبيقات:
  3. &lt;SERVICE_URL&gt;/inventory
  4. <SERVICE_URL>/inventory/I-1
  5. <SERVICE_URL>/inventory/I-100

ويجب أن يكون متوافقًا مع المواصفات التي قدّمناها في قسم سابق يتضمّن نموذج طلب وردّ من واجهة برمجة التطبيقات.

الحصول على تفاصيل الخدمة من Cloud Run

نشرنا خدمة واجهة برمجة التطبيقات على Cloud Run، وهي بيئة حوسبة بدون خادم. ويمكننا الانتقال إلى خدمة Cloud Run في أي وقت من خلال "وحدة تحكُّم Google Cloud".

من القائمة الرئيسية، انتقل إلى Cloud Run. سيؤدي هذا الإجراء إلى عرض قائمة بالخدمات التي يتم تشغيلها في Cloud Run. من المفترض أن تظهر لك الخدمة التي نشرتها للتو. بناءً على الاسم الذي حددته، يُفترض أن يظهر لك شيء مثل هذا:

10d2c363241d789c.png

يُرجى النقر على "اسم الخدمة" للاطّلاع على التفاصيل. في ما يلي تفاصيل النموذج:

1ec2c9e45ff1a2db.png

لاحِظ عنوان URL، وليس عنوان URL الخاص بالخدمة الذي يمكنك تشغيله في المتصفّح والوصول إلى واجهة برمجة التطبيقات Inventory API التي نشرناها للتو. يمكنك الاطّلاع على المقاييس والتفاصيل الأخرى.

لنبدأ الآن باستخدام حزمة Google Cloud Operations.

4. إعداد لوحة معلومات

من الميزات السهلة التي توفّرها Cloud Monitoring هي لوحات البيانات غير الجاهزة (OOTB) على مستوى عدة موارد في Google Cloud. وهذا من شأنه أن يجعل الإعداد الأولي للوحات البيانات بالمقاييس القياسية عملية سريعة وملائمة.

لنلقِ نظرة على كيفية إجراء ذلك في خدمة واجهة برمجة التطبيقات التي نشرناها للتو في Cloud Run.

لوحة بيانات مخصّصة للخدمة

ومنذ نشر خدمة واجهة برمجة التطبيقات على Cloud Run، علينا الاطّلاع على كيفية إعداد لوحات البيانات التي يمكن أن تساعد في عرض مقاييس مختلفة، ومن بينها وقت استجابة الخدمة.

أولاً، من وحدة التحكّم، انتقِل إلى المراقبة ← نظرة عامة كما هو موضّح أدناه:

c51a5dda4ab72bbf.png

تعرض النظرة العامة العديد من العناصر التي كنت قد ضبطتها في التتبُّع، مثل لوحات البيانات والتنبيه وعمليات التحقّق من وقت التشغيل وما إلى ذلك.

2758f61f1e7f1dca.png

في الوقت الحالي، لننقر على لوحات البيانات من القائمة الرئيسية الجانبية. سينقلنا هذا إلى الشاشة التالية:

c9110b6f065100da.png

انقر على مكتبة عيّنة . سيؤدي ذلك إلى عرض قائمة بلوحات البيانات غير الجاهزة (OOTB) المتوفرة في Google Cloud، عبر موارد متعددة. على وجه التحديد، مرِّر لأسفل القائمة واختَر Google Cloud Run كما هو موضَّح أدناه.

ddac4038d4fa91ae.png

سيؤدي ذلك إلى عرض قائمة بلوحات البيانات العادية المتاحة لتشغيل Google Cloud. ونحن مهتمون بذلك نظرًا لأننا نشرنا خدمتنا على Cloud Run.

ستظهر لك لوحة بيانات واحدة لـ "مراقبة تشغيل السحابة الإلكترونية". انقر على الرابط معاينة لعرض قائمة الرسوم البيانية (المقاييس) العادية المتاحة لميزة "مراقبة تشغيل السحابة الإلكترونية". ما عليك سوى النقر على IMPORT SAMPLE DASHBOARD لاستيراد كل هذه الرسومات البيانية إلى لوحة بيانات مخصَّصة. سيؤدي هذا إلى ظهور شاشة لوحة معلومات باسم تم ملؤه مسبقًا كما هو موضح أدناه:

531cb8434b18193a.png

يمكنك الانتقال للخلف عن طريق النقر على السهم المتّجه لليسار على يمين اسم لوحة البيانات في أعلى يمين الصفحة. سينتج عن ذلك قائمة بلوحات البيانات التي يُفترض أن تتمكن منها من رؤية لوحة البيانات الجديدة التي أنشأتها للتو.

انقر على رابط لوحة البيانات هذا ويمكنك مراقبة العديد من المقاييس المتاحة بشكل فوري. وتشمل هذه المقاييس وقت الاستجابة وعدد الطلبات ومقاييس الحاوية وغير ذلك.

يمكنك أيضًا اختيار وضع علامة على أي من لوحة التحكم كمفضلة، عن طريق تحديد رمز النجمة كما هو موضح أدناه:

fc993d1a17415550.png

سيؤدي ذلك إلى إضافة لوحة البيانات إلى شاشة "نظرة عامة" في صفحة "المراقبة" وسيصبح بإمكانك الانتقال بسهولة إلى لوحات البيانات الشائعة الاستخدام.

2e8f66e2652c55c5.png

1e1dffb5239ab110.png

رائع. لقد أضفت للتو لوحة بيانات مخصصة لمراقبة خدمات تشغيل السحابة الإلكترونية. أحسنت!

5- عمليات الفحص في وقت التشغيل

في هذا القسم، سنضبط عملية فحص وقت تشغيل خدمة واجهة برمجة التطبيقات التي نشرناها. يمكن أن تؤدي عملية الفحص العام لوقت التشغيل إلى إصدار طلبات من مواقع متعددة في جميع أنحاء العالم إلى عناوين URL متاحة للجميع أو موارد Google Cloud لمعرفة ما إذا كان المورد سيستجيب أم لا.

وسيكون المورد في هذه الحالة هو خدمة واجهة برمجة التطبيقات التي نشرناها في Cloud Run. سيكون عنوان URL نقطة نهاية محددة تعرضها خدمة واجهة برمجة التطبيقات للإشارة إلى سلامة الخدمة.

في نموذج رمز خدمة واجهة برمجة التطبيقات، رصدنا نقطة نهاية /healthy تعرض قيمة سلسلة "All Izz Well". لذا، كل ما علينا فعله هو تحديد عملية فحص في وقت التشغيل تؤدي إلى إجراء عمليات مثل https://&lt;SERVICE_URL&gt;/healthy والتحقّق مما إذا كانت السلسلة https://&lt;SERVICE_URL&gt;/healthy قد تم إرجاعها أم لا.

إنشاء قناة إشعارات

قبل إنشاء عملية الفحص في وقت التشغيل، من المهم ضبط قنوات الإشعارات أولاً. قناة الإشعارات هي وسيلة يتم من خلالها تنبيهك في حال وجود حادثة أو مشكلة في أي من مواردنا الخاضعة للمراقبة. مثال على قناة الإشعارات البريد الإلكتروني وستتلقّى رسائل إلكترونية في حال وجود تنبيه وما إلى ذلك.

في الوقت الحالي، نحن بصدد إعداد قناة للإشعارات عبر البريد الإلكتروني وإعدادها باستخدام عنوان البريد الإلكتروني التابع لنا، وذلك حتى نتمكن من إبلاغنا في حالة وجود أي تنبيهات سيصدرها نظامنا ويتولى إعدادها.

لإنشاء قناة إشعارات، يُرجى اتّباع الخطوات التالية:

انتقِل إلى المراقبة ← التنبيه من القائمة الرئيسية في Google Cloud Console، كما هو موضّح أدناه:

9f87859064c63b63.png

سيؤدي ذلك إلى عرض صفحة تحتوي على "تنبيهات" و"سياسات" وغيرها. سيظهر لك حاليًا رابط في أعلى الصفحة بعنوان تعديل قنوات الإشعارات. انقر عليها.

5ab54f42e6f7b99.png

ستؤدي هذه الخطوة إلى عرض قائمة بمختلف قنوات الإشعارات كما هو موضح أدناه:

cd89b1ca9e1de87c.png

حدِّد موقع قسم البريد الإلكتروني وانقر على إضافة بريد إلكتروني جديد لهذا الصف. سيؤدي هذا إلى إظهار تفاصيل تهيئة البريد الإلكتروني كما هو موضح أدناه:

d6ed98ffd0427fa3.png

أدخل عنوان بريدك الإلكتروني واسمًا معروضًا كما هو موضح أدناه. انقر على حفظ.

يؤدي هذا إلى إكمال إنشاء قناة الإشعار عبر البريد الإلكتروني. لنبدأ الآن عملية ضبط عمليات الفحص في وقت التشغيل.

إنشاء عمليات فحص في وقت التشغيل

انتقِل إلى المراقبة ← عمليات الفحص في وقت التشغيل من القائمة الرئيسية في Google Cloud Console. في أعلى الصفحة، سيظهر لك رابط إنشاء عملية التحقّق من وقت التشغيل. انقر عليها.

484541aec65e605e.png

يؤدي ذلك إلى ظهور سلسلة من الخطوات التي يجب إكمالها لضبط عملية الفحص في وقت التشغيل.

الخطوة الأولى هي إعداد تفاصيل الاستهداف، أي معلومات عن خدمة Cloud Run التي نشرناها. في ما يلي نموذج تم ملؤه:

4e2bb9fe022320f7.png

يمكن اختيار القيم المختلفة على النحو التالي:

  • البروتوكول : HTTPS
  • نوع المورد : اختَر خدمة تشغيل السحابة الإلكترونية. لاحِظ الموارد الأخرى التي تتوافق معها والتي يمكنك إعداد عمليات الفحص في وقت التشغيل عليها أيضًا.
  • خدمة تشغيل السحابة الإلكترونية : حدد my-inventory-api أو الاسم المحدّد الخاص بخدمة Cloud Run.
  • المسار هو /healthy، لأنّنا نرجع مرة أخرى إلى سلسلة "All Izz Well" ونريد التحقّق من ذلك.

انقر على متابعة للانتقال إلى الخطوة التالية. الخطوة التالية هي خطوة التحقّق من صحة الردود كما هو موضّح أدناه:

a6011ac2ab3e0f10.png

يبدو أنّنا نفعّل خيار "مطابقة المحتوى". وبعد ذلك، سيكون إعداد الاستجابة التي تعرضها نقطة النهاية /healthy هو "All Izz حسنًا". انقر على متابعة للانتقال إلى الخطوة التالية التي يمكننا من خلالها ضبط التنبيه وتحديد قناة الإشعارات التي يجب إرسال تنبيهات إليها، في حال تعذُّر فحص "وقت التشغيل".

d9738670efcb999f.png

في هذه الخطوة، أدخِل اسمًا للتنبيه. لقد اخترتُ هذا الإعداد على أنّه تعذُّر عمليات الفحص في وقت التشغيل لواجهة برمجة تطبيقات المستودع، ولكن يمكنك اختيار اسمك. من المهم هنا تحديد قناة الإشعارات الصحيحة من القائمة التي سبق لك ضبطها.

انقر على مراجعة للانتقال إلى الخطوة الأخيرة لمراجعة عمليات التحقّق من وقت التشغيل التي تم ضبطها.

في هذه الخطوة الأخيرة، أدخِل اسمًا لعملية الفحص في وقت التشغيل (مثل Inventory API Uptime Check (عمليات الفحص في وقت التشغيل لواجهة Indexing API)، ويمكنك أيضًا اختبار ما إذا تم ضبط عملية الفحص بشكل صحيح. انقر على الزر TEST لإجراء ذلك.

80375bfab97fc313.png

ابدأ العملية وأكمل العملية (انقر على الزر إنشاء على اليمين). ستوجه خدمة Google Cloud أسئلة فحص وقت التشغيل التي تم ضبطها في مناطق مختلفة لإرسال إشارة إلى عنوان URL، وسيتم جمع هذه الردود. انتقِل إلى قسم المراقبة ← عمليات الفحص في وقت التشغيل بعد بضع دقائق ومن المفترض أن تظهر لك جميع الإشارات الخضراء التي تشير إلى أنّه كان من الممكن الوصول إلى عنوان URL من مختلف المسابر.

df17555ddbee1127.png

وإذا فشل أي من الاختبارات لفترة زمنية (قابلة للتهيئة)، ستتلقى إشعار تنبيه على قناة البريد الإلكتروني التي هيأناها.

وبهذا نكون قد انتهينا من إعداد عمليات الفحص في وقت التشغيل. أحسنت!

6- مستكشف المقاييس

تعرض خدمة Cloud Monitoring آلاف المقاييس العادية من منتجات متعدّدة في Google Cloud. هذه المقاييس متاحة لك للتحقق من البيانات وإجراء طلبات بحث عنها وتحويلها إلى رسومات بيانية والإضافة إلى لوحات البيانات وزيادة التنبيهات وغير ذلك.

هدفنا في هذا القسم هو:

  1. تعرّف على كيفية عرض المقاييس المختلفة ثم سنتقصى مقياسًا معيّنًا (وقت الاستجابة) لخدمة واجهة برمجة التطبيقات.
  2. تحويل هذا المقياس إلى رسم بياني ولوحة بيانات مخصّصة يمكننا استخدامها لعرض المقياس في أيّ وقت.

التعرّف على مقياس وقت الاستجابة الخاص بخدمة Inventory API

انتقِل إلى المراقبة ← "مستكشف المقاييس" من القائمة الرئيسية في Google Cloud Console. سينقلك هذا الإجراء إلى شاشة "مستكشف المقاييس". انقر على اختيار مقياس. يمكنك الآن الانتقال إلى العديد من الموارد النشطة التي تم إنشاء مقاييس لها.

بما أننا نتعامل مع خدمات تشغيل السحابة الإلكترونية، انقر على Cloud Run Revision، ثم الفئة والمقياس المحدد بعنوان طلب وقت الاستجابة كما هو موضح أدناه:

7609d8156c8f1384.png

انقر على تطبيق. سيؤدي هذا إلى عرض وقت استجابة الطلب في رسم بياني. يمكنك تغيير نوع الأداة إلى مخطط خطي من إعدادات العرض على اليمين كما هو موضح أدناه:

46086ac0a8eaf3d7.png

سيؤدي هذا إلى عرض مخطط وقت الاستجابة كما هو موضح أدناه:

ad97f749eeacaa95.png

إنشاء رسم بياني ولوحة بيانات مخصّصة

دعنا نمضي قدمًا ونحفظ هذا المخطط. انقر على Save Chart (حفظ المخطط) واستخدِم التفاصيل كما هو موضّح أدناه:

35d1788d5f0cb3c4.png

يُرجى العِلم أنّنا ننشئ لوحة بيانات جديدة بدلاً من حفظها في لوحة بيانات حالية. انقر على الزر حفظ. سيؤدي ذلك إلى إضافة لوحة البيانات التي تم إنشاؤها حديثًا إلى قائمة لوحات البيانات كما هو موضّح أدناه:

c9cdcd63d5823abd.png

انقر على لوحة البيانات المحددة التي أنشأناها لعرض التفاصيل.

27354d8310d8a2d7.png

وبذلك تكون قد أكملت القسم الذي يتناول فحص المقاييس المختلفة عبر "أداة استكشاف المقاييس" وكيفية إنشاء لوحات البيانات المخصَّصة.

7. Cloud Logging

في هذا القسم، سنتعرّف على ميزة "تسجيل الدخول إلى السحابة الإلكترونية" (Cloud Logging). تتوفّر ميزة "التسجيل في السحابة الإلكترونية" مع واجهة Logs Explorer (مستكشف السجلات) التي تساعدك على التنقّل والتعمّق في السجلات التي تم إنشاؤها بواسطة خدمات Google المختلفة وتطبيقاتك الخاصة.

في هذا القسم، سنتعرّف على "مستكشف السجلات" وسنحاكي بعض رسائل السجل التي يمكننا بعد ذلك البحث عنها وتحويلها إلى مقاييس، من خلال ميزة تسمى المقاييس المستندة إلى السجل.

مستكشف السجلات

يمكنك الانتقال إلى مستكشف السجلات من خلال التسجيل ← مستكشف السجلات من وحدة تحكم Google Cloud الرئيسية كما هو موضح أدناه:

df05f5b33fd5695a.png

سيؤدي ذلك إلى عرض واجهة سجلّ يمكنك من خلالها تحديد/إلغاء اختيار عدة موارد على وجه التحديد (المشروع وموارد السحابة الإلكترونية من Google وأسماء الخدمات وما إلى ذلك) بالإضافة إلى مستويات السجلّ لفلترة رسائل السجلّ حسب الحاجة.

e7fa15bcf73f3805.png

يظهر أعلاه قائمة بسجلات النسخة السابقة من Cloud Run، أي خدمات تشغيل السحابة الإلكترونية التي نشرناها. ستظهر لك عدّة طلبات هي عمليات تحقّق في وقت التشغيل تصل إلى نقطة النهاية /healthy التي تم ضبطها.

البحث عن تحذيرات

محاكاة بعض الطلبات غير الصالحة إلى "خدمة المستودع" من خلال تقديم معرّفات منتجات ليست ضمن I-1 وI-2 وI-3. على سبيل المثال: الطلب غير الصحيح هو:

https://&lt;SERVICE_URL&gt;/inventory/I-999

سنبحث الآن عن جميع التحذيرات التي تم إنشاؤها بواسطة واجهة برمجة التطبيقات لدينا، عند تقديم معرّف منتج غير صحيح في طلب البحث.

في مربع طلب البحث، أدخل معلمات طلب البحث التالية:

resource.type=&quot;cloud_run_revision&quot;

textPayload =~ "تم تلقّي طلب مستودع بسبب معرّف منتج غير صحيح"

من المفترض أن تظهر بشكلٍ مشابه لما يلي:

b3ee512a0c9c5c7b.png

انقر فوق "Run Query" (تشغيل الاستعلام). بعد ذلك، ستظهر لك جميع الطلبات الواردة والتي تتضمّن هذه المشكلة.

5fdbd7c23bf4694f.png

المقاييس المستندة إلى السجلّ

لنُنشئ مقياسًا مخصّصًا للسجلّ لتتبّع هذه الأخطاء. نودّ معرفة ما إذا كان هناك عدد كبير من المكالمات التي يتم إجراؤها باستخدام معرّفات منتجات غير صحيحة.

لتحويل ما سبق إلى مقياس خطأ، انقر على الزر إنشاء مقياس الذي يظهر في مستكشف السجلات.

fa9a5e04922aa412.png

سيؤدي هذا إلى إظهار النموذج لإنشاء تعريف المقياس. انتقِل باستخدام مقياس عدّاد وأدخِل تفاصيل اسم المقياس (inventory_lookup_errors) والوصف كما هو موضّح أدناه، ثم انقر على إنشاء مقياس.

70b5719b472d4d02.png

سيؤدي هذا إلى إنشاء مقياس العدّاد، ومن المفترض أن تظهر لك رسالة كما هو موضّح أدناه:

ab9058028185e4d5.png

انتقل إلى تسجيل ← المقاييس المستندة إلى السجلات من القائمة الرئيسية ومن المفترض أن يظهر لك المقياس المخصّص الذي حدّدناه في قائمة المقاييس التي حدّدها المستخدم كما هو موضّح أدناه:

7d186e90559cf8e1.png

في نهاية هذا الإدخال، ستظهر لك ثلاث نقاط رأسية، وانقر عليها للاطّلاع على العمليات التي يمكنك تنفيذها على هذا المقياس المخصّص. يجب أن تكون القائمة مشابهة للقائمة التي تظهر أدناه. انقر على الخيار عرض في "مستكشف المقاييس".

7586f0789a0bdb41.png

يُفترض أن يقودنا ذلك إلى "مستكشف المقاييس" الذي تعرفنا عليه في القسم السابق، باستثناء أنه تمت تعبئته تلقائيًا الآن.

7ee7403d0639ce25.png

انقر على Save Chart (حفظ المخطط). استخدم القيم التالية لخيارات حفظ المخطط:

9009da45f76eb4c5.png

سيؤدي ذلك الآن إلى إنشاء لوحة بيانات جديدة يمكنك رؤية أخطاء بحث المستودع وستكون متاحة في قائمة لوحات البيانات.

201ed66957cb64f9.png

رائع! لقد أنشأت الآن مقياسًا مخصّصًا من سجلّاتك، وتم تحويله إلى رسم بياني متاح في لوحة البيانات المخصّصة. سيساعدنا ذلك في تتبع عدد المكالمات التي تستخدم معرّفات منتجات غير صحيحة.

8. سياسات التنبيهات

في هذا القسم، سنستخدم المقياس المخصّص الذي أنشأناه ونراقب بياناته بحثًا عن حد معيّن، بمعنى أنه إذا تجاوز عدد الأخطاء حدًّا معيّنًا، سنقدِّم تنبيهًا. بمعنى آخر، نحن بصدد إعداد سياسة التنبيه.

إنشاء سياسة تنبيه

لننتقل إلى لوحة بيانات البحث في المستودع. سيؤدي ذلك إلى عرض الرسم البياني الذي أنشأناه لملاحظة أخطاء "البحث في المستودع" كما هو موضّح أدناه:

3591a1dd91a8b9fd.png

سيؤدي ذلك إلى إظهار بيانات المقياس الحالية. لنقم أولاً بتعديل المقياس كما هو موضّح أدناه (انقر على الزر تعديل ):

5e76fc20d8387984.png

سيؤدي ذلك إلى عرض تفاصيل المقياس. وسنقوم بتحويل المخطط من توضيح معدل الأخطاء إلى مجموع أي عدد الأخطاء. في ما يلي الحقل الذي تريد تغييره:

65ccd1eaca607831.png

انقر على تطبيق في أعلى يسار الصفحة وسنعود إلى شاشة المقاييس، ولكن سنتمكّن هذه المرة من الاطّلاع على إجمالي عدد الأخطاء في فترة المحاذاة مقارنةً بنسبة الأخطاء.

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

cc9eec48b9bfbc92.png

من المفترض أن تظهر لك شاشة كما هو موضّح أدناه:

6202ad1e88679a78.png

انقر على التالي، وسيؤدي ذلك إلى عرض قيمة الحدّ التي يمكننا ضبطها. إنّ الحدّ الأدنى الذي حدّدناه هنا هو 5، ولكن يمكنك اختياره وفقًا لخياراتك المفضَّلة.

734f809cc802ab78.png

انقر على التالي لعرض نموذج الإشعارات.

f2d84fb85c2520cb.png

لقد اخترنا "قناة الإشعارات" لتكون قناة البريد الإلكتروني التي أنشأناها سابقًا. يمكنك ملء التفاصيل الأخرى مثل الوثائق (التي سيتم تقديمها كجزء من التنبيه الذي يتم تقديمه). انقر على التالي للاطّلاع على الملخّص وإكمال العملية.

c670b29da70c4655.png

بعد إنشاء سياسة التنبيه هذه، ستظهر في قائمة "سياسات التنبيه" كما هو موضّح أدناه. يمكنك الوصول إلى قائمة "سياسات التنبيه" من خلال الانتقال إلى المراقبة ← التنبيه. افحص قسم السياسات في الصفحة للاطلاع على قائمة السياسات التي تم ضبطها حتى الآن.

154da627959c54f3.png

رائع! لقد ضبطت الآن سياسة تنبيه مخصّصة لإعلامك في حال ارتفاع معدّل الأخطاء أثناء البحث عن Inventory API.

9. مراقبة الخدمات (اختياري)

في هذا القسم، سيتم إعداد SLI/SLO لخدماتنا وفقًا لمبادئ هندسة موثوقية المواقع الإلكترونية (SRE). ستلاحظ أنّ خدمة "المراقبة في السحابة الإلكترونية" تسهِّل عليك من خلال الاكتشاف التلقائي للخدمات التي نشرتها في Cloud Run ويمكنها احتساب قيم SLI الرئيسية، مثل "مدى التوفّر" و"وقت الاستجابة" تلقائيًا، إلى جانب عمليات احتساب الميزانية بالأخطاء.

لنبدأ بإعداد هدف وقت الاستجابة وقت الاستجابة لخدمة واجهة برمجة التطبيقات.

إعداد هدف مستوى الخدمة في وقت الاستجابة لخدمة المستودع

انقر على المراقبة ← الخدمات من القائمة الرئيسية في Cloud Console. سيؤدي ذلك إلى عرض قائمة الخدمات التي تم ضبطها لـ "مراقبة الخدمة".

لا تتوفّر لدينا في الوقت الحالي أي خدمات تم إعدادها لمراقبة SLI/SLO، وبالتالي فإن القائمة فارغة. انقر على رابط تعريف الخدمة في أعلى الصفحة لتحديد الخدمة أو تحديدها أولاً.

42d14515a481213.png

سيؤدي ذلك إلى الاكتشاف التلقائي للخدمات المرشحة لميزة "مراقبة هدف مستوى الخدمة". ويمكن للمنصة اكتشاف خدمات Cloud Run، وبالتالي ستظهر خدمة Inventory API المنشورة على Cloud Run في القائمة.

522aama719f85c54.png

قد يكون الاسم المعروض الذي تراه مختلفًا، وسيعتمد على ما اخترته في وقت نشر الخدمة على Cloud Run. انقر على الزر إرسال. سيؤدي ذلك إلى إظهار الشاشة الموضحة أدناه:

eca08010ab6858a9.png

يمكنك النقر على إنشاء هدف مستوى الخدمة. وسيتيح لك ذلك الآن الاختيار من معرّفات SLI التي يتم احتسابها تلقائيًا لك.

556e49b10d22e5ac.png

نختار وقت الاستجابة الخاص (SLI) كبداية. انقر على متابعة. بعد ذلك، ستظهر لك شاشة تعرض الأداء الحالي لهذه الخدمة ووقت الاستجابة النموذجي.

a9cc6f6778c13b52.png

نضع قيمة للحد الأدنى، أي 300 ملّي ثانية، وهي ما نريد تحقيقه. ويمكنك اختيار قيمة مختلفة إذا كنت تريد ذلك، ولكن ضَع في اعتبارك أنّ ذلك سيؤثر في ميزانية الخطأ التي تحدِّدها وفقًا لذلك. انقر على متابعة.

نُعيِّن الآن هدف مستوى الخدمة (SLO) (فترة الاستهداف والقياس) كما هو موضّح أدناه:

e1fc336d4191c08e.png

وهذا يعني أننا سنختار فترة القياس كنافذة نوع متحرّك ونقيسها على مدار 7 أيام. وبالمثل، اخترنا هدفًا بنسبة 90%. نريد التأكيد هنا أنّ% 90 من الطلبات الموجّهة إلى خدمة واجهة برمجة التطبيقات من المفترض أن تكتمل خلال 300 ملي ثانية، ويتم قياس ذلك على مدار 7 أيام.

انقر على متابعة. سيؤدي ذلك إلى ظهور شاشة الملخّص، والتي يمكنك تأكيدها بالنقر على الزر تعديل هدف مستوى الخدمة.

f2540173d9f4a4b7.png

يؤدي هذا إلى حفظ تعريف هدف مستوى الخدمة (SLO) ويتم احتساب ميزانية الخطأ لك تلقائيًا.

76393df0e189104.png

إليك بعض الإجراءات التي يمكنك تجربتها:

  1. تدرب على واجهة برمجة التطبيقات من خلال استدعاءات متعددة وشاهد أداء الخدمة ومدى تأثيره على باقي ميزانية الخطأ.
  2. عدِّل رمز المصدر لإضافة بعض التأخير الإضافي (السكون) بشكل عشوائي في بعض المكالمات. سيؤدي ذلك إلى زيادة وقت الاستجابة لعدد من المكالمات كما من المفترض أن يؤثر سلبًا في ميزانية الخطأ.

10. تهانينا

تهانينا، لقد نجحت في نشر نموذج تطبيق إلى Google Cloud وتعرّفت على كيفية استخدام Google Cloud Operations لمراقبة سلامة التطبيق.

المواضيع التي تناولناها

  • نشر خدمة في Google Cloud Run
  • جارٍ إعداد لوحة بيانات لخدمة Google Cloud Run.
  • عمليات الفحص في وقت التشغيل
  • إعداد مقاييس السجل المخصص ولوحة البيانات/المخطط استنادًا إليها.
  • استكشاف مستكشف المقاييس وإعداد لوحة البيانات/الرسم البياني.
  • جارٍ إعداد سياسات التنبيهات.
  • جارٍ إعداد هدف مستوى الخدمة أو هدف مستوى الخدمة لمراقبة الخدمة في Google Cloud.

ملاحظة: إذا نفَّذت الدرس التطبيقي حول الترميز باستخدام حسابك ومشروعك على Google Cloud، قد يستمر تحصيل رسوم فوترة على الموارد المخصّصة. لذلك احذف المشروع والموارد بمجرد الانتهاء من التمرين المعملي.

الخطوات التالية

يمكنك الاطّلاع على مهمة "منصة تعزيز مهارات السحابة الإلكترونية" هذه للتعرّف على مزيد من المعلومات حول "حزمة عمليات Google Cloud".

قراءة إضافية