תם הזמן הקצוב לתפוגה של הדוח

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

תיאור הבעיה

כשמשתמשים בסקריפט 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 בענן פרטי

הסיבה: הגדרה של מספר קבוצות AX

אבחון

  1. מפעילים את ה-API הבא של ניהול קבוצות ב-Analytics ובודקים אם בפלט מוצגות יותר מקבוצת ניתוח נתונים אחת. לדוגמה:

    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 לא כולל הודעה msgIn msgOut בייטים bytesIn bytesOut חסרונות bind
    140995fe-71a7-4000-a1f4-71b7a951da7f:0.0 Y Y 0 0 0 0 0 0 1 2
    ax-q-axgroup-001-consumer-group-001 Y 0 0 0 0 0 0 12 2
    ax-q-axgroup-001-consumer-group-001-dl Y 0 0 0 0 0 0 0 2
    ax-q-axgroup001-consumer-group-001 Y 0 241 קראט 241 קראט 0 21.7 גר' 21.7 גר' 12 2
    ax-q-axgroup001-consumer-group-001-dl Y 323 323 0 52.4 חודשים 52.4 חודשים 0 0 2

    מאחר שלא מגיעות הודעות או תנועה לקבוצת ניתוח הנתונים axgroup-001 הספציפית, אתם רואים את השגיאה "פג הזמן הקצוב לדוח" במרכז הבקרה בממשק המשתמש של Edge או במרכזי הבקרה של ניתוח נתונים.

רזולוציה

כדי לפתור את הבעיה, צריך למחוק את הנכס axgroup שלא כולל היקפי הרשאות ולא מקבל תנועה.

כך מוחקים את axgroup :

שלב 1: מוחקים את הצרכנים של קבוצת ה-axgroup הספציפית.

  1. כדי להסיר כל אחד מהצרכנים מ-axgroup, צריך להשתמש בממשק ה-API הבא לניהול:

    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. חוזרים על אותה קריאה ל-API שצוינה למעלה אם יש כמה צרכנים, ומציינים את ה-UUID של כל צרכן בקריאה נפרדת ל-API.

    בדוגמה שלמעלה, ה-API הבא מסיר את הצרכן עם 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. בדוגמה הנוכחית, מריצים מחדש את אותו API כדי למחוק את הצרכן השני שה-UUID שלו הוא 7794c428-e553-4ed2-843d-69f93bbec8a3.

שלב 2 : מסירים את קבוצות הצרכנים

  1. כדי להסיר את קבוצות הצרכן מה-axgroup הספציפי, צריך להשתמש בממשק ה-API הבא לניהול:

    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}'
    

    דוגמה:

    ב-API הבא נמחק השם של קבוצת הצרכנים 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 הספציפי, צריך להשתמש בממשק ה-API הבא לניהול.

    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, הריצו מחדש את אותה קריאה ל-API.

    דוגמה:

    משתמשים ב-API הבא כדי למחוק את שרת ה-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 אחד, משתמשים בממשק ה-API הבא כדי למחוק את שרת 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. אם יש לך הגדרה של Master ו-Postgres, אפשר להשתמש בממשק ה-API הבא כדי למחוק את שרתי 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 ראשיים ועבדים, כך שאתם יכולים להשתמש ב-API הבא כדי למחוק את שרתי 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. כדי להסיר את הקבוצה לניתוח נתונים, משתמשים בממשק ה-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. כדי לבדוק אם הקבוצה הספציפית לניתוח נתונים הוסרה לחלוטין, משתמשים בממשק ה-API הבא:

    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. מפעילים מחדש את שרת end-postgres-server.
  4. מפעילים מחדש את apigee-postgresql.

שלב 8: אימות

לבדוק אם הנתונים מופיעים במרכזי הבקרה של ניתוח נתונים.

אם הבעיה עדיין נמשכת, עוברים אל פרטי האבחון שחובה לאסוף.

יש לאסוף פרטי אבחון

אם הבעיה נמשכת גם לאחר ביצוע ההוראות שלמעלה, יש לאסוף את פרטי האבחון הבאים. פונים לתמיכה של Apigee Edge ומשתפים את המידע שנאסף.

  1. הגדרת הארכיטקטורה של ההתקנה בענן הפרטי (כמה מארחים מגדירים, מספר הרכיבים של כל אחד).
  2. פלט של הפקודות הבאות:

    1. קבוצה ב-Analytics

      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