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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

المشكلة

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

رسائل الخطأ

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

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

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

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

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

المتغير المخصّص لا يلتزم بالإرشادات القياسية

التشخيص

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

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

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

درجة الدقّة

يجب أن تتقيد أسماء المتغيرات المخصصة المستخدمة في سياسة StatisticsCollector داخل الخادم الوكيل لواجهة برمجة التطبيقات بالإرشادات التالية:

  • يمكن أن تتضمن الأسماء [a-z][0-9] و '_'.
  • لا يمكن أن تحتوي الأسماء على مسافات. على سبيل المثال، في نموذج الرمز الموضّح أعلاه، يجب تغيير اسم المتغيّر إلى "product_id".
  • يتم تجاهل حالة الأحرف.
  • لا يُسمح بالكلمات الرئيسية المحجوزة والمذكورة في الجدول الوارد في الرابط التالي. على سبيل المثال، غير مسموح بكلمة "مستخدم". لمزيد من المعلومات، راجِع الكلمات الرئيسية في لغة الاستعلامات البنيوية (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 لفرض قراءة جميع المعلومات ذات الصلة بخدمة "إحصاءات Google" من 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.