أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
المشكلة
لا يظهر المتغيّر المخصّص الذي تم إنشاؤه باستخدام سياسة StatisticsCollector ضمن "السمات المخصّصة" في "التقارير المخصّصة" في "إحصاءات Google" في واجهة مستخدم Edge.
رسائل الخطأ
لم يتم رصد أي أخطاء.
الأسباب المحتملة
يعرض الجدول التالي الأسباب المحتملة لهذه المشكلة:
| السبب | موجَّه إلى |
|---|---|
| عدم التزام المتغيّر المخصّص بالإرشادات العادية | مستخدمو Edge Private Cloud وEdge Public Cloud |
| عدم توفّر زيارات على خادم وكيل لواجهة برمجة التطبيقات ينفّذ سياسة StatisticsCollector | مستخدمو Edge Private Cloud وEdge 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".
- يتم تجاهل حالة الأحرف.
- لا يُسمح باستخدام الكلمات الرئيسية المحجوزة والمدرَجة في الجدول على الرابط التالي. على سبيل المثال، لا يُسمح باستخدام كلمة "مستخدم". لمزيد من المعلومات، يُرجى الاطّلاع على الكلمات الرئيسية في SQL.
في حال استمرار المشكلة، انتقِل إلى عدم توفّر أي زيارات على خادم وكيل واجهة برمجة التطبيقات الذي ينفّذ سياسة StatisticsCollector.
عدم توفّر أي زيارات على خادم وكيل واجهة برمجة التطبيقات الذي ينفّذ سياسة StatisticsCollector
التشخيص
إذا لم تكن هناك زيارات على خادم وكيل واجهة برمجة التطبيقات الذي ينفّذ سياسة StatisticsCollector، لن يظهر المتغيّر المخصّص في "التقارير المخصّصة".
الدقة
أجرِ بعض الطلبات إلى خادم وكيل لواجهة برمجة التطبيقات ينفّذ سياسة StatisticsCollector.
انتظِر لبعض الوقت وتحقّق ممّا إذا كانت المتغيّرات المخصّصة تظهر في السمات المخصّصة في التقرير المخصّص.
في حال استمرار المشكلة، انتقِل إلى لم يتم إرسال المتغيّر المخصّص إلى خادم Postgres.
لم يتم إرسال المتغيّر المخصّص إلى خادم Postgres
التشخيص
عند إنشاء متغيّر مخصّص في خادم وكيل لواجهة برمجة التطبيقات وإجراء طلبات بيانات من واجهة برمجة التطبيقات، يتم تخزين المتغيّر أولاً في الذاكرة على "معالج الرسائل". يرسل Message Processor بعد ذلك المعلومات المتعلقة بالمتغير الجديد إلى ZooKeeper، الذي يرسلها بدوره إلى خادم Postgres لإضافتها كعمود في قاعدة بيانات Postgres.
في بعض الأحيان، قد لا يصل الإشعار من ZooKeeper إلى خادم Postgres بسبب مشاكل في الشبكة. بسبب هذا الخطأ، قد لا يظهر المتغيّر المخصّص في التقرير المخصّص.
لتحديد مكان نقص المتغيّر المخصّص، اتّبِع الخطوات التالية:
- أنشئ شجرة ZooKeeper باستخدام الأمر التالي:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- ابحث عن المتغيّر المخصّص في ناتج شجرة ZooKeeper.
- إذا كان المتغيّر المخصّص متوفّرًا في شجرة ZooKeeper، نفِّذ الأوامر التالية للتحقّق مما إذا كان المتغيّر المخصّص قد تمت إضافته إلى قاعدة بيانات Postgres:
- على عقدة Postgres، سجِّل الدخول إلى PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- نفِّذ طلب البحث التالي بلغة الاستعلامات البنيوية (SQL):
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- على عقدة Postgres، سجِّل الدخول إلى PostgreSQL:
- من المحتمل جدًا أن تلاحظ أنّ عمود المتغيّر المخصّص غير متوفّر في جدول الحقائق، وهذا هو السبب في عدم ظهوره في السمات المخصّصة.
الدقة
الحلّ 1: إعادة تشغيل خادم Postgres
- أعِد تشغيل خادم Postgres لإجباره على قراءة جميع المعلومات ذات الصلة
بـ "إحصاءات Google" من Zookeeper:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
إذا استمرت المشكلة، طبِّق الحلّ رقم 2.
الحلّ 2: تفعيل ميزة forceonboard للموقع
فعِّل السمة forceonboard باتّباع الخطوات التالية:
- أنشئ ملف
/opt/apigee/customer/application/postgres-server.propertiesعلى جهاز خادم Postgres إذا لم يكن موجودًا. - أضِف السطر التالي إلى هذا الملف:
conf_pg-agent_forceonboard=true
- تأكَّد من أنّ Apigee يملك هذا الملف باستخدام الأمر التالي:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- أعِد تشغيل خادم Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- إذا كان لديك أكثر من خادم Postgres واحد، كرِّر الخطوات أعلاه على جميع خوادم Postgres.
- ألغِ نشر خادم وكيل واجهة برمجة التطبيقات الذي يستخدم سياسة StatisticsCollector، ثم أعِد نشره.
- نفِّذ طلبات البيانات من واجهة برمجة التطبيقات.
- تحقَّق ممّا إذا كانت المتغيّرات المخصّصة تظهر في السمات المخصّصة في التقرير المخصّص.
في حال استمرار المشكلة، يُرجى التواصل مع فريق الدعم في Apigee Edge.