כרגע מוצג התיעוד של 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 מרובות
אבחון
צריך להפעיל את ה-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.
מוודאים שכל הקבוצות של ניתוח הנתונים הוגדרו בהיקפים.
בפלט של קבוצת ניתוח הנתונים לדוגמה שמוצג למעלה, לא הוגדרו היקפים לקבוצת ניתוח הנתונים axgroup-001, אבל עדיין יש בה שרתי Postgres שמוגדרים כמאגרי נתונים.
יש להפעיל את פקודת הנתונים הסטטיסטיים של תור ה-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
צריך להשתמש בממשק ה-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}'
אם יש כמה צרכנים, יש לחזור על אותה קריאה ל-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}'
דוגמה:
השם של קבוצת הצרכנים 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
אפשר להשתמש בממשק ה-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"
אם יש כמה שרתי 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 אחד, משתמשים בממשק ה-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"
אם יש לך הגדרה של מאסטר ו-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
כדי להסיר את הקבוצה ניתוח נתונים, צריך להשתמש ב-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 לניהול הבא כדי לבדוק אם קבוצת 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:
- מפעילים מחדש את ה-apigee-qpidd.
- מפעילים מחדש את שרת ה-edge-qpid.
- הפעלה מחדש של edge-postgres-server.
- צריך להפעיל מחדש את apigee-postgresql.
שלב 8: מאמתים
בודקים אם הנתונים מופיעים במרכזי הבקרה של ניתוח הנתונים.
אם הבעיה נמשכת, יש לעבור למאמר יש לאסוף פרטי אבחון.
יש לאסוף פרטי אבחון
אם הבעיה נמשכת גם אחרי שביצעתם את ההוראות שלמעלה, יש לאסוף את פרטי האבחון הבאים. צריך לפנות לתמיכה של Apigee Edge ולשתף את המידע שנאסף.
- ההגדרה הארכיטקטונית של ההתקנה של הענן הפרטי (כמה מארחים הגדירו, מספר של כל אחד מהרכיבים).
פלט של הפקודות הבאות:
קבוצת ניתוח נתונים
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