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

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

المشكلة

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

No traffic in the selected date range

رسائل الخطأ

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

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

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

السبب موجَّه إلى
عدم تلقّي زيارات من واجهة برمجة التطبيقات لبيئة المؤسسة Edge لمستخدمي السحابة الإلكترونية الخاصة
البيانات المتوفرة في قاعدة بيانات Postgres، ولكن لا يتم عرضها في واجهة المستخدم Edge لمستخدمي السحابة الإلكترونية الخاصة
عدم إرسال بيانات "إحصاءات Google" إلى قاعدة بيانات Postgres Edge لمستخدمي السحابة الإلكترونية الخاصة
نشر "إحصاءات Google" غير صحيح Edge لمستخدمي السحابة الإلكترونية الخاصة
المعرّفات الفريدة العالمية (UUID) لخادم "إحصاءات Google" القديمة Edge لمستخدمي السحابة الإلكترونية الخاصة

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

التشخيص

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

الدقة

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

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

المشكلة

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

للتحقّق مما إذا كانت أحدث بيانات "إحصاءات Google" متاحة في مقالة Postgres Master العقدة:

  1. قم بتسجيل الدخول إلى كل خادم من خوادم Postgres وقم بتشغيل الأمر التالي للتحقق مما إذا كنت في عقدة Master Postgres:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    
  2. في عقدة Master 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 على العقدة الرئيسية، فاتبع الخطوات التالية لتشخيص سبب عدم عرض البيانات في واجهة مستخدم Edge.

التشخيص

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

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

  3. يمكنك إجراء طلب واجهة برمجة التطبيقات للإدارة مباشرةً والتحقّق من حصولك على النتائج. إليك نموذج لواجهة برمجة تطبيقات لطلب علامة التبويب "اليوم" في لوحة بيانات أداء الخادم الوكيل:
    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 Server إلى قاعدة بيانات Postgres كما هو محدّد في البيانات المتاحة في قاعدة بيانات Postgres، ولكن لم تظهر في واجهة المستخدم، عليك تنفيذ الخطوات التالية:

  1. تأكَّد مما إذا كان كل خادم من خوادم Qpid جاهزًا ويشغّله من خلال تنفيذ الأمر التالي:
    /opt/apigee/bin/apigee-service edge-qpid-server status
    
  2. في حال تعطُّل أي خادم Qpid، عليك إعادة تشغيله. إذا لم يكن الأمر كذلك، انتقِل مباشرةً إلى الخطوة رقم 5.
    /opt/apigee/bin/apigee-service 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 Server إلى قاعدة بيانات Postgres.

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

الدقة

  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 على أنّه "تم بنجاح"، ستشير هذه الحالة إلى توصيل خوادم التحليلات سلكيًا بشكل صحيح. متابعة إلى قديم المعرّف الفريد العالمي لخادم "إحصاءات Google"
    2. في حال ظهور حالة خوادم Qpid/Postgres على أنّها UNKNOWN أو "فشل"، إذًا يشير إلى مشكلة في الخادم المقابل.

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

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

الدقة

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

  1. إعادة تشغيل كل خادم من الخوادم التي تشير حالة أسلاك تحليلاتها إلى "فشل" أو "غير معروف" باستخدام الأمر التالي:
    /opt/apigee/apigee-service/bin/apigee-service component restart
    
  2. مثل:
    1. إذا رأيت المشكلة على خوادم Qpid، أعد تشغيل خوادم Qpid:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      
    2. إذا رأيت المشكلة على خوادم Postgres، فأعد تشغيل كل من Master وSlave. عُقد خادم 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. أسماء بيئة المؤسسة المدرَجة في "النطاقات" العنصر.
    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. إذا كانت المعرفات الفريدة العالمية لخوادم Postgres و/أو Qpid غير صحيحة، فربما تشير خوادم الإدارة إلى أرقام تعريف فريدة (UUID) قديمة.

الدقة

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