عدم ظهور البيانات في لوحات بيانات الإحصاءات

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

المشكلة

لا تعرض لوحات بيانات الإحصاءات (أداء الخادم الوكيل وأداء الهدف وما إلى ذلك) أي بيانات في واجهة مستخدم New Edge. تعرض جميع لوحات البيانات الرسالة التالية:

No traffic in the selected date range

رسائل الخطأ

لا تؤدي هذه المشكلة إلى حدوث أخطاء يمكن ملاحظتها.

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

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

السبب موجَّه إلى
No API Traffic for Organization-Environment مستخدمو Edge for Private Cloud
البيانات متاحة في قاعدة بيانات Postgres، ولكنها لا تظهر في واجهة مستخدم New Edge مستخدمو Edge for Private Cloud
عدم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres مستخدمو Edge for Private Cloud
نشر "إحصاءات Google" بشكل غير صحيح مستخدمو Edge for Private Cloud
معرّفات UUID القديمة لخادم "إحصاءات Google" مستخدمو Edge for Private Cloud

عدم توفّر زيارات لواجهة برمجة التطبيقات في المؤسسة والبيئة

التشخيص

  1. تحقَّق مما إذا كان هناك عدد زيارات لـ "وكلاء واجهة برمجة التطبيقات" في بيئة المؤسسة المحدّدة للمدة المحدّدة التي تحاول فيها عرض بيانات الإحصاءات باستخدام إحدى الطرق التالية:
    1. فعِّل التتبُّع لأي من واجهات برمجة التطبيقات التي يستخدمها المستخدمون حاليًا وتحقَّق مما إذا كان بإمكانك الحصول على أي طلبات في التتبُّع.
    2. اطّلِع على سجلّات الوصول إلى NGINX (/opt/apigee/var/log/edge-router/nginx/logs/access.log)) وتحقَّق مما إذا كانت هناك أي إدخالات جديدة لـ "خوادم وكيل واجهة برمجة التطبيقات" للمدة المحدّدة.
    3. إذا كنت تسجّل معلومات من خوادم وكيل واجهة برمجة التطبيقات إلى خادم سجلّ، مثل Syslog وSplunk وLoggly وما إلى ذلك، يمكنك التحقّق مما إذا كانت هناك أي إدخالات في خوادم السجلّ هذه لخوادم وكيل واجهة برمجة التطبيقات خلال المدة المحدّدة.
  2. إذا لم تكن هناك زيارات (أي لم يتم إرسال طلبات بيانات من واجهة برمجة التطبيقات) خلال المدة المحدّدة، لن تكون بيانات الإحصاءات متاحة. ستظهر لك الرسالة "ما مِن زيارات في النطاق الزمني المحدّد" في لوحة بيانات الإحصاءات.

الدقة

  1. أجرِ بعض الطلبات إلى خادم وكيل واحد أو أكثر لواجهة برمجة التطبيقات في بيئة المؤسسة المحدّدة.
  2. انتظِر بضع ثوانٍ، ثم اطّلِع على لوحات بيانات الإحصاءات في علامة التبويب "الساعة" لمعرفة ما إذا كانت البيانات تظهر.
  3. إذا استمرّت المشكلة، انتقِل إلى البيانات متاحة في قاعدة بيانات Postgres، ولكن لا تظهر في واجهة مستخدم Edge الجديدة.

البيانات متاحة في قاعدة بيانات Postgres، ولكن لا يتم عرضها في واجهة مستخدم Edge الجديدة

المشكلة

أولاً، حدِّد مدى توفّر أحدث بيانات "إحصاءات Google" في قاعدة بيانات Postgres.

للتأكّد من توفّر أحدث بيانات "إحصاءات Google" في عقدة Postgres Master، اتّبِع الخطوات التالية:

  1. سجِّل الدخول إلى كل خادم من خوادم Postgres وشغِّل الأمر التالي للتحقّق مما إذا كنت على عقدة Master Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
  2. على عقدة Postgres الرئيسية، سجِّل الدخول إلى PostgreSQL:
    psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
  3. تحقَّق مما إذا كان الجدول متوفّرًا لبيئة مؤسستك باستخدام طلب SQL التالي في قاعدة بيانات Postgres:
    \d analytics."orgname.envname.fact"
  4. تحقَّق مما إذا كانت أحدث البيانات متاحة في قاعدة بيانات Postgres باستخدام استعلام SQL التالي:
    select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
  5. إذا كان الطابع الزمني الأخير قديمًا جدًا (أو فارغًا)، يشير ذلك إلى أنّ البيانات غير متوفّرة في قاعدة بيانات Postgres. السبب المحتمل لهذه المشكلة هو عدم إرسال البيانات من خادم Qpid إلى قاعدة بيانات Postgres. انتقِل إلى عدم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres.
  6. إذا كانت أحدث البيانات متاحة في قاعدة بيانات Postgres على عقدة Master، اتّبِع الخطوات التالية لتحديد سبب عدم عرض البيانات في واجهة مستخدم New Edge.

التشخيص

  1. فعِّل أدوات المطوّرين في متصفّح Chrome واحصل على واجهة برمجة التطبيقات المستخدَمة من إحدى لوحات بيانات الإحصاءات باتّباع الخطوات التالية:
    1. اختَر علامة التبويب "الشبكة" من "أدوات المطوّرين".
    2. ابدأ التسجيل.
    3. أعِد تحميل لوحة بيانات "إحصاءات Google".
    4. في اللوحة اليمنى في "أدوات المطوّرين"، اختَر الصف الذي يتضمّن "apiproxy?_optimized...".
    5. في اللوحة اليمنى ضمن "أدوات المطوّرين"، انقر على علامة التبويب "العناوين" (Headers) واحتفظ بعنوان "عنوان URL للطلب" (Request URL).
  2. في ما يلي نموذج للنتائج من "أدوات المطوّرين":

    نموذج للناتج يعرض واجهة برمجة التطبيقات المستخدَمة في لوحة بيانات "أداء الخادم الوكيل" من علامة التبويب "الشبكة" في "أدوات المطوّرين" الخاصة بلوحة بيانات "أداء الخادم الوكيل"

  3. نفِّذ طلب البيانات من Management API مباشرةً وتحقَّق مما إذا كنت ستحصل على النتائج. في ما يلي نموذج لطلب بيانات من واجهة برمجة التطبيقات لعلامة التبويب "اليوم" في لوحة بيانات "أداء الخادم الوكيل":
    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"
  4. إذا ظهرت استجابة ناجحة ولكن بدون أي بيانات، يشير ذلك إلى أنّ "خادم الإدارة" غير قادر على جلب البيانات من خادم Postgres بسبب مشاكل في الاتصال بالشبكة.
  5. تحقَّق مما إذا كان بإمكانك الاتصال بخادم Postgres من خادم الإدارة:
    telnet Postgres_server_IP_address 5432
  6. إذا لم تتمكّن من الاتصال بخادم Postgres، تحقَّق مما إذا كانت هناك أي قيود على جدار الحماية في المنفذ 5432.
  7. إذا كانت هناك قيود مفروضة على جدار الحماية، قد يكون ذلك هو السبب في عدم تمكّن خادم الإدارة من سحب البيانات من خادم Postgres.

الدقة

  1. إذا كانت هناك قيود على جدار الحماية، عليك إزالتها حتى يتمكّن خادم الإدارة من التواصل مع خادم Postgres.
  2. إذا لم تكن هناك قيود على جدار الحماية، قد يكون سبب هذه المشكلة خللاً في الشبكة.
  3. إذا حدث أي خلل في الشبكة على خادم الإدارة، قد تؤدي إعادة تشغيله إلى حلّ المشكلة.
  4. أعِد تشغيل جميع خوادم الإدارة واحدًا تلو الآخر باستخدام الأمر التالي:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. تحقَّق مما إذا كان بإمكانك الاطّلاع على بيانات الإحصاءات في واجهة مستخدم Edge الجديدة.

إذا لم تظهر لك البيانات بعد، يُرجى التواصل مع فريق دعم Apigee Edge.

لا يتم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres

التشخيص

إذا لم يتم نقل البيانات من خادم Qpid إلى قاعدة بيانات Postgres كما هو محدّد في البيانات المتاحة في قاعدة بيانات Postgres، ولكن لا يتم عرضها في واجهة مستخدم New Edge، اتّبِع الخطوات التالية:

  1. تحقَّق مما إذا كان كل خادم Qpid يعمل من خلال تنفيذ الأمر التالي:
    /opt/apigee/apigee-service/bin edge-qpid-server status
  2. إذا كان أي خادم Qpid متوقفًا، أعِد تشغيله. إذا لم يكن الأمر كذلك، انتقِل إلى الخطوة رقم 5.
    /opt/apigee/apigee-service/bin edge-qpid-server restart
  3. انتظِر بعض الوقت ثم تحقّق مجددًا مما إذا كانت أحدث البيانات متاحة في قاعدة بيانات Postgres.
    1. سجِّل الدخول إلى PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. شغِّل طلب البحث SQL التالي للتحقّق مما إذا كانت أحدث البيانات متاحة:
      select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
  4. إذا كانت أحدث البيانات متاحة، يمكنك تخطّي الخطوات التالية والانتقال إلى الخطوة الأخيرة في قسم "الحلّ". إذا لم تكن أحدث البيانات متاحة، انتقِل إلى الخطوات التالية.
  5. يُرجى التحقّق مما إذا كان يتم إرسال الرسائل من قوائم انتظار خادم Qpid إلى قاعدة بيانات Postgres.
    1. نفِّذ qpid-stat -q command وتحقَّق من قيم عمودَي msgIn وmsgOut.
    2. في ما يلي نموذج لنتيجة تُظهر أنّ msgIn وmsgOut غير متساويَين. يشير ذلك إلى أنّه لا يتم إرسال الرسائل من خادم Qpid إلى قاعدة بيانات Postgres.

  6. إذا كان هناك عدم تطابق في عمودَي msgIn وmsgOut، تحقَّق من سجلّات خادم Qpid /opt/apigee/var/log/edge-qpid-server/system.log لمعرفة ما إذا كانت هناك أي أخطاء.
  7. قد تظهر لك رسائل خطأ مثل "من المحتمل أنّ 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.

الدقة

  1. أعِد تشغيل خادم Postgres وPostgreSQL كما هو موضّح أدناه:
    /opt/apigee/bin/apigee-service edge-postgres-server restart
    
    /opt/apigee/bin/apigee-service apigee-postgresql restart
    
  2. تضمن عملية إعادة التشغيل هذه إيقاف جميع طلبات البحث السابقة في SQL، ومن المفترض أن تسمح باتصالات جديدة بقاعدة بيانات Postgres.
  3. أعِد تحميل لوحات بيانات "إحصاءات Google" وتحقّق مما إذا كانت بيانات "إحصاءات Google" معروضة.

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

نشر "إحصاءات Google" بشكل غير صحيح

التشخيص

  1. يمكنك الحصول على حالة نشر "إحصاءات Google" باستخدام طلب البيانات التالي من واجهة برمجة التطبيقات:
    curl -u user_email:password http://management_server_host:port
    /v1/organizations/orgname/environments/envname/provisioning/axstatus
  2. تحقَّق من حالة خادمَي Qpid وPostgres من نتائج طلب البيانات من واجهة برمجة التطبيقات.
    1. إذا ظهرت حالة خادمي Qpid وPostgres على أنّها "SUCCESS"، يشير ذلك إلى أنّ خوادم الإحصاءات مرتبطة بشكل صحيح. انتقِل إلى معرّفات UUID القديمة لخادم "إحصاءات Google".
    2. إذا كانت حالة خوادم Qpid/Postgres تظهر على أنّها "غير معروفة" أو "تعذّر"، يشير ذلك إلى وجود مشكلة في الخادم المعنيّ.

      على سبيل المثال، يعرض السيناريو التالي حالة خوادم Postgres على أنّها "غير معروفة":

      قد يحدث ذلك في حال حدوث خطأ أثناء إعداد الإحصاءات. يؤدي هذا الخطأ إلى منع وصول الرسائل من خوادم الإدارة إلى خوادم Postgres.

الدقة

يمكن عادةً حلّ هذه المشكلة من خلال إعادة تشغيل الخوادم التي عرضت الحالة "تعذّر" أو "غير معروف".

  1. أعِد تشغيل كل خادم من الخوادم التي أشارت حالة ربط الإحصاءات فيها إلى "فشل" أو "غير معروف" باستخدام الأمر التالي:
    /opt/apigee/apigee-service/bin/apigee-service component restart
  2. على سبيل المثال:
    1. إذا ظهرت المشكلة على خوادم Qpid، أعِد تشغيلها:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    2. إذا ظهرت المشكلة على خوادم Postgres، أعِد تشغيل كل من عقد خادم Postgres الرئيسية والفرعية:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  3. في المثال أعلاه، تظهر الرسالة "UNKNOWN" لخوادم Postgres، لذا عليك إعادة تشغيل كل من خادمي Master وSlave Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

معرّفات UUID القديمة لخادم "إحصاءات Google"

التشخيص

  1. يمكنك الحصول على إعدادات الإحصاءات باستخدام طلب البيانات التالي من واجهة برمجة التطبيقات:
    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" : {
      }
    } ]
  2. تأكَّد من صحة المعلومات التالية في الناتج:
    1. أسماء org-env المدرَجة في عنصر "scopes"
    2. معرّفات UUID لخوادم Postgres وخوادم Qpid
      • احصل على معرّفات UUID لخادم Postgres من خلال تنفيذ الأمر التالي على كل عقدة من عقد خادم Postgres:
        curl 0:8084/v1/servers/self/uuid
      • احصل على معرّفات UUID لخادم Qpid من خلال تشغيل الأمر التالي على كل عقدة من عقد خادم Qpid:
        curl 0:8083/v1/servers/self/uuid
  3. إذا كانت جميع المعلومات صحيحة، انتقِل إلى عدم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres.
  4. إذا كانت معرّفات UUID لخوادم Postgres و/أو Qpid غير صحيحة، من المحتمل أن تكون خوادم الإدارة تشير إلى معرّفات UUID قديمة.

الدقة

لإزالة معرّفات UUID القديمة وإضافة معرّفات UUID الصحيحة للخوادم، يُرجى التواصل مع فريق دعم Apigee Edge.