מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
תיאור הבעיה
המשתמש לא יכול ליצור סשן מעקב בממשק המשתמש של Edge.
הודעת שגיאה
הודעת השגיאה תופיע בממשק המשתמש של Edge כמו בדוגמה הבאה:
Error creating trace session for API proxy <api proxy name>, revision <revision number>, environment <environment name>.
Failed to create DebugSession <session number>
צילום מסך של הודעת שגיאה לדוגמה שמופיעה בממשק המשתמש של Edge:
סיבות אפשריות
אלה כמה מהסיבות האפשריות לשגיאה הזו:
הסיבה | תיאור | הוראות לפתרון בעיות שרלוונטיות |
בעיה בקישוריות הרשת | כשל תקשורת בין שרת הניהול לבין מעבד ההודעות עקב בעיות קישוריות רשת או כללי חומת אש. | משתמשי Edge בענן פרטי |
הסביבה לא נטענה במעבד ההודעות | סביבה ספציפית (שבה אתם מנסים להפעיל את המעקב) לא נטענה במעבד ההודעות עקב שגיאה. | |
רשומות של מעבד הודעות לא פעיל | שרת הניהול מפנה למעבדי הודעות שלא קיימים (לא פעילים). | |
לא ניתן לגשת למעבד ההודעות | מעבד ההודעות הופסק או שלא ניתן לגשת אליו. | |
בעיה בשימוש בנפח גדול | מעבדי ההודעות סובלים מניצול גבוה של משאבים (מעבד (CPU), זיכרון או עומס. | |
שרת Proxy ל-API לא פרוס במעבד הודעות אחד או יותר | יכול להיות ששרת ה-proxy ל-API לא פרוס אצל מעבד הודעות אחד או יותר כי חסרה התראה על אירוע במהלך הפריסה. | |
בעיה בממשק המשתמש של Edge | בגלל שגיאה כלשהי, לא ניתן ליצור סשן מעקב בממשק המשתמש של Edge. |
שלבים לאבחון נפוץ
מפעילים את ה-Management API הזה:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
אם מופיעות שגיאות, רושמים אותן לעצמכם. עוברים אל בעיה בקישוריות רשת.
אם מתקבלת תגובה מוצלחת, סימן שאפשר ליצור את סשן המעקב דרך Management API. עם זאת, ייתכן שיש בעיה בממשק המשתמש של Edge, שגרמה לכך שלא ניתן ליצור סשן מעקב בממשק המשתמש. עוברים למאמר בעיה בממשק המשתמש של Edge.
הסיבה: בעיה בקישוריות הרשת
אבחון
צריך לבדוק את היומן של שרת הניהול
/opt/apigee/var/log/edge-management-server/logs/system.log
ולראות אם יש שגיאות במהלך יצירת סשן המעקב או ניפוי הבאגים.שגיאה לדוגמה מהיומן של שרת הניהול
2018-02-08 09:08:21,310 org:myorg env:uat qtp1073741635-1074 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID cedeabd2-e4d1-40bb-8f18-d6afc8835e5b org.apache.http.conn.HttpHostConnectException: Connect to 10.84.75.92:8082 [/10.84.75.92] failed: Connection refused at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] ...<snipped> Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_65] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_65] ...<snipped>
לפי הודעת השגיאה לדוגמה שלמעלה, אנחנו מקבלים שגיאות מסוג "החיבור נדחה" כששרת הניהול מנסה להתחבר למעבד ההודעות ביציאה מס' 8082. לכן שרת הניהול לא יכול ליצור את סשן המעקב.
אם לא מופיעות שגיאות הקשורות לקישוריות רשת או שגיאה הדומה לזו שמוצגת בדוגמה שלמעלה, עבור אל הסביבה לא נטענה במעבד ההודעות.
אם זיהיתם שגיאות שקשורות לקישוריות לרשת או שגיאה שדומה לזו שמוצגת בדוגמה שלמעלה, עליכם לפעול לפי השלבים הבאים.
בדיקת הקישוריות משרת הניהול למעבד ההודעות ביציאה 8082 באמצעות השלבים הבאים:
אם telnet זמין, משתמשים ב-telnet:
telnet <MessageProcessor_IP> 8082
אם telnet לא זמין, משתמשים ב-netcat כדי לבדוק את הקישוריות באופן הבא:
nc -vz <MessageProcessor_IP> 8082
אם מופיעה התשובה "החיבור נדחה" או 'תם פרק הזמן שהוקצב להתחברות', ואז עוברים לשלב הבא.
מתחברים לכל אחד ממעבדי ההודעות באמצעות כתובת ה-IP המתאימה שבה הוצגה השגיאה ומבצעים את השלבים הבאים:
בודקים אם מעבד ההודעות מאזין ביציאה 8082:
netstat -an | grep LISTEN | grep 8082
אם מעבד ההודעות מאזין ביציאה 8082, עוברים לשלב 7.
אם מעבד ההודעות לא מאזין ביציאה 8082, יש להפעיל מחדש את מעבד ההודעות באמצעות הפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
ממתינים עד שמעבד ההודעות יתחיל להשתמש בפקודה הזו:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
אחרי שמעבד ההודעות פועל, בודקים שוב אם מעבד ההודעות מאזין ביציאה 8082.
אם מעבד ההודעות מאזין ביציאה 8082, עוברים לשלב 7.
בודקים אם עכשיו אפשר להתחיל את סשן המעקב בממשק המשתמש. אם הבעיה לא מופיעה יותר, מדלגים על השלבים הבאים.
אם מעבד ההודעות פועל ומאזין ביציאה 8082, אבל עדיין אין אפשרות להתחבר מהשרתים האחרים כמו שרת הניהול, כנראה שיש חומת אש שחוסמת את החיבורים החיצוניים.
משתמשים בפקודה מתאימה כדי לבדוק את הכללים של חומת האש. לדוגמה, אתם יכולים להריץ את הפקודה iptable כדי להציג רשימה של כל הכללים של חומת האש שהוגדרו במערכת:
iptables -L -n
אם לא הוגדרו כללי חומת אש ליציאה 8082, עוברים אל בעיה בשימוש במשאבים גבוהים.
אם הוגדרו כללי חומת אש ביציאה 8082, עוברים לקטע 'רזולוציה' שבהמשך.
רזולוציה
- צריך לעבוד עם מנהל הרשת כדי לאפשר תעבורת נתונים נכנסת/יוצאת ביציאה 8082 משרתים חיצוניים.
אם הבעיה עדיין נמשכת, עוברים אל פרטי האבחון שחובה לאסוף.
הסיבה: הסביבה לא נטענה במעבד ההודעות
אבחון
- צריך לבדוק את היומנים של שרת הניהול
/opt/apigee/var/log/edge-management-server/logs/system.log
ולראות אם יש שגיאות במהלך יצירת סשן המעקב או ניפוי הבאגים. יכול להיות שתוצג הודעת שגיאה כמו "אין תשובות תקפות מ-MP(s)". במהלך יצירת מעקב או ניפוי באגים, כפי שמוצג בהמשך:
2018-01-30 08:28:09,721 org:mynonprod env:uat qtp2007599722-712162 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : no valid responses from MP(s), throwing error 2018-01-30 08:28:09,723 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.distribution.DebugSessionAPI.createDebugSession threw an exception. 2018-01-30 08:28:09,724 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Error occurred : Failed to create DebugSession 1517297564678 2018-01-30 08:28:09,724 org:mynonprod env:uat qtp2007599722-712162 ERROR REST - ExceptionMapper.toResponse() : Returning error response : ErrorResponse{errorCode = distribution.CreateDebugSessionFailed, errorMessage = Failed to create DebugSession 1517297564678}
שגיאה זו מציינת שמעבדי ההודעות לא מגיבים בחזרה לשרת הניהול מסיבה כלשהי.
אם לא מופיעה שגיאה שדומה לזו שמוצגת בדוגמה שלמעלה, עוברים אל רשומות של מעבד הודעות לא פעיל.
אם תבחינו בשגיאה שדומה לזו שמוצגת בדוגמה שלמעלה, עליכם לפעול לפי השלבים הבאים.
אחת הסיבות הסבירה ביותר לשגיאה הזו היא שהסביבה שבה ניסית ליצור את פעילות המעקב לא נטענה במעבדי ההודעות.
מתחברים לכל אחד ממעבדי ההודעות ובודקים אם הסביבה הספציפית שבה אתם מנסים ליצור את סשן המעקב נטענת למעבד ההודעות באמצעות הפקודה הבאה:
curl -s http://localhost:8082/v1/runtime/organizations/<org-name>/environments
פלט לדוגמה:
בפלט של הפקודה שלמעלה תוצג רשימת הסביבות ששייכות לארגון הספציפי שנטענות במעבד ההודעות. לדוגמה, אם הסביבות preprod ו-test נטענות במעבד ההודעות, הפלט יופיע כך:
[ "preprod", "test" ]
אם הסביבה הספציפית, אומרים "dev", שבה אתם מנסים ליצור פעילות של מעקב, רשומה כחלק מהפקודה שלמעלה, ואז עוברים אל Sold Message Processing.
אם הסביבה הספציפית, למשל "dev", לא רשומה כחלק מהפקודה שלמעלה, יש לבדוק ב-
/opt/apigee/var/log/edge-message-processor/logs/system.log
וב-/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
במעבדי ההודעות אם יש שגיאות במהלך הטעינה של Environments (סביבות).יכולות להיות שגיאות שונות רבות שעלולות לגרום לכשל בטעינת סביבה במעבד ההודעות. הפתרון תלוי בשגיאה שאירעה.
רזולוציה
יכול להיות שהסביבה לא נטענה במעבד ההודעות מסיבות רבות. בסעיף הזה מוצגות כמה סיבות אפשריות שיכולות להוביל לבעיה הזו, ומוסבר איך לפתור אותה.
אם מופיעה אחת מהשגיאות הבאות ביומן של מעבד ההודעות, הסיבה לכך היא בעיה שנמצאת באישורים/במפתחות שנוספו למאגר המפתחות/באמינות שצוינו בסביבה שצוינה.
שגיאה מס' 1: java.security.KeyStoreError: לא ניתן להחליף את האישור של עצמו
2018-01-30 12:04:38,248 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mycert in key store : mytruststore in environment : test at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.AbstractConfigurator.propagateEvent(AbstractConfigurator.java:85) ~[config-entities-1.0.0.jar:na] at com.apigee.messaging.runtime.Environment.handleUpdate(Environment.java:238) [message-processor-1.0.0.jar:na] … Caused by: java.security.KeyStoreException: Cannot overwrite own certificate at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:355) ~[sunjce_provider.jar:1.8.0_151] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_151] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] ... 20 common frames omitted 2018-01-30 12:04:38,250 pool-47-thread-4 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
שגיאה מס' 2: Java.security.KeyStoreError: לא ניתן להחליף את המפתח הסודי
2017-11-01 03:28:47,560 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.propagateEvent() : Error while handling the update for the Configurator com.apigee.kernel.exceptions.spi.UncheckedException: Failed to add certificate : mstore in key store : myTruststore in environment : dev at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:156) ~[config-entities-1.0.0.jar:na] at com.apigee.entities.configurators.KeyStore.handleUpdate(KeyStore.java:101) ~[config-entities-1.0.0.jar:na] ... Caused by: java.security.KeyStoreException: Cannot overwrite secret key at com.sun.crypto.provider.JceKeyStore.engineSetCertificateEntry(JceKeyStore.java:354) ~[sunjce_provider.jar:1.8.0_144] at java.security.KeyStore.setCertificateEntry(KeyStore.java:1201) ~[na:1.8.0_144] at com.apigee.entities.configurators.KeyStore.setCertificateEntry(KeyStore.java:153) ~[config-entities-1.0.0.jar:na] ... 20 common frames omitted 2017-11-01 03:28:47,562 pool-21-thread-7 ERROR MESSAGING.RUNTIME - AbstractConfigurator.rollbackTransaction() : Error in processing the changes : Unknown resource type cert
אפשר לקבל את הפרטים של מאגר המפתחות/חנויות המהימנות שצוינו בהודעת השגיאה שמופיעה בשלב הקודם באמצעות הקריאה הבאה ל-Management API:
curl -v "http://<management-IPaddress>:8080/v1/organizations/<org-name>/environments/<env-name>/keystores/myTruststore" -u <user>
פלט לדוגמה:
{ "certs": [ "mycert", "mycert-new" ], "keys": [ "mycert" ], "name": "myTruststore" }
הפלט לדוגמה מראה שיש שני אישורים ומפתח ב-Truststore myTruststore. בדרך כלל ה-Truststore לא מכיל מפתח. אם כן, עדיף שיהיה אישור יחיד ומפתח יחיד.
לקבלת פרטים על שני האישורים באמצעות ממשק ה-API הבא:
curl -s http://<management-IPaddress>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/keystores/<keystore-name>/certs/<cert-name>
בודקים את תאריך התפוגה של כל אחד מהאישורים ובודקים מהו התוקף של האישור הישן/פג התוקף יותר.
מוחקים את האישור שתוקפו פג או לא רצוי מהמאגר myTruststore.
אם הבעיה עדיין נמשכת או אם מופיעה שגיאה שונה מהשגיאות שצוינו בשלב 1 למעלה, עוברים אל פרטי האבחון שחובה לאסוף.
הסיבה: לא ניתן לגשת למעבדי ההודעות או לרשומות לא פעילות של מעבד ההודעות
אבחון
- אם לוקח הרבה זמן להשתמש בסשן של Edge בממשק המשתמש אבל לא מצליחים ליצור את סשן המעקב, אלה כמה מהסיבות האפשריות:
- ייתכן ששרת הניהול מתייחס למעבדי הודעות שאינם קיימים (לא פעילים)
- מעבדי ההודעות הופסקו או שלא ניתן לגשת אליהם
- מעבדי ההודעות משתמשים בנפח גדול של זיכרון או מעבד (CPU)
- צריך לבדוק את היומנים של שרת הניהול
/opt/apigee/var/log/edge-management-server/logs/system.log
ולראות אם יש שגיאות במהלך יצירת סשן של מעקב או ניפוי באגים. יכול להיות שתופיע הודעת שגיאה כמו "server <UUID> מוגדר כ'לא זמין' או 'לא נגיש' במהלך היצירה של סשן של מעקב או ניפוי באגים, כפי שמוצג בהמשך:
2017-12-27 07:42:38,975 org:cocacola env:prod qtp2007599722-222063 INFO DISTRIBUTION - DebugSessionAPI.createDebugSession() : server 458b5910-2646-441c-a6e2-428b6d84e021 is either not up or reachable, skipping the server
יכול להיות שאחרי השגיאה הזו תופיע עוד שגיאה אחת: "תם פרק הזמן שהוקצב להתחברות" לאחר זמן מה, כפי שמוצג בהמשך:
2017-12-27 07:44:46.000 UTC org:cocacola env:prod qtp2007599722-222063 ERROR DISTRIBUTION - DebugSessionAPI.createDebugSession() : createDebugSession : Unable to connect to the server with UUID {}, skipping it458b5910-2646-441c-a6e2-428b6d84e021 org.apache.http.conn.HttpHostConnectException: Connect to 192.168.101.7:8080 [/192.168.101.7] failed: Connection timed out (Connection timed out) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) ~[httpclient-4.3.5.jar:4.3.5] at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) ~[httpclient-4.3.5.jar:4.3.5] …<snipped> Caused by: java.net.ConnectException: Connection timed out (Connection timed out) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_144] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_144] …<snipped>
שתי השגיאות האלה עשויות להיגרם בגלל מעבדי הודעות ספציפיים:
- לא פעיל (כבר לא קיים)
- המכשיר לא זמין/לא זמין מסיבה כלשהי
יש לפעול לפי הפתרון המתאים בהתאם לתרחיש שבו נתקלת.
רזולוציה
תרחיש מס' 1 : מעבדי ההודעות לא פעילים (לא קיימים)
אפשר להוריד את הרשימה של מעבדי הודעות באמצעות ממשק ה-API לניהול למטה:
curl -u <sysadmin> "http://<management-server-host>:8080/v1/servers?pod=<podName>®ions=<regionName>"
רושמים בצד את כתובת ה-IP או את שם המארח שתואמים למזהה הייחודי (UUID) של מעבדי ההודעות שצוינו בהודעת השגיאה ביומנים של שרתי הניהול (שלב מס' 3 בקטע 'אבחון'). אפשר לבדוק אם אלה מעבדי הודעות תקינים באחת מהדרכים הבאות:
- תרשים ההגדרה האחרון של הטופולוגיה של הענן הפרטי
- כתובת ה-IP האחרונה של שרת Edge – טבלת המיפוי של שם המארח
אם לדעתך הם נחשבים למעבדי הודעות תקינים, אפשר לעבור לשלב תרחיש 2 : אין גישה למעבדי הודעות.
מוחקים את מעבדי ההודעות הלא פעילים (לא קיימים) באמצעות ממשקי ה-API הבאים לניהול:
ביטול הרישום של מעבד ההודעות מהסביבות של הארגון:
curl -X POST http://<management-server-host>:8080/v1/o/<orgName>/e/<envName>/servers -d "uuid={uuid}®ion=<regionName>&pod=<podName}&action=remove"
ביטול הרישום של סוג השרת:
curl http://<management-server-host>:8080/v1/servers -X POST -d "type={message-processor}®ion=<regionName>&pod=<podName>&uuid=<uuid>&action=remove"
מוחקים את השרת:
curl http://<management-ip>:8080/v1/servers/<uuid> -X DELETE
אם אתם נתקלים באותה בעיה בסביבות אחרות בארגון, חוזרים על שלב 3.
תרחיש 2: אין גישה למעבדי ההודעות
- התחברות לכל אחד ממעבדי ההודעות באמצעות קביעת כתובות ה-IP או שמות המארחים על סמך מזהי ה-UUID שתועדו בהודעת השגיאה ביומנים של שרתי הניהול.
מפעילים מחדש את מעבד ההודעות:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
צריך לבדוק שוב אם יש אפשרות ליצור את סשן המעקב. אם הבעיה נמשכת, עוברים אל פרטי האבחון שחובה לאסוף.
הסיבה: בעיה בשימוש בנפח גדול של משאבים
אבחון
מתחברים לכל אחד ממעבדי ההודעות ובודקים אם נעשה שימוש גבוה במשאבים – מעבד(CPU), זיכרון או עומס. אפשר להשתמש בפקודה
top
במערכות הפעלה מבוססות Unix כדי לקבל את פרטי השימוש במשאבים של תהליך מעבד ההודעות:top
אם במעבדי ההודעות לא נעשה שימוש רב במשאבים, עוברים לאפשרות נדרש איסוף של פרטי אבחון.
אם מעבדי ההודעות סובלים משימוש גבוה במעבד(CPU) או בזיכרון, ייתכן שזו הסיבה שמעבד ההודעות לא מגיב לשרת הניהול בזמן. הפעולה הזו תמנע מכם ליצור סשן מעקב.
אם מעבד הודעות מסוים חווה שימוש גבוה במעבד (CPU), יש ליצור שלוש תמונות של שרשורים כל 30 שניות באמצעות הפקודה הבאה:
sudo <JAVA_HOME>/bin/jstack -l <pid> > <filename>
אם מעבד הודעות כלשהו משתמש בזיכרון רב, יש ליצור Dump של ערימה באמצעות הפקודה הבאה:
sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>
מעבר לרזולוציה.
רזולוציה
מפעילים מחדש את מעבד ההודעות באמצעות הפקודה הבאה. הפעולה הזו אמורה לצמצם את השימוש במעבד (CPU) ובזיכרון:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
עוקבים אחרי הקריאות ל-API ומוודאים שהבעיה עדיין קיימת.
צריך לפנות אל התמיכה ב-Apigee Edge ולספק את קובצי ה-threads, תמונת המצב של הזיכרון והיומנים של מעבד ההודעות (
/opt/apigee/var/log/edge-message-processor/logs/system.log)
כדי לעזור להם לבדוק את הסיבה לשימוש הגבוה במעבד או בזיכרון.
הסיבה: שרת proxy ל-API לא פרוס במעבד הודעות אחד או יותר
לעיתים נדירות לא ניתן לפרוס שרת Proxy ל-API על מעבד הודעות אחד או יותר. מצב זה מתרחש בעיקר עקב התראות על אירועים שחסרים משרת הניהול למעבד ההודעות במהלך הפריסה של שרת ה-proxy הספציפי ל-API. במקרה כזה גם לא תוכלו ליצור את סשן המעקב בממשק המשתמש של Edge.
אבחון
מתחברים לכל אחד ממעבדי ההודעות ובודקים אם הגרסה הספציפית של שרת ה-proxy ל-API נפרסה באמצעות הפקודה הבאה:
curl -v localhost:8082/v1/runtime/organizations/<orgname>/environments/<envname>/apis/<apiname>/revisions
פלט לדוגמה:
רשימת התיקונים תופיע כפלט של הפקודה שלמעלה. לדוגמה, אם גרסה 12 פרוסה, הפלט יופיע כך:
[ "12" ]
אם הגרסה הספציפית של שרת ה-proxy ל-API לא מופיעה כפלט של הפקודה שצוינה בשלב 1 למעלה, יש להפעיל מחדש את מעבד ההודעות הספציפי כמו שמוסבר בקטע הפתרון שבהמשך.
חוזרים על השלבים 1-2 לכל מעבדי ההודעות.
אם הגרסה הספציפית של שרת ה-proxy ל-API פרוסה בכל מעבדי ההודעות, זו לא הסיבה לבעיה. עוברים אל פרטי האבחון שחובה לאסוף.
רזולוציה
מפעילים מחדש את מעבדי ההודעות הספציפיים שבהם לא נפרס הגרסה הספציפית של שרת ה-proxy ל-API:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
הסיבה: בעיה בממשק המשתמש של Edge
אבחון
- צריך לבדוק את היומנים של ממשק המשתמש של Edge
/opt/apigee/var/log/edge-ui/application.log
ו-/opt/apigee/var/log/edge-ui/edge-ui.log
כדי לראות אם יש שגיאות. - צריך לפנות לתמיכה של Apigee Edge ולשתף את הקבצים האלה לבדיקה נוספת.
חובה לאסוף פרטי אבחון
אם הבעיה נמשכת גם לאחר ביצוע ההוראות שלמעלה, יש לאסוף את פרטי האבחון הבאים. יוצרים קשר ומשתפים אותם עם התמיכה של Apigee Edge:
הפלט של הפקודה:
curl -v <management-server-host>:8080/v1/runtime/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/debugsessions -u <user>
יומן של שרת הניהול
/opt/apigee/var/log/edge-management-server/logs/system.log.
יומני מעבד ההודעות
/opt/apigee/var/log/edge-message-processor/logs/system.log.
פלט פקודות telnet/nc משרת ניהול למעבד הודעות:
telnet <MessageProcessor_IP> 8082 nc -vz <MessageProcessor_IP> 8082
פלט של פקודת netstat הבאה במעבדי ההודעות:
netstat -an > netstat.txt
אם זוהתה בעיה בממשק המשתמש של Edge, צריך לספק את יומני ממשק המשתמש של Edge:
/opt/apigee/var/log/edge-ui/application.log
ו-/opt/apigee/var/log/edge-ui/edge-ui.log.
פרטים על הקטעים במדריך הזה שכבר ניסו למצוא, ועל כל תובנות אחרות שיעזרו לנו לפתור את הבעיה במהירות.