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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

תיאור הבעיה

כשמשתמשים בסקריפט apigee-provision כדי ליצור ארגון חדש, לפעמים הסקריפט מסתיים ומוצגת לו הודעת שגיאה. לאחר השגיאה הזו, אם תנסו להציג את מרכז השליטה בממשק המשתמש של Edge או מרכזי בקרה של Analytics, תוצג הודעת השגיאה תם הזמן הקצוב לתפוגה של הדוח עבור הארגון החדש שנוצר.

הודעת שגיאה

כשמריצים את הסקריפט 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 לא כולל msg 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.4m 52.4m 0 0 2

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

רזולוציה

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

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

שלב 1: מחיקת הצרכנים של קבוצת ה-axter

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

    דוגמה:

    השם של קבוצת הצרכנים consumer-group-001: נמחק על ידי ה-API הבא:

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

    דוגמה:

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

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

    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.
  3. הפעלה מחדש של edge-postgres-server.
  4. צריך להפעיל מחדש את apigee-postgresql.

שלב 8: מאמתים

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

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

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

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

  1. ההגדרה הארכיטקטונית של ההתקנה של הענן הפרטי (כמה מארחים הגדירו, מספר של כל אחד מהרכיבים).
  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