Problèmes d'exécution

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Les erreurs, les problèmes de latence ou les résultats inattendus observés lors de l'exécution de vos requêtes API sont appelés "problèmes runtime".

Erreurs 4XX/5XX

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pouvant être suivies pour dépanner et résoudre les erreurs 4XX et 5XX d'exécution.

Réponse/Message d'erreur Code d'erreur Playbook
HTTP/1.1 500 Internal Server Error Varie en fonction de l'erreur réelle 500 Erreur interne du serveur

et

500 Erreur interne du serveur – Streaming activé

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable 503 Service non disponible
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets 503 Service non disponible – NoActiveCibles
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(Cause des échecs de vérification de l'état)

503 Service non disponible – Échecs de vérification de l'état NoActiveCibles
HTTP/1.1 503 Service Unavailable

(à partir du serveur backend)

messaging.adaptors.http.flow.ErrorResponseCode 503 Service non disponible – Serveur backend
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout 504 – Expiration de la passerelle
HTTP/1.1 504 Gateway Timeout

(à partir du serveur backend)

messaging.adaptors.http.flow.ErrorResponseCode 504 Expiration de la passerelle – Serveur backend

Informations de diagnostic

Si vous avez besoin de l'aide de l'assistance Apigee Edge concernant les 4XX erreurs d'exécution (telles que 400, 401, 404 et 499) ou les erreurs 5XX (par exemple, 500, 503 et 504), rassemblez et partagez les informations et journaux de diagnostic suivants dans la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je recueillir ces informations ?
Les résultats de l'outil Trace lors de la capture des requêtes API ayant échoué Interface utilisateur périphérique Comment utiliser l'outil Trace
Journaux de routeur Routeur
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.*

Journaux du processeur de messages Processeur de messages
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Compressez toutes les données de diagnostic.
>tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

400 – Erreur de requête incorrecte – Erreur de certificat SSL

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pouvant être suivies pour dépanner et résoudre 400 Bad Request - SSL Certificate Error.

Message d'erreur 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 Erreur de requête incorrecte – Erreur de certificat SSL

Informations de diagnostic

Si vous avez besoin de l'aide de l'assistance Apigee Edge sur le 400 Bad Request - SSL Certificate Error, rassemblez les informations de diagnostic suivantes et partagez-les dans la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je recueillir ces informations ?
Journaux de routeur Routeur
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 Routeur

Capturez les paquets réseau à l'aide de la commande tcpdump sur l'ordinateur routeur:

sudo tcpdump -s 0 -i any host CLIENT_HOST_IP_ADDRESS -w /tmp/router_tcpdump_$(hostname).pcap

Compressez les éléments tcpdump :

tar cvzf /tmp/router_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap

Tcpdumps Ordinateur client

Capturez des paquets réseau à l'aide de la commande tcpdump sur la machine cliente:

sudo tcpdump -s 0 -i any host VIRTUAL_HOST_ALIAS -w /tmp/client_tcpdump_$(hostname).pcap

Compressez tcpdump:

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Compressez toutes les données de diagnostic. Routeur
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router*

404 Impossible d'identifier le proxy pour l'erreur d'hôte

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pouvant être suivies pour dépanner et résoudre l'erreur 404 Unable to identify proxy for host.

Message d'erreur ou description Code d'erreur 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 Impossible d'identifier le proxy pour l'hôte

Informations de diagnostic

Si vous avez besoin de l'aide de l'assistance Apigee Edge concernant l'erreur 404 Unable to identify proxy for host, rassemblez les informations de diagnostic suivantes et partagez-les dans la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je recueillir ces informations ?
Sortie de l'API Deployments Serveur de gestion
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
Résultats de l'API et de l'arborescence de classification Processeur de messages

Chargez les environnements pour une organisation spécifique:

curl -s 0:8082/v1/runtime/organizations/ORGNAME/environments > /tmp/rmp_environments_list_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).txt

Obtenez les révisions déployées pour un proxy d'API spécifique:

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

Obtenez l'arborescence de classification:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Journaux du processeur de messages Processeur de messages
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*
Empreinte de la mémoire sur les processeurs de messages Processeur de messages

Obtenez l'empreinte de la mémoire en temps réel:

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)

Compressez l'empreinte de la mémoire:

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
Compressez toutes les données de diagnostic. Processeur de messages
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/rmp_* 

502 Passerelle incorrecte – Pas de flux en amont en direct lors de la connexion au flux en amont

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pouvant être suivies pour dépanner et résoudre 502 Bad Gateway - no live upstreams while connecting to upstream.

Problème Message d'erreur dans les journaux 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>

L'erreur suivante s'affiche dans les journaux d'erreurs NGINX:

(/opt/apigee/var/log/edge-router/nginx/ORGNAME~ENVNAME._error_log)

[error] 4796#4796: *56357443 no live upstreams while connecting to upstream, client: ROUTER_IP_ADDRESS, server: HOST_ALIAS, request: "PUT BASE_PATH HTTP/1.1", upstream: "http://LISTOFMP_IP_R_MP_PORT/BASE_PATH", host: "HOST_ALIAS"
502 Passerelle incorrecte

Informations de diagnostic

Si vous avez besoin de l'aide de l'assistance Apigee Edge concernant le 502 Bad Gateway - no live streams while connecting to upstream, rassemblez les informations de diagnostic suivantes et partagez-les dans la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je recueillir ces informations ?
Journaux de routeur Routeur
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.*
Journaux du processeur de messages Processeur de messages
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Sortie principale, empreinte de la mémoire et empreintes de thread Processeur de messages

Obtenez le résultat de la commande top:

top -H -bn5 > /tmp/rmp_top_output_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt

Obtenez l'empreinte de la mémoire:

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

Récupérez la copie de thread:

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
Compressez toutes les données de diagnostic.
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_* /opt/apigee/var/rmp_heapdump_*

502 Passerelle incorrecte – EOF inattendu à la cible

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pouvant être suivies pour dépanner et résoudre 502 Bad Gateway - Unexpected EOF At Target:

Réponse/Message d'erreur Code d'erreur 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 Passerelle incorrecte inattendue EOF

Informations de diagnostic

Si vous avez besoin de l'aide de l'assistance Apigee Edge concernant le 502 Bad Gateway - Unexpected EOF At Target, rassemblez les informations de diagnostic suivantes et partagez-les dans la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je recueillir ces informations ?
Les résultats de l'outil Trace lors de la capture des requêtes API ayant échoué Interface utilisateur périphérique Comment utiliser l'outil Trace
Journaux de routeur Routeur
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.*

Journaux du processeur de messages Processeur de messages
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 Processeur de messages
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
Compressez toutes les données de diagnostic. Routeur/Processeur de messages
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Échecs du handshake TLS

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pouvant être suivies pour dépanner et résoudre les échecs de handshake TLS/SSL:

Message d'erreur Playbook
Received fatal alert: handshake_failure Échecs de handshake TLS/SSL
Received fatal alert: bad_certificate Échecs de handshake SSL – Certificat client incorrect

Informations de diagnostic

Si vous avez besoin de l'aide de l'assistance Apigee Edge concernant les échecs de handshake TLS/SSL, rassemblez les informations de diagnostic suivantes et partagez-les dans la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je recueillir ces informations ?
Les résultats de l'outil Trace lors de la capture des requêtes API ayant échoué Interface utilisateur périphérique Comment utiliser l'outil Trace
Journaux de routeur Routeur
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.*
Journaux du processeur de messages Processeur de messages
tar cvzf /tmp/rmp_systemlogs_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /opt/apigee/var/log/edge-message-processor/logs/system*

Résultat de la commande OpenSSL Processeur de messages

Serveur backend non activé par SNI:

openssl s_client -connect BACKEND_SERVER_HOSTNAME:PORT -showcerts | tee /tmp/rmp_openssl_$(hostname)-$(date +%Y.%m.%d_%H.%M.%S).txt

Serveur backend avec SNI activé:

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 Processeur de messages
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
Certificats du keystore et du magasin de confiance du processeur de messages Serveur de gestion

Récupérez les détails du certificat sur le keystore:

curl -v http://MANAGEMENT_SERVER_HOST:PORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/KEYSTORENAME/certs/CERTNAME -u USERNAME

Obtenez les détails du certificat auprès du Truststore:

curl -v http://MANAGEMENT_SERVER_HOSTPORT/v1/organizations/ORGNAME/environments/ENVNAME/keystores/TRUSTSTORENAME/certs/CERTNAME -u USERNAME
Compressez toutes les données de diagnostic. Processeur de messages
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*