المتغير المخصّص غير مرئي في تقارير "إحصاءات Google" المخصّصة

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

المشكلة

لا يظهر المتغيّر المخصّص الذي تم إنشاؤه باستخدام سياسة StatisticsCollector ضمن "السمات المخصّصة" في "التقارير المخصّصة" في "إحصاءات Google" في واجهة مستخدم Edge الجديدة.

رسائل الخطأ

لم يتم رصد أي أخطاء.

الأسباب المحتملة

يعرض الجدول التالي الأسباب المحتملة لهذه المشكلة:

السبب موجَّه إلى
عدم التزام المتغيّر المخصّص بالإرشادات العادية مستخدمو Edge Private وPublic Cloud
ما مِن زيارات على "وكيل واجهة برمجة التطبيقات" الذي ينفّذ سياسة StatisticsCollector مستخدمو Edge Private وPublic Cloud
لم يتم إرسال المتغيّر المخصّص إلى خادم Postgres مستخدمو Edge Private Cloud

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

المتغيّر المخصّص لا يتوافق مع الإرشادات العادية

التشخيص

إذا كان اسم المتغيّر المخصّص المستخدَم في سياسة StatisticsCollector لا يلتزم بالإرشادات العادية (راجِع الحلّ)، لن يظهر في التقارير المخصّصة.

توضّح مقتطفة الرمز أدناه أنّ اسم المتغيّر "معرّف المنتج" يتضمّن مسافة، وبالتالي لن يظهر ضمن السمة المخصّصة في التقرير المخصّص.

  <StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
      <Statistic name="productID" ref="product id" type="string">999999</Statistic>
    </Statistics>
  </StatisticsCollector>

الدقة

يجب أن تلتزم أسماء المتغيرات المخصّصة المستخدَمة في سياسة StatisticsCollector ضمن خادم وكيل API بالإرشادات التالية:

  • يمكن أن تتضمّن الأسماء [a-z][0-9] و '_'.
  • لا يمكن أن تتضمّن الأسماء مسافات. على سبيل المثال، في عينة التعليمات البرمجية الموضّحة أعلاه، يجب تغيير اسم المتغيّر إلى "product_id".
  • يتم تجاهل حالة الأحرف.
  • لا يُسمح باستخدام الكلمات الرئيسية المحجوزة الواردة في الجدول على الرابط التالي. على سبيل المثال، لا يُسمح باستخدام "user". لمزيد من المعلومات، يُرجى الاطّلاع على الكلمات الرئيسية في SQL.

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

ما مِن زيارات على "وكيل واجهة برمجة التطبيقات" الذي ينفّذ سياسة StatisticsCollector

التشخيص

إذا لم تكن هناك زيارات على الخادم الوكيل لواجهة برمجة التطبيقات الذي ينفّذ سياسة StatisticsCollector، لن يظهر المتغيّر المخصّص في "التقارير المخصّصة".

الدقة

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

انتظِر لبعض الوقت وتحقَّق مما إذا كانت المتغيّرات المخصّصة تظهر في السمات المخصّصة في "التقرير المخصّص".

في حال استمرار المشكلة، انتقِل إلى تعذُّر إرسال المتغيّر المخصّص إلى خادم Postgres.

لم يتم إرسال المتغيّر المخصّص إلى خادم Postgres

التشخيص

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

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

لتحديد مكان نقص المتغيّر المخصّص، اتّبِع الخطوات التالية:

  1. أنشئ شجرة ZooKeeper باستخدام الأمر التالي:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. ابحث عن المتغيّر المخصّص في ناتج شجرة ZooKeeper.
  3. إذا كان المتغيّر المخصّص متوفّرًا في شجرة ZooKeeper، نفِّذ الأوامر التالية للتحقّق مما إذا كان المتغيّر المخصّص قد تمت إضافته إلى قاعدة بيانات Postgres:
    1. على عقدة Postgres، سجِّل الدخول إلى PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. نفِّذ طلب البحث التالي بلغة الاستعلامات البنيوية (SQL):
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. من المرجّح جدًا أن يظهر لك أنّ عمود المتغيّر المخصّص غير متوفّر في جدول الحقائق، وهذا هو سبب عدم ظهوره في "السمات المخصّصة".

الدقة

الحلّ 1: إعادة تشغيل خادم Postgres

  1. أعِد تشغيل خادم Postgres لإجباره على قراءة جميع المعلومات ذات الصلة بـ &quot;إحصاءات Google&quot; من Zookeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    إذا استمرّت المشكلة، طبِّق الحلّ رقم 2.

الحلّ 2: تفعيل ميزة forceonboard للموقع

فعِّل السمة forceonboard باتّباع الخطوات التالية:

  1. أنشئ ملف /opt/apigee/customer/application/postgres-server.properties على جهاز خادم Postgres، إذا لم يكن موجودًا.
  2. أضِف السطر التالي إلى هذا الملف:
    conf_pg-agent_forceonboard=true
  3. تأكَّد من أنّ هذا الملف مملوك لـ Apigee باستخدام الأمر التالي:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. أعِد تشغيل خادم Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. إذا كان لديك أكثر من خادم Postgres واحد، كرِّر الخطوات أعلاه على جميع خوادم Postgres.
  6. ألغِ نشر خادم وكيل واجهة برمجة التطبيقات الذي يستخدم سياسة StatisticsCollector ثم انشره مرة أخرى.
  7. نفِّذ طلبات البيانات من واجهة برمجة التطبيقات.
  8. تحقَّق مما إذا كانت المتغيّرات المخصّصة تظهر في السمات المخصّصة في "التقرير المخصّص".

في حال استمرار المشكلة، يُرجى التواصل مع فريق دعم Apigee Edge.