أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
المشكلة
لا تعرض لوحات بيانات الإحصاءات (أداء الخادم الوكيل، وأداء الهدف، وما إلى ذلك) أي بيانات في واجهة مستخدم Edge. تعرض جميع لوحات البيانات الرسالة التالية:
No traffic in the selected date range
رسائل الخطأ
لا تؤدي هذه المشكلة إلى ظهور أخطاء ملحوظة.
الأسباب المحتملة
يسرد الجدول التالي الأسباب المحتملة لهذه المشكلة:
| السبب | موجَّه إلى |
|---|---|
| ما مِن زيارات إلى واجهة برمجة التطبيقات في المؤسسة والبيئة | مستخدمو Edge for Private Cloud |
| البيانات متاحة في قاعدة بيانات Postgres، ولكن لا يتم عرضها في واجهة المستخدم | مستخدمو Edge for Private Cloud |
| لا يتم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres | مستخدمو Edge for Private Cloud |
| نشر غير صحيح لـ "إحصاءات Google" | مستخدمو Edge for Private Cloud |
| معرّفات UUID قديمة لخادم "إحصاءات Google" | مستخدمو Edge for Private Cloud |
ما مِن زيارات إلى واجهة برمجة التطبيقات في المؤسسة والبيئة
التشخيص
- تحقَّق مما إذا كانت هناك زيارات إلى الخوادم الوكيلة لواجهة برمجة التطبيقات في المؤسسة والبيئة المحدّدتَين خلال المدة المحدّدة التي تحاول عرض بيانات الإحصاءات لها باستخدام إحدى الطرق التالية:
- فعِّل أداة التتبُّع لأي من واجهات برمجة التطبيقات التي يستخدمها حاليًا المستخدمون، و تحقَّق مما إذا كان بإمكانك الحصول على أي طلبات في التتبُّع.
- اطّلِع على سجلّات الوصول إلى NGINX
(
/opt/apigee/var/log/edge-router/nginx/logs/access.log)وتحقَّق مما إذا كانت هناك أي إدخالات جديدة للخوادم الوكيلة لواجهة برمجة التطبيقات خلال المدة المحدّدة. - إذا كنت تسجِّل معلومات من الخوادم الوكيلة لواجهة برمجة التطبيقات في خادم سجلّات، مثل Syslog أو Splunk أو Loggly أو غير ذلك، يمكنك التحقّق مما إذا كانت هناك أي إدخالات في خوادم السجلّات هذه للخوادم الوكيلة لواجهة برمجة التطبيقات خلال المدة المحدّدة.
- إذا لم تكن هناك أي زيارات (ما مِن طلبات بيانات من واجهة برمجة التطبيقات) خلال المدة المحدّدة، لن تتوفّر بيانات الإحصاءات. ستظهر لك الرسالة "ما مِن زيارات في النطاق الزمني الذي اخترته" في لوحة بيانات الإحصاءات.
الدقة
- أجرِ بعض الطلبات إلى خادم وكيل واحد أو أكثر من الخوادم الوكيلة لواجهة برمجة التطبيقات في المؤسسة والبيئة المحدّدتَين.
- انتظِر بضع ثوانٍ، ثم اطّلِع على لوحات بيانات الإحصاءات في علامة التبويب "الساعة" وتحقَّق مما إذا كانت البيانات تظهر.
- إذا استمرت المشكلة، انتقِل إلى البيانات المتاحة في قاعدة بيانات Postgres ولكن لا يتم عرضها في واجهة المستخدم.
البيانات متاحة في قاعدة بيانات Postgres، ولكن لا يتم عرضها في واجهة المستخدم
المشكلة
أولاً، حدِّد مدى توفّر أحدث بيانات "إحصاءات Google" في قاعدة بيانات Postgres.
للتحقّق مما إذا كانت أحدث بيانات "إحصاءات Google" متاحة في عقدة Postgres الرئيسية:
- سجِّل الدخول إلى كل خادم من خوادم Postgres وشغِّل الأمر التالي للتحقّق مما إذا كنت تستخدم عقدة Postgres الرئيسية:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- في عقدة Postgres الرئيسية، سجِّل الدخول إلى PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- تحقَّق مما إذا كان الجدول متوفّرًا للمؤسسة والبيئة باستخدام طلب بحث SQL التالي في قاعدة بيانات Postgres
database:
\d analytics."orgname.envname.fact"
- تحقَّق مما إذا كانت أحدث البيانات متاحة في قاعدة بيانات Postgres باستخدام طلب بحث SQL التالي:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- إذا كان آخر طابع زمني قديمًا جدًا (أو فارغًا)، يشير ذلك إلى أنّ البيانات غير متاحة في قاعدة بيانات Postgres. من المرجَّح أنّ السبب في هذه المشكلة هو عدم إرسال البيانات من خادم Qpid إلى قاعدة بيانات Postgres. انتقِل إلى لا يتم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres.
- إذا كانت أحدث البيانات متاحة في قاعدة بيانات Postgres على العقدة الرئيسية، اتّبِع الخطوات التالية لتشخيص سبب عدم عرض البيانات في واجهة مستخدم Edge.
التشخيص
- فعِّل أدوات مطوّري البرامج
في متصفّح Chrome واحصل على واجهة برمجة التطبيقات المستخدَمة من إحدى لوحات بيانات الإحصاءات باتّباع الخطوات التالية:
- اختَر علامة التبويب "الشبكة" من "أدوات مطوّري البرامج".
- ابدأْ التسجيل.
- أعِد تحميل لوحة بيانات "إحصاءات Google".
- في اللوحة اليمنى من "أدوات مطوّري البرامج"، اختَر الصف الذي يحتوي على "apiproxy?_optimized...".
- في اللوحة اليمنى من "أدوات مطوّري البرامج"، اختَر علامة التبويب "العناوين" وسجِّل "عنوان URL للطلب".
- إليك نموذج للنتائج من "أدوات مطوّري البرامج":
نموذج للنتائج يعرض واجهة برمجة التطبيقات المستخدَمة في لوحة بيانات "أداء الخادم الوكيل" من علامة التبويب "الشبكة" في "أدوات مطوّري البرامج" للوحة بيانات "أداء الخادم الوكيل"

- شغِّل طلب بيانات من واجهة برمجة التطبيقات للإدارة مباشرةً وتحقَّق مما إذا كنت تحصل على النتائج. إليك نموذج لطلب بيانات من واجهة برمجة التطبيقات
لعلامة التبويب "اليوم" في لوحة بيانات "أداء الخادم الوكيل":
curl -u username:password "http://management_server_IP_address:8080/v1/organizations/ org_name/environments/env_name/stats/apiproxy?limit=14400& select=sum(message_count),sum(is_error),avg(total_response_time), avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error), avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+ 18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
- إذا ظهرت لك استجابة ناجحة ولكن بدون أي بيانات، يشير ذلك إلى أنّ "خادم الإدارة" لا يمكنه جلب البيانات من خادم Postgres بسبب مشاكل في الاتصال بالشبكة.
- تحقَّق مما إذا كان بإمكانك الاتصال بخادم Postgres من "خادم الإدارة":
telnet Postgres_server_IP_address 5432
- إذا تعذّر عليك الاتصال بخادم Postgres، تحقَّق مما إذا كانت هناك أي قيود على جدار الحماية على المنفذ 5432.
- إذا كانت هناك قيود على جدار الحماية، قد يكون ذلك هو السبب في عدم تمكّن "خادم الإدارة" من سحب البيانات من خادم Postgres.
الدقة
- إذا كانت هناك قيود على جدار الحماية، أزِلها حتى يتمكّن "خادم الإدارة" من التواصل مع خادم Postgres.
- إذا لم تكن هناك قيود على جدار الحماية، قد تكون هذه المشكلة ناتجة عن خلل في الشبكة.
- إذا حدث أي خلل في الشبكة على "خادم الإدارة"، قد يؤدي إعادة تشغيله إلى حلّ المشكلة.
- أعِد تشغيل جميع "خوادم الإدارة" واحدًا تلو الآخر باستخدام الأمر التالي:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- تحقَّق مما إذا كان بإمكانك الاطّلاع على بيانات الإحصاءات في واجهة مستخدم Edge.
إذا كنت لا تزال لا ترى البيانات، تواصَل مع فريق دعم Apigee Edge.
لا يتم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres
التشخيص
إذا لم يتم إرسال البيانات من خادم Qpid إلى قاعدة بيانات Postgres كما تم تحديده في البيانات المتاحة في قاعدة بيانات Postgres، ولكن لا يتم عرضها في واجهة المستخدم، اتّبِع الخطوات التالية:
- تحقَّق مما إذا كان كل خادم من خوادم Qpid قيد التشغيل من خلال تنفيذ الأمر التالي:
/opt/apigee/apigee-service/bin edge-qpid-server status
- إذا كان أي خادم من خوادم Qpid متوقفًا، أعِد تشغيله. إذا لم يكن أي خادم متوقفًا، انتقِل إلى الخطوة 5.
/opt/apigee/apigee-service/bin edge-qpid-server restart
- انتظِر بعض الوقت، ثم أعِد التحقّق مما إذا كانت أحدث البيانات متاحة في قاعدة بيانات Postgres.
- سجِّل الدخول إلى PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- شغِّل طلب بحث SQL التالي للتحقّق مما إذا كانت أحدث البيانات متاحة:
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- سجِّل الدخول إلى PostgreSQL:
- إذا كانت أحدث البيانات متاحة، تخطَّ الخطوات التالية وانتقِل إلى الخطوة الأخيرة في قسم "الدقة". إذا لم تكن أحدث البيانات متاحة، اتّبِع الخطوات التالية
- تحقَّق مما إذا كان يتم إرسال الرسائل من قوائم انتظار خادم Qpid إلى قاعدة بيانات Postgres.
- نفِّذ
qpid-stat -q commandوتحقَّق من قيمتَي العمودَين msgIn و msgOut. - إليك نموذج للنتائج يوضِّح أنّ msgIn وmsgOut غير متساويتَين. يشير ذلك إلى أنّه لا يتم إرسال الرسائل من خادم Qpid إلى قاعدة بيانات Postgres.

- نفِّذ
- إذا كان هناك عدم تطابق في العمودَين msgIn وmsgOut، تحقَّق من سجلّات خادم Qpid
Server
/opt/apigee/var/log/edge-qpid-server/system.logوتحقَّق مما إذا كانت هناك أي أخطاء. - قد تظهر لك رسائل خطأ مثل "من المحتمل أنّ PG لا يزال متوقفًا" أو
"خطأ فادح: عذرًا، عدد العملاء كبير جدًا" كما هو موضّح في الشكل أدناه:
2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (FATAL: sorry, too many clients already)
قد يحدث ذلك إذا كان خادم Postgres يشغِّل عددًا كبيرًا جدًا من طلبات بحث SQL أو إذا كان استخدام وحدة المعالجة المركزية مرتفعًا وبالتالي لا يمكنه الاستجابة لخادم Qpid.
الدقة
- أعِد تشغيل خادم Postgres وPostgreSQL كما هو موضّح أدناه:
/opt/apigee/bin/apigee-service edge-postgres-server restart
/opt/apigee/bin/apigee-service apigee-postgresql restart
- تضمن عملية إعادة التشغيل هذه إيقاف جميع طلبات بحث SQL السابقة، ويجب أن تسمح بالاتصالات الجديدة بقاعدة بيانات Postgres.
- أعِد تحميل لوحات بيانات "إحصاءات Google" وتحقَّق مما إذا كانت بيانات "إحصاءات Google" تظهر.
في حال استمرار المشكلة، تواصَل مع فريق دعم Apigee Edge.
نشر غير صحيح لـ "إحصاءات Google"
التشخيص
- احصل على حالة نشر الإحصاءات باستخدام طلب بيانات من واجهة برمجة التطبيقات التالي:
curl -u user_email:password http://management_server_host:port /v1/organizations/orgname/environments/envname/provisioning/axstatus
- تحقَّق من حالة خادمَي Qpid وPostgres من نتائج طلب البيانات من واجهة برمجة التطبيقات.
- إذا ظهرت حالة خادمَي Qpid وPostgres على أنّها "نجاح"، يشير ذلك إلى أنّ خادمَي الإحصاءات متصلان بشكلٍ صحيح. انتقِل إلى معرّفات UUID قديمة لخادم "إحصاءات Google".
- إذا ظهرت حالة خادمَي Qpid/Postgres على أنّها "غير معروف" أو "فشل"، يشير ذلك إلى وجود مشكلة في الخادم المقابل.
على سبيل المثال، يعرض السيناريو التالي حالة خادمَي Postgres على أنّها "غير معروف":

قد يحدث ذلك إذا حدث خطأ أثناء إعداد "إحصاءات Google". يمنع هذا الخطأ وصول الرسائل من "خوادم الإدارة" إلى خوادم Postgres.
الدقة
يمكن عادةً حلّ هذه المشكلة من خلال إعادة تشغيل الخوادم التي ظهرت لها الحالة "فشل" أو "غير معروف".
- أعِد تشغيل كل خادم من الخوادم التي أشارت حالة ربط الإحصاءات الخاصة بها إلى "فشل" أو "غير معروف"
باستخدام الأمر التالي:
/opt/apigee/apigee-service/bin/apigee-service component restart
- على سبيل المثال:
- إذا ظهرت لك المشكلة على خوادم Qpid، أعِد تشغيل خوادم Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- إذا ظهرت لك المشكلة على خوادم Postgres، أعِد تشغيل كل من العقدتَين الرئيسية والتابعة
لخادم Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- إذا ظهرت لك المشكلة على خوادم Qpid، أعِد تشغيل خوادم Qpid:
- في المثال أعلاه، تظهر الرسالة "غير معروف" لخوادم Postgres، لذا عليك
إعادة تشغيل كل من خادمَي Postgres الرئيسيين والتابعين:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
معرّفات UUID قديمة لخادم "إحصاءات Google"
التشخيص
- احصل على إعدادات التحليلات باستخدام طلب بيانات من واجهة برمجة التطبيقات التالي:
curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
إليك نموذج للنتائج من واجهة برمجة التطبيقات أعلاه:
[ { "name" : "axgroup001", "properties" : { "consumer-type" : "ax" }, "scopes" : [ "myorg~prod", "myorg~test" ], "uuids" : { "aries-datastore" : [ ], "postgres-server" : [ "6777...2db14" ], "dw-server" : [ ], "qpid-server" : [ "774e...fb23", "29f3...8c11" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "774e...8c11" ], "datastores" : [ "6777...db14" ], "properties" : { } } ], "data-processors" : { } } ]
- تأكَّد من أنّ المعلومات التالية في النتائج صحيحة:
- أسماء المؤسسات والبيئات المُدرَجة في العنصر "النطاقات"
- معرّفات UUID لخوادم Postgres وخوادم Qpid
- احصل على معرّفات UUID لخادم Postgres من خلال تشغيل الأمر التالي على كل عقدة من
عقد خادم Postgres:
curl 0:8084/v1/servers/self/uuid
- احصل على معرّفات UUID لخادم Qpid من خلال تشغيل الأمر التالي على كل عقدة من عقد خادم Qpid:
curl 0:8083/v1/servers/self/uuid
- احصل على معرّفات UUID لخادم Postgres من خلال تشغيل الأمر التالي على كل عقدة من
عقد خادم Postgres:
- إذا كانت جميع المعلومات صحيحة، انتقِل إلى بيانات "إحصاءات Google" لا يتم إرسالها إلى قاعدة بيانات Postgres.
- إذا كانت معرّفات UUID لخادمَي Postgres و/أو Qpid غير صحيحة، قد يشير ذلك إلى أنّ "خوادم الإدارة" تشير إلى معرّفات UUID قديمة.
الدقة
لإزالة معرّفات UUID القديمة وإضافة معرّفات UUID الصحيحة للخوادم، تواصَل مع فريق دعم Apigee Edge.