אתם צופים במסמכי התיעוד של 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 Private Cloud |
הגורם: הגדרה של כמה קבוצות AX
אבחון
מריצים את Analytics Groups management API הבא ובודקים אם בפלט מוגדרת יותר מקבוצת ניתוח אחת. לדוגמה:
curl -u adminEmail:adminPwd http://<ms_ip>:8080/v1/analytics/groups/axפלט לדוגמה שבו מוצגות שתי קבוצות Analytics
{ "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.
בודקים שלכל קבוצות הניתוח הוגדרו היקפים.
בדוגמה של פלט קבוצות Analytics שמוצגת למעלה, לקבוצת Analytics axgroup-001 לא מוגדרים היקפים, אבל עדיין מוגדרים לה שרתי Postgres כמאגרי נתונים.
מריצים את הפקודה הבאה של נתוני תור Qpid בשרתי Qpid, ומוודאים שלא מגיעים הודעות לקבוצת הניתוח הספציפית שזוהתה בשלב 2.
qpid-stat -qדוגמה לנתונים סטטיסטיים של תור Qpid
הנתונים הסטטיסטיים הבאים של תור Qpid מציינים שאין הודעות שמגיעות לתור של קבוצת Analytics הספציפית מהדוגמה שצוינה למעלה (axgroup-001):
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons 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 241K 241K 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 UI או בלוחות הבקרה של הניתוח.
רזולוציה
כדי לפתור את הבעיה, צריך למחוק את axgroup שלא מוגדרים לו היקפי הרשאות והוא לא מקבל תנועה.
כדי למחוק את axgroup, פועלים לפי השלבים הבאים :
שלב 1: מחיקת הצרכנים של קבוצת ה-axgroup הספציפית.
כדי להסיר כל אחד מהצרכנים מ-
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}'אם יש כמה צרכנים, חוזרים על אותה קריאה ל-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 }מריצים מחדש את אותו API כדי למחוק את הצרכן השני שמזהה ה-UUID שלו הוא 7794c428-e553-4ed2-843d-69f93bbec8a3 בדוגמה הזו.
שלב 2 : הסרת קבוצות הצרכנים
כדי להסיר את קבוצות הצרכנים מ
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-servers מ-axgroup
כדי למחוק את
qpid-serversמaxgroupמסוים, משתמשים ב-Management 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"אם יש כמה שרתי 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
אם יש רק שרת Postgres אחד, אפשר להשתמש ב-Management API הבא כדי למחוק אותו:
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"אם הגדרתם שרת ראשי ושרת משני של 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: מסירים את קבוצת הניתוח
כדי להסיר את קבוצת הניתוח, משתמשים ב-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: בודקים אם הקבוצה הוסרה לגמרי
כדי לבדוק אם קבוצת הניתוח הספציפית הוסרה לחלוטין, משתמשים ב-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:
- מפעילים מחדש את apigee-qpidd.
- מפעילים מחדש את edge-qpid-server.
- מפעילים מחדש את edge-postgres-server.
- מפעילים מחדש את apigee-postgresql.
שלב 8: אימות
בודקים אם הנתונים מופיעים בלוחות הבקרה של ניתוח הנתונים.
אם הבעיה נמשכת, עוברים אל איסוף מידע לצורך אבחון.
איסוף חובה של נתוני אבחון
אם הבעיה נמשכת גם אחרי שמבצעים את ההוראות שלמעלה, צריך לאסוף את פרטי האבחון הבאים. פונים אל התמיכה של Apigee Edge ומשתפים את המידע שנאסף.
- הגדרת הארכיטקטורה של ההתקנה של הענן הפרטי (כמה מארחים הוגדרו, מספר כל אחד מהרכיבים).
פלט של הפקודות הבאות:
קבוצת Analytics
curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/analytics/groups/axנתוני סטטיסטיקה של תור Qpid בכל אחת ממכונות Qpid
qpid-stat -qסטטוס Analytics
curl -u sysadminEmail:sysadminPwd http://{mgmt-server-host}:8080/v1/organizations/{org-name}/environments/{environment-name}/provisioning/axstatus