انتهت مهلة التقرير

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

المشكلة

عند استخدام النص البرمجي apigee-provision لإنشاء مؤسسة جديدة، قد يتم إغلاق النص البرمجي أحيانًا مع ظهور رسالة خطأ. بعد ظهور هذا الخطأ، إذا حاولت عرض لوحة بيانات واجهة مستخدم Edge أو أي لوحات بيانات إحصائية، ستظهر لك رسالة الخطأ انتهت مهلة التقرير للمؤسسة التي تم إنشاؤها حديثًا.

رسالة الخطأ

عند تشغيل النص البرمجي apigee-provision لإنشاء مؤسسة جديدة، قد تظهر لك رسالة الخطأ التالية:

!!!! Error !!!! 
HTTP STATUS CODE: 400 
{ 
"code" : "dataapi.service.PGFoundInMultipleGroups", 
"message" : "dataapi.service.PGFoundInMultipleGroups", 
"contexts" : [ ] 
} 

حتى إذا ظهر لك هذا الخطأ، يمكنك إجراء عمليات على المؤسسة التي تم إنشاؤها حديثًا بعد الخروج من نص البرمجة الخاص بتوفير الموارد. ومع ذلك، عند محاولة عرض لوحة بيانات واجهة مستخدم Edge، ستظهر لك رسالة الخطأ التالية للمؤسسة التي تم إنشاؤها حديثًا:

The report timed out
Try again with a smaller date range or a larger aggregation interval.

إليك لقطة شاشة توضّح الخطأ:

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

السبب الوصف تعليمات تحديد المشاكل وحلّها التي تنطبق على
إعداد مجموعات AX متعددة تم إنشاء مجموعات إحصاءات متعددة باستخدام مجموعة خوادم Postgres نفسها. مستخدمو Edge Private Cloud

السبب: إعداد مجموعات AX متعددة

التشخيص

  1. نفِّذ واجهة برمجة التطبيقات التالية لإدارة "مجموعات إحصاءات Google" وحدِّد ما إذا كانت النتائج تعرض أكثر من مجموعة إحصاءات واحدة محدّدة. على سبيل المثال:

    curl -u adminEmail:adminPwd http://<ms_ip>:8080/v1/analytics/groups/ax
    

    نموذج الناتج الذي يعرض مجموعتَين من الإحصاءات

    {  
     "name":"axgroup-001",
     "properties":{  
     },
     "scopes":[  
     ],
     "uuids":{  
        "qpid-server":[  
           "5c1e9690-7b58-499a-a4bb-d54454474b8f",
           "7794c428-e553-4ed2-843d-69f93bbec8a3"
        ],
        "postgres-server":[  
           "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
        ]
     },
     "consumer-groups":[  
        {  
           "name":"consumer-group-001",
           "consumers":[  
              "5c1e9690-7b58-499a-a4bb-d54454474b8f",
              "7794c428-e553-4ed2-843d-69f93bbec8a3"
           ],
           "datastores":[  
              "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
           ],
           "properties":{
           }
        }
     ],
     "data-processors":{  
     }
    },
    {  
     "name":"axgroup001",
     "properties":{  
        "consumer-type":"ax"
     },
     "scopes":[  
        "017pdspoint~dev",
        "010test~dev",
        "019charmo~dev",
        "009gcisearch1~dev",
        "000fj~trial-fjwan",
        "009dekura~dev",
        "008pisa~dev",
        "004fjadrms~dev",
        "018k5billing~dev",
        "004study14~dev",
        "001teama~dev",
        "005specdb~dev",
        "test~dev",
        "000fj~prod-fjwan",
        "012pjweb~dev",
        "020workflow~dev",
        "007ikou~prod-fjwan",
        "003asano~dev",
        "013mims~dev",
        "006studyhas~dev",
        "006efocus~dev",
        "002wfproto~dev",
        "008murahata~dev",
        "016mediaapi~dev",
        "015skillnet~dev",
        "014aclmanager~dev",
        "010fjppei~dev",
        "000fj~trial",
        "003esupport~dev",
        "000fj~prod",
        "005ooi~dev",
        "test~elb1",
        "007fjauth~dev",
        "011osp~dev",
        "002study~dev",
        "999test~dev"
     ],
     "uuids":{  
        "qpid-server":[  
           "5c1e9690-7b58-499a-a4bb-d54454474b8f",
           "7794c428-e553-4ed2-843d-69f93bbec8a3"
        ],
        "aries-datastore":[  
        ],
        "postgres-server":[  
           "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
        ],
        "dw-server":[  
        ]
     },
     "consumer-groups":[  
        {  
           "name":"consumer-group-001",
           "consumers":[  
              "5c1e9690-7b58-499a-a4bb-d54454474b8f",
              "7794c428-e553-4ed2-843d-69f93bbec8a3"
           ],
           "datastores":[  
              "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e"
           ],
           "properties":{  
           }
        }
     ],
     "data-processors":{  
     }
    }

    توضّح هذه النتيجة أنّ هناك مجموعتَين من مجموعات الإحصاءات، وهما axgroup-001 وaxgroup001.

  2. تأكَّد من تحديد نطاقات لجميع مجموعات الإحصاءات.

    في نموذج ناتج مجموعات الإحصاءات الموضّح أعلاه، لا تتضمّن مجموعة الإحصاءات axgroup-001 أي نطاقات محدّدة، ولكنها لا تزال تتضمّن خوادم Postgres محدّدة كمخازن بيانات.

  3. نفِّذ أمر إحصاءات قائمة انتظار Qpid أدناه على خوادم Qpid وتأكَّد من عدم تلقّي أي رسائل لمجموعة الإحصاءات المحدّدة في الخطوة رقم 2.

    qpid-stat -q
    

    أمثلة على إحصاءات قائمة انتظار Qpid

    تشير إحصاءات قائمة انتظار Qpid التالية إلى عدم توفّر أي رسائل واردة إلى قائمة انتظار مجموعة الإحصاءات المحدّدة من المثال المذكور أعلاه (axgroup-001):

    قائمة الانتظار dur autoDel excl msg msgIn msgOut بايت bytesIn bytesOut السلبيات bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 نعم نعم 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 نعم 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl نعم 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 نعم 0 ‫241 ألف ‫241 ألف 0 ‫21.7 غرام ‫21.7 غرام 12 2
    ax-q-axgroup001-consumer-group-001-dl نعم 323 323 0 ‫52.4 مليون ‫52.4 مليون 0 0 2

    بما أنّه لا توجد رسائل أو زيارات واردة لمجموعة الإحصاءات المحدّدة axgroup-001، يظهر لك الخطأ "انتهت مهلة التقرير" في لوحة بيانات Edge UI أو في لوحات بيانات الإحصاءات.

الدقة

لحلّ هذه المشكلة، احذف axgroup الذي لا يتضمّن أي نطاقات ولا يحصل على أي زيارات.

اتّبِع الإجراء أدناه لحذف axgroup :

الخطوة 1: احذف المستهلكين لمجموعة axgroup معيّنة.

  1. استخدِم واجهة برمجة التطبيقات الإدارية التالية لإزالة كل مستخدم من axgroup:

    curl -v -u admin@email.com:password -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}/consumers/{uuid-of the consumer}'
    
  2. كرِّر طلب البيانات من واجهة برمجة التطبيقات نفسه أعلاه إذا كان هناك مستهلكون متعدّدون، مع ذكر المعرّف الفريد العالمي لكل مستهلك في طلب بيانات منفصل من واجهة برمجة التطبيقات.

    بالنسبة إلى المثال الموضّح أعلاه، تزيل واجهة برمجة التطبيقات التالية المستهلك الذي يحمل المعرّف الفريد العالمي (UUID) 5c1e9690-7b58-499a-a4bb-d54454474b8f:

    curl -v -X DELETE -H 'Accept:application/json' -H 'Content-Type:application/json' 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/5c1e9690-7b58-499a-a4bb-d54454474b8f'
    
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    
  3. أعِد تشغيل واجهة برمجة التطبيقات نفسها لحذف المستهلك الآخر الذي يكون معرّفه الفريد العالمي (UUID) هو 7794c428-e553-4ed2-843d-69f93bbec8a3 في المثال الحالي.

الخطوة 2 : إزالة مجموعات المستهلكين

  1. استخدِم واجهة برمجة التطبيقات الإدارية التالية لإزالة مجموعات المستهلكين من axgroup معيّن:

    curl -v -u admin@email.com:password -X DELETE 'http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/consumer-groups/{consumer-group-name}'
    

    مثال:

    تحذف واجهة برمجة التطبيقات التالية اسم مجموعة المستهلكين consumer-group-001:

    curl -v -X DELETE 'http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001'
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    

الخطوة 3: حذف خوادم qpid من axgroup

  1. استخدِم واجهة برمجة التطبيقات الإدارية التالية لحذف qpid-servers من axgroup معيّن.

    curl -X DELETE -u admin@email.com "http://localhost:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={qpid-server-uuid}type=qpid-server" -H "Content-type: application/json"
    
  2. أعِد تنفيذ طلب واجهة برمجة التطبيقات نفسه إذا كانت هناك خوادم Qpid متعددة.

    مثال:

    استخدِم واجهة برمجة التطبيقات التالية لحذف خادم Qpid الذي يحمل المعرّف الفريد العالمي 7794c428-e553-4ed2-843d-69f93bbec8a3 في المثال الحالي:

    curl -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=7794c428-e553-4ed2-843d-69f93bbec8a3&type=qpid-server" -H "Content-type: application/json"
    
    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f" ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    }
    

الخطوة 4: حذف خوادم postgres من axgroup

  1. استخدِم واجهة برمجة التطبيقات الإدارية التالية لحذف خادم Postgres، إذا كان هناك خادم Postgres واحد:

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-server-uuid}&type=postgres-server&force=true"
    
  2. استخدِم واجهة برمجة التطبيقات الإدارية التالية لحذف خوادم Postgres إذا كان لديك إعداد رئيسي وتابع لـ Postgres

    curl -v -X DELETE -H 'Accept:application/json'  "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}/servers?uuid={postgres-master-uuid,postgres-slave-uuid}&type=postgres-server&force=true"
    

    مثال:

    في المثال الموضّح أعلاه، هناك خادما Postgres رئيسي وثانوي، لذا يمكنك استخدام واجهة برمجة التطبيقات التالية لحذف خادمي Postgres:

    curl -v -X DELETE -H 'Accept:application/json'  "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=3b28b790-ec4e-45c5-a8d0-6d6f2088da65,750cd8ba-1799-4dfb-8c74-548010e95e5e&type=postgres-server&force=true"
    
    {
    "name" : "axgroup-001",
    "properties" : {
    },
    "scopes" : [ ],
    "uuids" : {
    "qpid-server" : [ ],
    "postgres-server" : [ ]
    },
    "consumer-groups" : [ ],
    "data-processors" : {
    }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    
    

الخطوة 5: إزالة مجموعة الإحصاءات

  1. استخدِم واجهة Management API التالية لإزالة مجموعة الإحصاءات:

    curl -v -X DELETE "http://{mgmt-server-host}:8080/v1/analytics/groups/ax/{axgroup-name}"
    

    مثال:

    curl -v -X DELETE "http://localhost:8080/v1/analytics/groups/ax/axgroup-001"
    {
      "properties" : {
      },
      "scopes" : [ ],
      "uuids" : {
      },
      "consumer-groups" : [ ],
      "data-processors" : {
      }
    * Connection #0 to host localhost left intact
    * Closing connection #0
    }
    

الخطوة 6: التحقّق من إزالة المجموعة بالكامل

  1. استخدِم واجهة برمجة التطبيقات الإدارية التالية للتحقّق مما إذا تمت إزالة مجموعة إحصاءات معيّنة بالكامل:

    curl -v -u admin@email.com -X GET "http://{mgmt-server-host}:8080/v1/analytics/groups/ax 
    

    مثال:

    curl localhost:8080/v1/analytics/groups/ax
    [ {
      "name" : "axgroup001",
      "properties" : {
        "consumer-type" : "ax"
      },
      "scopes" : [ "017pdspoint~dev", "010test~dev", "019charmo~dev", "009gcisearch1~dev", "000fj~trial-fjwan", "009dekura~dev", "008pisa~dev", "004fjadrms~dev", "018k5billing~dev", "004study14~dev", "001teama~dev", "005specdb~dev", "test~dev", "000fj~prod-fjwan", "012pjweb~dev", "020workflow~dev", "007ikou~prod-fjwan", "003asano~dev", "013mims~dev", "006studyhas~dev", "006efocus~dev", "002wfproto~dev", "016mediaapi~dev", "015skillnet~dev", "014aclmanager~dev", "010fjppei~dev", "000fj~trial", "003esupport~dev", "000fj~prod", "005ooi~dev", "test~elb1", "007fjauth~dev", "011osp~dev", "002study~dev" ],
      "uuids" : {
        "qpid-server" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "aries-datastore" : [ ],
        "postgres-server" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "dw-server" : [ ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "5c1e9690-7b58-499a-a4bb-d54454474b8f", "7794c428-e553-4ed2-843d-69f93bbec8a3" ],
        "datastores" : [ "3b28b790-ec4e-45c5-a8d0-6d6f2088da65:750cd8ba-1799-4dfb-8c74-548010e95e5e" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    } ]
    

    لاحظ أنّه لا تتوفّر معلومات تتعلّق بمجموعة إحصاءات معيّنة axgroup-001 في الناتج أعلاه. يؤكّد ذلك أنّه تمت إزالة axgroup-001 بالكامل.

الخطوة 7: إعادة تشغيل العمليات

العمليات التالية على أجهزة Qpid وPostgres:

  1. أعِد تشغيل apigee-qpidd.
  2. أعِد تشغيل edge-qpid-server.
  3. أعِد تشغيل edge-postgres-server.
  4. أعِد تشغيل apigee-postgresql.

الخطوة 8: تأكيد

تأكَّد مما إذا كانت البيانات تظهر في لوحات بيانات الإحصاءات.

إذا استمرت المشكلة، انتقِل إلى جمع معلومات التشخيص الضرورية.

Must Gather Diagnostic Information

إذا استمرت المشكلة حتى بعد اتّباع التعليمات أعلاه، يُرجى جمع معلومات التشخيص التالية. تواصَل مع فريق دعم Apigee Edge وشارك المعلومات التي جمعتها.

  1. إعداد بنية عملية تثبيت Private Cloud (عدد عمليات الإعداد، وعدد كل مكون).
  2. ناتج الأوامر التالية:

    1. مجموعة الإحصاءات

      curl -u sysadminEmail:sysadminPwd   http://{mgmt-server-host}:8080/v1/analytics/groups/ax
      
    2. إحصاءات قائمة انتظار Qpid على كل أجهزة Qpid

      qpid-stat -q
      
    3. حالة Analytics

      curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/organizations/{org-name}/environments/{environment-name}/provisioning/axstatus