ריכזנו כאן כמה בעיות נפוצות ושלבים לפתרון בעיות בשילוב של מחבר מרכז ה-API.
נתוני המטא של ה-API לא מוצגים ב-API Hub
- זמן הסנכרון הראשוני: יכולות לחלוף כמה שעות עד שהסנכרון הראשוני יתחיל ועד שנתוני ה-API יופיעו ב-API Hub. מומלץ להמתין כמה שעות.
- סטטוס של מופע הפלאגין: מוודאים שמופע הפלאגין במרכז ה-API לא נמחק או השתנה.
- מזהה שער: מוודאים שמזהה השער הנכון מוגדר בצורה תקינה בהגדרות של מחבר מרכז ה-API של Apigee Edge ל-Private Cloud.
- בדיקת היומנים: בודקים אם יש שגיאות שמתועדות ביומני השירות של מחבר מרכזיית ה-API של Edge for Private Cloud
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
.
ה-Proxy נפרס, אבל המידע במרכז ה-API לא מדויק
- השהיית הפצה: יכול להיות שיעברו כמה דקות עד שפרטי ה-proxy שהופעל יופצו ויופיעו במרכז ה-API.
- בדיקת היומנים: בודקים את היומנים של מחבר מרכז ה-API של Edge for Private Cloud כדי לקבל פרטים על שרתי proxy שהועלו. כך אפשר לזהות אם העדכון של השרת הפרוקסי עובד כמו שצריך לצורך סנכרון.
הסנכרון של הארגון של המשתמש הופסק בלי שבוצעו שינויים במחבר של API Hub
- הסטטוס של מופע הפלאגין (ב-API Hub): צריך לוודא שמופע הפלאגין המשויך ב-API Hub לא בוטל, נמחק או שונה. כל שינוי בצד של API Hub יכול להשפיע ישירות על הסנכרון ממחבר API Hub.
- בדיקת יומנים: בודקים את היומנים של מחבר מרכז ה-API של Edge for Private Cloud כדי לראות אם יש שגיאות, אזהרות או בעיות שיכולות להצביע על שיבוש בתהליך הסנכרון. יכול להיות שהבעיה קשורה לקישוריות או לאימות במרכז ה-API.
באמצעות ה-Status API (מומלץ לארגונים שהצטרפו):
ה-API של הסטטוס מספק דרך ישירה לראות אילו ארגונים הצטרפו ומתבצע בהם סנכרון פעיל.
פתרון בעיות על סמך יומנים
איפה מאוחסנים היומנים של מחבר ה-API Hub?
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
איך מקבלים מידע על הארגונים שמופעלים?
כדי לדעת אילו ארגונים מופעלים כרגע ומסונכרנים, אפשר להשתמש בממשק ה-API של הסטטוס ולבדוק את יומני המערכת.
- פעולה: קוראים לנקודת הקצה (endpoint) של ה-API של הסטטוס.
- הפלט הצפוי: ארגונים שהביעו הסכמה יופיעו בקטעים
apiSyncStatus
ו-analyticsSyncStatus
בתשובת ה-API. ארגונים שמופעל בהם סנכרון מטא-נתונים יופיעו בקטעapiSyncStatus
, וארגונים שמופעל בהם סנכרון בזמן ריצה יופיעו בקטעanalyticsSyncStatus
.{ "apiSyncStatus": [ { "organization": "foo", "phase": "Preparing", // ColdTransfer => Preparing "components": [ "proxy": { "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 100, // total proxies known to uapim connector "pendingItems": 90, // pending proxies to upload "completedItems": 6, // completed proxies to upload "failedItems": 4 // proxies failed to upload } }, "environment": { //environment upload status "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 5, // total number of environments "pendingItems": 1, // pending environments to process "completedItems": 3, // completed environment processing "failedItems": 1 // failed environment processing } }] }, { "organization": "bar", "phase": "Processing", // "Streaming" -> "Processing" "components": [ "proxy": { "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 110, // total proxies known to uapim connector "pendingItems": 16, // pending proxies to upload "completedItems": 3, // completed proxies to upload "failedItems": 1 // proxies failed to upload } }, "environment": { "lastUpdated": "2025-04-16T00:56:45Z", "progress": { "totalItems": 5, // total number of environments "pendingItems": 3, // pending environments to process "completedItems": 1, // completed environment processing "failedItems": 1 // failed environment processing } }] }, { "organization": "test", "phase": "Queued", // "Yet to start" -> "Queued" "lastUpdated": "2025-04-16T00:56:45Z" } ], "analyticsSyncStatus": [ { "organization": "test", "environment": "dev", "failedItems": 2, "lastUpdated": "2025-04-16T00:56:45Z" }, { "organization": "test", "environment": "prod", "failedItems": 4, "lastUpdated": "2025-04-16T00:56:45Z" } ] }
- בדיקת יומני המערכת: כדי לקבל תצוגה מפורטת יותר ולאשר את הגדרת הסנכרון לארגונים ספציפיים, אפשר לבדוק את יומני המערכת ולחפש רשומות ספציפיות.
- בדיקת היומנים:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- פקודות חיפוש: משתמשים ב-
grep
או בכלים דומים לחיפוש ביומן כדי למצוא את השורות הבאות ביומן:- לסנכרון מטא-נתונים של org metadata-org:
grep "Setup metadata sync for organization: metadata-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- דוגמה לקטע יומן:
2025-07-10 08:47:09,901 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupMetadataSync() : Setup metadata sync for organization: metadata-org
- מחפשים את הטקסט הגדרת סנכרון מטא נתונים לארגון: ואחריו את שם הארגון.
- לסנכרון נתונים בזמן ריצה של org runtime-org:
grep "Setup runtime data sync for organization: runtime-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- דוגמה לקטע יומן:
2025-07-10 08:47:09,902 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.setupRuntimeSyncData() : Setup runtime data sync for organization: runtime-org
- מחפשים את הטקסט הגדרה של סנכרון נתוני זמן ריצה לארגון: ואחריו את שם הארגון.
- לסנכרון מטא-נתונים של org metadata-org:
- בדיקת היומנים:
איך אפשר לקבל מיומנים מידע על כל (הארגונים,הסביבות) שלא הצליחו להפעיל אותם?
כדי לקבל מידע על ארגונים שההפעלה שלהם נכשלה, אפשר לבדוק את יומני המערכת ולחפש רשומות שגיאה ספציפיות.
- בדיקת היומנים:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- פקודות חיפוש: משתמשים ב-
grep
או בכלי חיפוש יומנים דומים כדי למצוא שורות יומן שמציינות שגיאה במהלך עדכון סטטוס סנכרון המטא-נתונים.- לעדכוני סטטוס של סנכרון מטא-נתונים שנכשלו עבור org/env failed-org/failed-env:
grep "Error while updating metadata sync status for org: failed-org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- דוגמה לקטע יומן:
2025-07-15 10:30:15,123 main ERROR c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateMetadataSyncStatus() : Error while updating metadata sync status for org: failed-org
- מחפשים את הטקסט
Error while updating metadata sync status for org/env:
ואחריו את הארגון והסביבה (לדוגמה, failed-org/failed-env).
- לעדכוני סטטוס של סנכרון מטא-נתונים שנכשלו עבור org/env failed-org/failed-env:
איך אפשר לקבל סיכום של שינוי סטטוס ההעברה של הארגון מתוך היומנים?
כדי לקבל סיכום של מועד העדכון של מצב ההעברה של סנכרון (ארגון, סביבה), אפשר לבדוק את יומני המערכת ולחפש רשומות ספציפיות.
- בדיקת היומנים:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- פקודות חיפוש אפשר להשתמש ב-
grep
או בכלי חיפוש דומים ביומן כדי למצוא שורות ביומן שמציינות עדכון של סטטוס ההעברה של ארגון וסביבה.- לעדכוני סטטוס של העברה:
grep "Transfer status is updated for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- דוגמה לקטע יומן:
2025-07-15 18:35:01,789 main INFO c.a.u.c.UAPIMConnectorServiceImpl - UAPIMConnectorServiceImpl.updateTransferStatus() : Transfer status is updated for org: org1 to BULK_TRANSFER 2025-07-10 08:47:11,364 main INFO c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.updateEnvironmentStatus() : Transfer status is updated for org: org1 to STREAMING
- מחפשים את הטקסט המדויק 'סטטוס ההעברה עודכן עבור org/env' ואחריו את הארגון והסביבה הספציפיים (לדוגמה, org1/prod) ואת המצב.
- לעדכוני סטטוס של העברה:
כדי לראות רשומות ביומן שקשורות לאיסוף ולהעלאה של נתוני פרוטו של שרתים ספציפיים, אפשר לחפש שורות ספציפיות ביומן.
- מיקום קובץ היומן:
/opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- פקודות חיפוש: אפשר להשתמש ב-
grep
או בכלי חיפוש דומים ביומן כדי למצוא שורות ביומן שמציינות את ההעלאה של נתוני פרוטו שנאספו עבור ארגון ושרת proxy ספציפיים.- תרחיש הצלחה: פרוטוקול ה-proxy מועלה אל API Hub. במקרה הזה, מחפשים את הטקסט 'uploaded collect proto for org: {}, proxy: {},'
grep "uploaded collect proto for org: your-org-name, proxy: your-proxy-name, with messageId:" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
- מחליפים את
-org-name
בשם הארגון בפועל ואת your-proxy-name בשם השרת בפועל שמעניין אתכם. קטע יומן לדוגמה:2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : uploaded collect proto for org: org1, proxy: proxy1, with messageId: message_ids: "15569268426032329"
מחפשים את הטקסט "uploaded collect proto for org: " ואחריו את שם הארגון, ואז ", proxy: " ואחריו את שם ה-proxy.
- תרחיש של כשל: ההעלאה של פרוטוקול ה-proxy אל API Hub נכשלה. במקרה כזה, מחפשים את הטקסט Failed to publish collect proto for org: {}, proxy: {},"
grep "Failed to publish collect proto for org: your-org-name, proxy: your-proxy-name, " /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
מחליפים את your-org-name בשם הארגון האמיתי ואת your-proxy-name בשם השרת הפרוקסי האמיתי שמעניין אתכם.
קטע יומן לדוגמה:2025-07-10 08:47:11,362 main DEBUG c.a.u.m.UAPIMMetadataServiceImpl - UAPIMMetadataServiceImpl.generateCollectProto() : Failed to publish collect proto for org: org1, proxy: proxy1
מחפשים את הטקסט 'failed to publish collect proto for org: ' ואחריו את שם הארגון, ואז ', proxy: ' ואחריו את שם ה-proxy.
- תרחיש הצלחה: פרוטוקול ה-proxy מועלה אל API Hub. במקרה הזה, מחפשים את הטקסט 'uploaded collect proto for org: {}, proxy: {},'
זמן ריצה/ניתוח נתונים
הפרסום של ההקלטה ב-NFS נכשל
הסיבה: השימוש ב-NFS גבוה מ-75%.
כדי לאמת: grep "Diskspace usage is at more than 75% of the allocated MaxDiskSpace at" /opt/apigee/var/log/edge-message-processor/logs/system.log
הסיבה: הסנכרון בזמן הריצה של המחבר במרכז ה-API לא מופעל או שההגדרה שלו לא תקינה
כדאי לבדוק את הדברים הבאים ב-/opt/apigee/customer/application/message-processor.properties:
conf_message-processor-communication_uapim.enabled.environments=
מוודאים שהארגון והסביבה הנכונים מופיעים ברשימה.
conf_message-processor-communication_uapim.runtime.data.path=
מוודאים שהיא מפנה לנתיב ה-NFS הנכון.
איך בודקים שהנתונים פורסמו בהצלחה ב-NFS
הרשומות מאוחסנות בנתיב NFS ספציפי, למשל /the/nfs/staging.
אתם יכולים לבדוק ישירות את התוכן של הספרייה הזו כדי לראות אם נוצרו בה קבצים חדשים. הנוכחות של הקבצים מצביעה על פרסום מוצלח ב-NFS.
קובץ נתונים נמחק ללא עיבוד
הסיבה: שם הקובץ לא הכיל מידע תקף על הארגון או הסביבה.
יומן לבדיקה:
grep "Skipped and Deleted file" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
הקובץ נמחק כי חסרה הגדרה של הארגון
הסיבה: לא נמצאה הגדרה ספציפית לארגון.
יומן לבדיקה:
grep "Deleted file .* due to missing org config" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
הקובץ נמחק בגלל סביבה לא תקינה
הגורם: הסביבה שנותחה משם הקובץ לא קיימת בהגדרת הארגון.
יומן לבדיקה:
grep "Deleted file .* due to invalid env" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
העלאת הקובץ ל-Pub/Sub נכשלה
הסיבה: לא הייתה אפשרות ליצור את בעל התוכן הדיגיטלי (למשל, חשבון שירות או נושא שהוגדרו בצורה שגויה).
Log to Check:
grep "Failed to create publisher for org" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
העלאה חלקית – חלק מהרשומות נכשלו
הסיבה: חלק מהרשומות בקובץ לא פורסמו.
Log to Check:
grep "was not completely published" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log
הקובץ עבר עיבוד מלא ונמחק
יומן לבדיקה:
grep "File .* completely published to topic" /opt/apigee/var/log/edge-uapim-connector/edge-uapim-connector.log