אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
כל השגיאות, בעיות ההשהיה או התוצאות הלא צפויות שנצפו במהלך הביצוע של בקשות ה-API נקראות runtimeבעיות.
שגיאות 4XX/5XX
Playbook
בקטע הזה מפורטות כמה פעולות ספציפיות שאפשר לבצע כדי לפתור שגיאות בזמן ריצה 4XX ו5XX.
| תשובה או הודעת שגיאה | קוד שגיאה | Playbook |
|---|---|---|
HTTP/1.1 500 Internal Server Error |
משתנה בהתאם לשגיאה בפועל |
500 Internal Server Error
וגם |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.ServiceUnavailable |
503 Service Unavailable |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets |
503 השירות לא זמין – NoActiveTargets |
HTTP/1.1 503 Service Unavailable |
messaging.adaptors.http.flow.NoActiveTargets
(הסיבה היא כשלים בבדיקת התקינות) |
503 השירות לא זמין – בדיקת תקינות של NoActiveTargets נכשלה |
HTTP/1.1 503 Service Unavailable
(משרת בק-אנד) |
messaging.adaptors.http.flow.ErrorResponseCode
|
503 השירות לא זמין – שרת עורפי |
HTTP/1.1 504 Gateway Timeout |
messaging.adaptors.http.flow.GatewayTimeout |
504 הזמן שהוקצב לשער תם |
HTTP/1.1 504 Gateway Timeout
(משרת בק-אנד) |
messaging.adaptors.http.flow.ErrorResponseCode
|
504 זמן קצוב לתפוגה של שער – שרת עורפי |
פרטי האבחון
אם אתם צריכים עזרה מהתמיכה של Apigee Edge בנוגע לשגיאות בזמן ריצה 4XX (כמו 400, 401, 404 ו-499) או שגיאות 5XX (כמו 500, 503 ו-504), עליכם לאסוף ולשתף את יומני האבחון והמידע הבאים בבקשת התמיכה:
| פרטי האבחון | איפה אפשר לאסוף את המידע הזה? | איך אוספים את המידע הזה? |
|---|---|---|
| פלט של כלי המעקב שכולל בקשות API שנכשלו | ממשק משתמש של Edge | איך משתמשים בכלי למעקב |
| יומני רוטר | נתב |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
| יומנים של מעבד הודעות | מעבד בקשות |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
| דחיסת כל נתוני האבחון |
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* |
שגיאה 400 בקשה שגויה – שגיאה באישור SSL
Playbook
בקטע הזה אנחנו מספקים מידע והנחיות לגבי כמה הליכים ספציפיים שאפשר לבצע כדי לפתור בעיות שקשורות ל-400 Bad Request - SSL Certificate Error.
| הודעת שגיאה | Playbook |
|---|---|
<html>
<head>
<title>400 The SSL certificate error</title>
</head>
<body bgcolor="white">
<center> <h1>400 Bad Request</h1>
</center>
<center>The SSL certificate error</center>
<hr>
<center>nginx</center>
</body>
</html> |
שגיאה 400 Bad Request – שגיאת אישור SSL |
פרטי האבחון
אם אתם צריכים עזרה מהתמיכה של Apigee Edge בנושא 400 Bad Request - SSL Certificate
Error, כדאי לאסוף את נתוני האבחון הבאים ולשתף אותם בבקשת התמיכה:
| פרטי האבחון | איפה אפשר לאסוף את המידע הזה? | איך אוספים את המידע הזה? |
|---|---|---|
| יומני רוטר | נתב |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
Tcpdumps |
נתב |
מריצים את הפקודה sudo tcpdump -s 0 -i any host CLIENT_HOST_IP_ADDRESS -w /tmp/router_tcpdump_$(hostname).pcap דחיסת tar cvzf /tmp/router_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap |
Tcpdumps |
מחשב לקוח |
מריצים את הפקודה tcpdump במכונת הלקוח כדי ללכוד חבילות רשת: sudo tcpdump -s 0 -i any host VIRTUAL_HOST_ALIAS -w /tmp/client_tcpdump_$(hostname).pcap דחיסת tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap |
| דחיסת כל נתוני האבחון | נתב |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* |
שגיאה 404: לא ניתן לזהות את ה-proxy של המארח
Playbook
בקטע הזה מפורטים מידע והנחיות לגבי כמה הליכים ספציפיים שאפשר לבצע כדי לפתור את השגיאה 404 Unable to identify proxy for host.
| הודעת השגיאה או התיאור שלה | קוד שגיאה | Playbook |
|---|---|---|
HTTP/1.1 404 Not Found { "fault":{ "faultstring":"Unable to identify proxy for host: VIRTUAL_HOST_NAME and url: PATH", "detail":{ "errorcode":"messaging.adaptors.http.flow.ApplicationNotFound" } } } |
messaging.adaptors.http.flow.ApplicationNotFound |
404 Unable to identify proxy for host |
פרטי האבחון
אם אתם צריכים עזרה מהתמיכה של Apigee Edge בנוגע לשגיאה 404 Unable to identify proxy for
host, עליכם לאסוף את פרטי האבחון הבאים ולשתף אותם בבקשת התמיכה:
| פרטי האבחון | איפה אפשר לאסוף את המידע הזה? | איך אוספים את המידע הזה? |
|---|---|---|
| פלט של Deployments API | שרת ניהול |
curl -s http://MANAGEMENT_SERVER_HOST:8080/v1/organizations/ORGNAME/environments/ENVNAME/apis/APINAME/deployments > /tmp/deployments_output_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json |
| פלט של API ועץ סיווג | מעבד בקשות |
כדי לטעון את הסביבות של ארגון ספציפי: curl -s 0:8082/v1/runtime/organizations/ORGNAME/environments > /tmp/rmp_environments_list_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).txt כדי לקבל את הגרסאות שנפרסו של proxy ספציפי ל-API: curl -s 0:8082/v1/runtime/organizations/ORGNAME/environments/ENVNAME/apis/APINAME/revisions > /tmp/rmp_api_APINAME_revisions_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).txt מקבלים את עץ הסיווג: curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json |
| יומנים של מעבד הודעות | מעבד בקשות |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* tar cvzf /tmp/rmp_transactionlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/transactions* tar cvzf /tmp/rmp_configurationlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/configurations* tar cvzf /tmp/rmp_system_monitor_config_mp_logs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/edge-message-processor* /opt/apigee/var/log/edge-message-processor/config* /opt/apigee/var/log/edge-message-processor/system-monitor* |
| תמונות מצב של הזיכרון במעבדי בקשות | מעבד בקשות |
קבלת תמונת מצב של הזיכרון בזמן אמת: sudo -u apigee jmap -dump:live,format=b,file=/opt/apigee/var/snapshot_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) דחיסת תמונת מצב של הזיכרון: tar cvzf /tmp/rmp_heapdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/snapshot_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof |
| דחיסת כל נתוני האבחון | מעבד בקשות |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* |
502 שער שגוי – אין שרתים פעילים במעלה הזרם בזמן החיבור לשרת במעלה הזרם
Playbook
בקטע הזה אנחנו מספקים מידע והנחיות לגבי כמה הליכים ספציפיים שאפשר לבצע כדי לפתור בעיות שקשורות ל-502 Bad Gateway - no live upstreams while
connecting to upstream.
| בעיה | הודעת שגיאה ביומנים | Playbook |
|---|---|---|
HTTP/1.1 502 Bad Gateway <html> <head> <title>Error</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>An error occurred.</h1> <p>Sorry, the page you are looking for is currently unavailable.<br/> Please try again later.</p> </body> </html> |
השגיאה הבאה תופיע ביומני השגיאות של NGINX:
(/opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME._error_log)
|
502 Bad Gateway |
פרטי האבחון
אם אתם צריכים עזרה מהתמיכה של Apigee Edge בנושא 502 Bad Gateway - no live streams while connecting to upstream, כדאי לאסוף את נתוני האבחון הבאים ולשתף אותם בבקשת התמיכה:
| פרטי האבחון | איפה אפשר לאסוף את המידע הזה? | איך אוספים את המידע הזה? |
|---|---|---|
| יומני רוטר | נתב |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
| יומנים של מעבד הודעות | מעבד בקשות |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
| פלט מוביל, dump של heap ו-thread dumps | מעבד בקשות |
מקבלים את פלט הפקודה העליונה: top -H -bn5 > /tmp/rmp_top_output_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt מורידים את תמונת מצב של הזיכרון: sudo -u apigee jcmd $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) GC.heap_dump /opt/apigee/var/rmp_heapdump_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).hprof איך מקבלים את ה-thread dump: sudo -u apigee jcmd $(cat /opt/apigee/var/run/edge-message-processor/edge-message-processor.pid) Thread.print > /tmp/rmp_thread_print_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).tdump |
| דחיסת כל נתוני האבחון |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_* |
502 Bad Gateway - Unexpected EOF At Target
Playbook
בקטע הזה אנחנו מספקים מידע והנחיות לגבי כמה הליכים ספציפיים שאפשר לבצע כדי לפתור בעיות שקשורות ל502 Bad Gateway - Unexpected EOF At
Target:
| תשובה או הודעת שגיאה | קוד שגיאה | Playbook |
|---|---|---|
HTTP/1.1 502 Bad Gateway { "fault": { "faultstring": "Unexpected EOF at target", "detail": { "errorcode": "messaging.adaptors.http.flow.UnexpectedEOFAtTarget" } } } |
messaging.adaptors.http.flow.UnexpectedEOFAtTarget |
502 Bad Gateway Unexpected EOF |
פרטי האבחון
אם אתם צריכים עזרה מהתמיכה של Apigee Edge בנושא 502 Bad Gateway - Unexpected EOF At Target, עליכם לאסוף את נתוני האבחון הבאים ולשתף אותם בבקשת התמיכה:
| פרטי האבחון | איפה אפשר לאסוף את המידע הזה? | איך אוספים את המידע הזה? |
|---|---|---|
| פלט של כלי המעקב שכולל בקשות API שנכשלו | ממשק משתמש של Edge | איך משתמשים בכלי למעקב |
| יומני רוטר | נתב |
tar cvzf /tmp/router_logs_ORGNAME_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
| יומנים של מעבד הודעות | מעבד בקשות |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
Tcpdumps |
מעבד בקשות |
sudo tcpdump -s 0 -i any host BACKENDSERVER_HOSTNAME -w /tmp/rmp_tcpdump_$(hostname).pcap tar cvzf /tmp/rmp_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/$(hostname).pcap |
| דחיסת כל נתוני האבחון | נתב/מעבד בקשות |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* |
כשלים בלחיצת היד של TLS
Playbook
בקטע הזה מופיעים פרטים והנחיות לגבי כמה הליכים ספציפיים שאפשר לבצע כדי לפתור בעיות שקשורות לשיבושים בתהליך הלחיצה של TLS/SSL:
| הודעת שגיאה | Playbook |
|---|---|
Received fatal alert: handshake_failure |
כשלים בלחיצת יד של TLS/SSL |
Received fatal alert: bad_certificate |
SSL Handshake Failures - Bad Client Certificate |
פרטי האבחון
אם אתם צריכים עזרה מהתמיכה של Apigee Edge בנוגע לבעיות ב-TLS/SSL handshake, כדאי לאסוף את המידע הדיאגנוסטי הבא ולשתף אותו בפנייה לתמיכה:
| פרטי האבחון | איפה אפשר לאסוף את המידע הזה? | איך אוספים את המידע הזה? |
|---|---|---|
| פלט של כלי המעקב שכולל בקשות API שנכשלו | ממשק משתמש של Edge | איך משתמשים בכלי למעקב |
| יומני רוטר | נתב |
tar cvzf /tmp/router_logs_ORGNAME>_ENVNAME_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME.* |
| יומנים של מעבד הודעות | מעבד בקשות |
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system* |
| פלט פקודה של OpenSSL | מעבד בקשות |
שרת עורפי ללא תמיכה ב-SNI: openssl s_client -connect BACKEND_SERVER_HOSTNAME:PORT -showcerts | tee /tmp/rmp_openssl_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt שרת עורפי עם SNI מופעל: openssl s_client -connect BACKEND_SERVER_HOSTNAME:PORT -server BACKEND_SERVER_HOSTNAME -showcerts | tee /tmp/rmp_openssl_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt |
Tcpdumps |
מעבד בקשות |
sudo tcpdump -s 0 -i any host BACKEND_SERVER_HOSTNAME -w /tmp/$(hostname).pcap tar cvzf /tmp/rmp_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/$(hostname).pcap |
| אישורים מ-keystore ומ-truststore של מעבד בקשות | שרת ניהול |
מקבלים את פרטי האישור ממאגר המפתחות: curl -v http://MANAGEMENT_SERVER_HOST:PORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/KEYSTORENAME/certs/CERTNAME -u USERNAME מקבלים את פרטי האישור ממאגר האישורים: curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME |
| דחיסת כל נתוני האבחון | מעבד בקשות |
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* |