أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
المشكلة
المتغير المخصص الذي تم إنشاؤه باستخدام جامع الإحصاءات غير مرئية ضمن "السمات المخصّصة" في التقارير المخصَّصة لخدمة "إحصاءات Google" ضمن واجهة مستخدم Edge
رسالة الخطأ
سيظهر الخطأ التالي في سجل نظام Edge-postgres-server بعد إعادة تشغيل كل مجموعة المؤسسة/البيئة حيث يكون المسار مفقودًا:
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
الأسباب المحتملة
السبب | الوصف | تعليمات استكشاف الأخطاء وإصلاحها التي تنطبق على |
---|---|---|
مسار خصائص Zookeeper غير متوفّر لتركيبة المؤسسة والبيئة. | عندما يتم تغيير مسار ZooKeeper /organizations/
غير متوفّرة، لا يمكن إنشاء سمات مخصّصة. |
مستخدمو Edge Private Cloud |
السبب: مسار خصائص ZooKeeper غير موجود لتركيبة المؤسسة والبيئة
التشخيص
يتم تفعيل "إحصاءات Google" لتركيبة بيئة المؤسسة من خلال
تفعيل analytics API، التي تعمل على تعبئة /organizations/
في شجرة ZooKeeper. عند تعطُّل واجهة برمجة التطبيقات هذه، لا يمكن لمكوِّن Edge-postgres-server إنشاء
المخصصة، وسيظهر الخطأ التالي في سجل النظام الخاص به:
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
ويحدث هذا عادةً عندما تنضم مؤسسة إلى ذلك في وقت يكون فيه أكثر من مؤسسة مجموعة تحليلية تستخدم نفس المعرّف الفريد العالمي (UUID) لخادم postgres-server. للتحقق من عدد التحليلات هناك مجموعات، يُرجى تشغيل طلب البيانات من واجهة برمجة التطبيقات التالي:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
إذا عرضت واجهة برمجة التطبيقات هذه مجموعات متعددة، يكون سبب المشكلة على الأرجح. في المثال التالي، لاحظ وجود مجموعتين مختلفتين بواصلة فقط: axgroup-001 وaxgroup001
[ { "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { } }, { "name" : "axgroup001", "properties" : { }, "scopes" : [ "example~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ], "properties" : { } } ], "data-processors" : { }
على وجه التحديد، تحدث هذه المشكلة إذا كان المعرّف الفريد العالمي (UUID) لخادم postgres-server الذي تم إعداده لكل مجموعة axgroup هو نفسه. هناك طريقة سريعة لتحديد ذلك وهي تشغيل ما يلي:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
يؤدي هذا النموذج إلى إجراء مقارنة سريعة بين المعرفات الفريدة الفريدة (UUID) لخادم postgres-server لتحديد إنهما متماثلان:
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]-- "name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ], "uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ], "aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
الدقة
لا يمكن تعيين المجموعة نفسها من خوادم PostgreSQL إلى مجموعتَين. تتمثل أسرع طريقة لحل المشكلة في حذف معلومات خادم Postgres من مجموعة Axgroup واحدة وتعيين جميع النطاقات (مجموعات المؤسسة والبيئة) إلى المجموعة الأخرى. للقيام بذلك، اتبع هذه الخطوات:
- إزالة مكونات خادم postgres من إحدى المجموعتين الرئيسيتين باستخدام الإرشادات في إضافة مكوّنات الإحصاءات وحذفها في مجموعات الإحصاءات إذا كنت تواجه مشكلات في النطاقات غير الإنتاجية فقط، فاختر مجموعة x ليس لديه أي نطاق إنتاج لهذا التمرين. بخلاف ذلك، اختر مجموعة axgroup ذات وأقل عدد من النطاقات.
- إزالة جميع النطاقات من axgroup التي لم تعد تحتوي على أي خوادم بوسيلة، وتلك
التي ترى فيها مشكلة السمة المخصصة من مجموعة Axgroup. بافتراض
axgroup-001
من المثال أعلاه هي المجموعة التي تريد استخدامها، يمكنك استخدام ما يلي لإزالة نطاق مؤسسة myorg، وبيئة prod:curl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- تفعيل الإحصاءات باستخدام تفعيل analytics API
- أعد تشغيل مكون Edge-postgres-server على عقدة postgres الرئيسية،
مكونات Edge-qpid-server التي ربما ثبتها، باستخدام الأوامر التالية:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- تحقَّق من أنّ الخطأ الوارد في القسم رسالة الخطأ أعلاه
لم يعد يحدث في ملف السجل لخادم Postgres
/opt/apigee/var/log/edge-postgres-server/logs/system.log
- تأكَّد من ظهور السمات المخصّصة في واجهة مستخدم Edge.
في حال استمرار المشكلة، يُرجى الانتقال إلى ضرورة جمع معلومات التشخيص.
يجب جمع معلومات التشخيص
إذا استمرت المشكلة حتى بعد اتباع التعليمات السابقة، يرجى جمع اتباع معلومات التشخيص التالية. يمكنك التواصل معه ومشاركته مع Apigee Edge Support:
- خادم Edge-postgres-server
/opt/apigee/var/log/edge-postgres-server/logs/system.log
من وقت آخر عملية إعادة تشغيل. - ناتج طلب البيانات التالي من Management API:
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- ناتج شجرة ZooKeeper التي تم الحصول عليها باستخدام الأمر التالي:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt