إعداد ميزة وضع العلامات من جهة الخادم باستخدام App Engine

يوضّح هذا الدليل كيفية:

  • توفير خادم وضع العلامات على Google Cloud Platform (GCP) App Engine
  • ترقية خادم وضع العلامات للتعامل مع حركة المرور المباشرة
  • زيادة أو تقليل عدد الخوادم التي تشغّل حاويتك على أداة "إدارة العلامات من Google".
  • الحفاظ على تحديث إصدار خادم وضع العلامات بعد توفير الخادم.

المتطلبات الأساسية

  1. تحتاج إلى حساب Google Cloud Platform (GCP). إذا لم يكن لديك حساب، أنشئ حسابًا جديدًا على Google Cloud Platform.
  2. تحتاج إلى حساب فوترة Google Cloud Platform. إذا لم يكن لديك حساب، يمكنك إنشاء حساب فوترة Google Cloud Platform (يتطلّب ذلك دور "منشئ حساب الفوترة").
  3. ستحتاج إلى دور "منشئ المشروع" و"مستخدم حساب الفوترة". مزيد من المعلومات حول إضافة الأدوار

1- توفير خادم

لإنشاء خادم وضع علامات جديد على مثيل App Engine، عليك تنفيذ ما يلي:

  • أنشِئ حاوية خادم جديدة في أداة "إدارة العلامات من Google".
  • إنشاء مشروع Google Cloud (GCP) جديد
  • توفير خادم جديد لوضع العلامات في App Engine
  • إضافة عنوان URL لخادم وضع العلامات الجديد إلى حاوية خادم أداة "إدارة العلامات من Google"

إنشاء حاوية خادم في "إدارة العلامات من Google"

  1. افتح أداة "إدارة العلامات من Google".

  2. في صف الحساب، انقر على القائمة الكاملة > إنشاء حاوية.

  3. أنشِئ حاوية خادم جديدة.

  4. انقر على زر الاختيار "إدارة خادم وضع العلامات يدويًا". لاحظ تهيئة الحاوية. ستحتاج إليه لإدارة خادمك.

إنشاء مشروع جديد على Google Cloud Platform

لإنشاء مشروع Google Cloud Platform جديد لخادم وضع العلامات:

  1. افتح Google Cloud Console.

  2. أنشِئ مشروعًا جديدًا على Google Cloud Platform.

  3. أدخِل اسمًا لمشروعك. ننصحك باستخدام معرّف الحاوية لتسهيل الأمر. ويُستخدَم هذا الاسم داخل GCP فقط.

  4. دوِّن رقم تعريف مشروع Google Cloud Platform، لأنك ستحتاج إليه لإنشاء خادم وضع العلامات.

توفير خادم جديد لوضع العلامات

لإنشاء خادم وضع العلامات:

  1. افتح Cloud Shell.

  2. اضبط مشروع Google Cloud Platform في Cloud Shell. استبدِل project ID برقم تعريف مشروع Google Cloud Platform الذي لاحظته سابقًا:

    gcloud config set project project ID
    
  3. أنشِئ خادم وضع العلامات باتّباع النص البرمجي للموقف. اضبط نوع النشر على testing

    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

إضافة عنوان URL لخادم وضع العلامات إلى أداة "إدارة العلامات من Google"

  1. افتح أداة "إدارة العلامات من Google".

  2. في المشرف > إعدادات الحاوية، انقر على إضافة عنوان URL. إذا كنت لا تعرف عنوان URL لخادمك، يمكنك تشغيل الأمر التالي في Cloud Shell:

    gcloud app browse
    

    النتيجة: لقد أعددت خادم وضع العلامات وزوّدته بإعدادات testing. يمكنك الآن اختبار وضع العلامات من جهة الخادم.

الإعداد الأولي للخادم (testing)

وتُعدّ إعدادات الاختبار مناسبة لاستكشاف المنتج من خلال إرسال كميات صغيرة من الزيارات التجريبية واستخدام ميزة "المعاينة" في أداة "إدارة العلامات من Google". هذه التهيئة هي فئة مثيل F1 في App Engine في البيئة العادية، وفي معظم الحالات، لن تتكبد أي تكاليف.

2- استخدام App Engine في الإنتاج

في إعدادات production، تبلغ تكلفة كل خادم 40 دولار أمريكي تقريبًا في الشهر (دولار أمريكي). كل خادم هو مثيل App Engine مع وحدة معالجة مركزية افتراضية واحدة (vCPU) وذاكرة بسعة 0.5 غيغابايت وقرص بسعة 10 غيغابايت في البيئة المرنة.

يمكنك الاطّلاع على إدارة تكاليف App Engine لفهم فوترة App Engine وكيفية ضبط تنبيهات الفوترة. ننصحك بشدة بإعداد تنبيه للفوترة.

نقترح تشغيل 3 خوادم على الأقل للحد من خطر فقدان البيانات في حال تعطُّل الخادم. ومع ذلك، يمكنك اختيار تشغيل عدد أقل (أو أكثر) من الخوادم. نتوقع أن يعالج القياس التلقائي من 3 إلى 6 خوادم (الخادم الافتراضي) 50-200 طلب في الثانية. يعتمد الأداء على عدد العلامات وعلى الوظيفة التي تؤديها هذه العلامات.

لضبط خادم وضع العلامات:

  1. افتح Cloud Shell على Google Cloud Platform.
  2. يمكنك إعداد مشروع Cloud Platform في Cloud Shell. استبدِل project ID برقم تعريف مشروع Google Cloud Platform الذي دوّنته سابقًا:
    gcloud config set project project ID
  3. لإعادة ضبط خادم وضع العلامات لبيئة إنتاج، شغِّل النص البرمجي للإعداد أدناه. نفِّذ المهام التالية:
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    1. تغيير نوع النشر إلى production
    2. إعداد خوادم إضافية لخدمة حركة بيانات الإنتاج. وننصح باستخدام ثلاثة خوادم على الأقل.

اختياري: إيقاف التسجيل

طلب التسجيل

يسجل App Engine تلقائيًا معلومات حول كل طلب يتلقاه (على سبيل المثال، مسار الطلب ومعلَمات طلب البحث وغير ذلك). إذا كان خادم وضع العلامات يعالج الكثير من الطلبات شهريًا (مثل أكثر من مليون)، قد تتكبد رسائل السجل هذه رسوم تسجيل كبيرة. لتقليل رسوم التسجيل أو إلغاؤها، ننصحك بتعطيل تسجيل طلبات App Engine.

لإيقاف تسجيل طلبات App Engine:

  1. في Google Cloud Platform، افتح جهاز توجيه السجلات. يُرجى التأكّد من أنّك ضمن المشروع الذي يتطابق مع رقم تعريف الحاوية:
    لقطة شاشة لأداة اختيار مشروع Google Cloud Platform، وتعرض نموذج رقم تعريف حاوية أداة "إدارة العلامات من Google".
  2. بالنسبة إلى النوع: حزمة تسجيل Cloud، والسطر الاسم: _Default، اختَر القائمة الكاملة، ثم انقر على تعديل المستودع.
  3. ضمن وجهة الوعاء، اختَر حزمة السجلات _Default.
  4. ضمن اختيار السجلات لتضمينها في المستودع، أضِف سطرًا جديدًا. أدخِل القاعدة التالية في فلتر الإدراج الحالي:

    NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT
    LOG_ID("appengine.googleapis.com/request_log")
    
  5. لإيقاف التسجيل من جهاز موازنة الحمل أيضًا، أضِف سطرًا جديدًا وأدخِل القاعدة التالية إلى فلتر الإدراج الحالي:

    NOT LOG_ID("requests")
    
  6. عدِّل مصدر البيانات لتطبيق التغييرات. والآن سيتم استبعاد طلبات App Engine من التسجيل.

  7. تأكَّد من عدم ظهور أي طلبات جديدة في سجلّات مستكشف السجلات.

تسجيل وحدة التحكّم

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

تحديد سجلات وحدة التحكم غير المرغوب فيها:

  1. في Google Cloud Platform، افتح مستكشف السجلات.
  2. ابحث عن أي رسائل سجلّ غير مرغوب فيها تنشأ من علاماتك. على سبيل المثال:

    يمكن أن ترسل العلامة السجلّات التالية:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    ابحث عن رسائل السجلّ المقابلة في الحقل textPayload:
    لقطة شاشة لأداة "مستكشف سجلات Google Cloud Platform" تعرض نماذج للسجلات.

لإيقاف رسالة سجلّ وحدة التحكّم:

  1. في Google Cloud Platform، افتح جهاز توجيه السجلات. يُرجى التأكّد من أنّك ضمن المشروع الذي يتطابق مع رقم تعريف الحاوية:
    لقطة شاشة لأداة اختيار مشروع Google Cloud Platform، وتعرض نموذج رقم تعريف حاوية أداة "إدارة العلامات من Google".
  2. بالنسبة إلى النوع: حزمة تسجيل Cloud، والسطر الاسم: _Default، اختَر القائمة الكاملة، ثم انقر على تعديل المستودع.
  3. ضمن وجهة الوعاء، اختَر حزمة السجلات _Default.
  4. ضمن اختيار السجلات لتضمينها في المستودع، أضِف سطرًا جديدًا. أدخِل القاعدة التالية في فلتر الإدراج الحالي:

    NOT textPayload:"Custom message:"
    

    بالنسبة إلى سجلّات وحدة التحكّم، استبدِل نص "Custom message:" بسلسلة فرعية من سجلّ وحدة التحكّم الذي تريد إيقافه. للحصول على فلاتر أكثر تفصيلاً، استخدِم لغة طلب البحث لتسجيل الدخول.

  5. عدِّل مصدر البيانات لتطبيق التغييرات. يجب استبعاد رسالة logToConsole المتطابقة من التسجيل.

  6. تحقَّق من عدم ظهور أي رسائل جديدة في سجلّ وحدة التحكّم في مستكشف السجلات.

3- ربط عملية النشر بنطاقك الخاص

تتم استضافة عملية النشر التلقائية لوضع العلامات من جهة الخادم على نطاق App Engine. ننصحك بتعديل عملية النشر لاستخدام نطاق فرعي لموقعك الإلكتروني.

ربط النطاق الفرعي لموقعك الإلكتروني بخادم وضع العلامات

4- إضافة عنوان URL الخاص بالخادم إلى أداة "إدارة العلامات من Google"

الآن بعد أن أصبح لديك خادم، عليك التأكّد من أنّ أداة "إدارة العلامات من Google" تعلم أنّه يجب أن تستخدم خادمك.

  1. افتح أداة "إدارة العلامات من Google".

  2. انقر على حاوية الخادم التي تريد أن توجّهها إلى خادم وضع العلامات.

  3. افتح إعدادات حاوية الخادم في علامة التبويب المشرف > إعدادات الحاوية.

  4. انقر على إضافة عنوان URL والصِق عنوان URL للخادم.

  5. حفظ والرجوع إلى مساحة العمل

5- التحقّق من الصحة

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

معاينة عناوين URL متعددة

في حال ربط عدة نطاقات بخادم وضع علامات واحد، احرص على إضافة كل عنوان URL إلى إعدادات الحاوية.

وإذا قدّمت عناوين URL متعدّدة، يجب أن تتطابق جميع المسارات (السلسلة التي تلي اسم النطاق).

الأعمال لا يعمل
عنوان URL 1: example.com/abc
عنوان URL 2: example2.com/abc
عنوان URL 1: example.com/abc
عنوان URL 2: example2.com/def

في حال إضافة عدة عناوين URL، سيظهر لك رمز بجانب الزر معاينة يتيح لك اختيار عنوان URL لمعاينته.

تعديل إصدار خادم وضع العلامات

تحتوي التحديثات الجديدة لخادم وضع العلامات على إصلاحات للثغرات الأمنية وميزات جديدة. ننصحك بتحديث خادم وضع العلامات على الأقل لكل إصدار رئيسي في الإصدار (على سبيل المثال، الترقية من الإصدار 1.x.x إلى 2.x.x) عندما ترسل إليك أداة "إدارة العلامات من Google" إشعارًا بالتحديث.

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

لتعديل خادم وضع العلامات:

  1. افتح Cloud Shell على Google Cloud Platform.
  2. يمكنك إعداد مشروع Cloud Platform في Cloud Shell. استبدِل project ID برقم تعريف مشروع Google Cloud Platform الذي دوّنته سابقًا:
    gcloud config set project project ID
  3. شغِّل النص البرمجي للإعداد باستخدام الإعدادات نفسها التي استخدمتها سابقًا. يتم ضبط الإعدادات الحالية تلقائيًا.
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"

للتحقّق من نجاح عملية التحديث:

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

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

تحديد وحلّ مشاكل مهلات نشر الإصدار العلني

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

  1. تحتوي حسابات الخدمة على أذونات غير صحيحة: يكون حساب خدمة Compute Engine وApp Engine مسؤولَين عن نشر عملية نشر الإنتاج والحفاظ على أدائها. ويتم ضبطها تلقائيًا باستخدام الأذونات المناسبة. ومع ذلك، في بعض الحالات، قد تسبب سياسة المؤسسة في عدم صحة هذه البيانات.

    1. انتقِل إلى صفحة IAM & Admin (إدارة الهوية وإمكانية الوصول والمشرف) في شريط التنقّل الأيمن في Google Cloud Console.
    2. ابحث عن حساب خدمة Compute Engine <project_number>-compute@developer.gserviceaccount.com وحساب خدمة App Engine <project_name>@appspot.gserviceaccount.com.
    3. يجب أن يكون لكل من حسابَي الخدمة الدور Editor. إذا لم يكن لأيّ حسابَين دور Editor، يمكنك تعديل الدور من خلال النقر على رمز القلم الرصاص على يسار الحساب، ثم النقر على القائمة المنسدلة للدور الحالي، والانتقال إلى الأعلى والنقر على مشروع، ثم على محرِّر.
  2. الحصة غير كافية - يستهلك نشر الإنتاج حصّة السعر من Compute Engine. إذا لم يكن للمشروع حصة كافية، فقد تنتهي مهلة النشر أثناء محاولة توفير الموارد.

    1. انتقِل إلى صفحة إدارة الهوية وإمكانية الوصول والمشرف في شريط التنقّل الأيمن في Google Cloud Console، ثم انقر على علامة التبويب الحصص في شريط التنقّل الأيمن.
    2. بالقرب من أعلى الصفحة، انقر على مربع النص الذي يشير إلى فلترة الجدول واكتب Compute Engine API. انقر على النتيجة الوحيدة.
    3. تأكَّد من أنّ جميع حالات الحصة تقع ضمن الحد المسموح به أو من أنّها تحتوي على علامة اختيار خضراء.
    4. ابحث عن وحدات المعالجة المركزية (CPU) وانقر عليها. تحقَّق من أن الاستخدام الحالي بالإضافة إلى عدد المثيلات التي يتم نشرها سيظل أقل من الحد الأقصى لمنطقة النشر.