Problèmes d'exécution

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Erreurs, problèmes de latence ou résultats inattendus observés pendant l'exécution de votre API requêtes sont appelées "problèmes runtime".

Erreurs 4XX/5XX

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pour le dépannage et la résolution des erreurs d'exécution 4XX et 5XX.

Réponse/message d'erreur Code d'erreur Playbook
HTTP/1.1 500 Internal Server Error Varie en fonction de l'erreur réelle <ph type="x-smartling-placeholder"></ph> 500 – Erreur interne du serveur

et

<ph type="x-smartling-placeholder"></ph> 500 Erreur interne du serveur – Diffusion activée

HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.ServiceUnavailable <ph type="x-smartling-placeholder"></ph> 503 Service non disponible
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets <ph type="x-smartling-placeholder"></ph> 503 Service indisponible – NoActiveTargets
HTTP/1.1 503 Service Unavailable messaging.adaptors.http.flow.NoActiveTargets

(Le problème est dû à des échecs de la vérification de l'état.)

<ph type="x-smartling-placeholder"></ph> 503 Service Unavailable - NoActiveTargets Health Check Failures (Échecs de la vérification de l'état NoActiveTargets)
HTTP/1.1 503 Service Unavailable

(à partir du serveur backend)

messaging.adaptors.http.flow.ErrorResponseCode <ph type="x-smartling-placeholder"></ph> 503 Service non disponible - Serveur backend
HTTP/1.1 504 Gateway Timeout messaging.adaptors.http.flow.GatewayTimeout <ph type="x-smartling-placeholder"></ph> 504 Expiration du délai de la passerelle
HTTP/1.1 504 Gateway Timeout

(à partir du serveur backend)

messaging.adaptors.http.flow.ErrorResponseCode <ph type="x-smartling-placeholder"></ph> 504 Expiration du délai 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 (400, 401, 404 ou 499, par exemple) ou les erreurs 5XX (500, 503 et 504, par exemple) ; Ensuite, rassemblez et partagez les journaux de diagnostic et les informations suivants dans la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je obtenir ces informations ?
Le résultat de l'outil Trace capture les requêtes API ayant échoué Interface utilisateur périphérique <ph type="x-smartling-placeholder"></ph> 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 de 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*

Compresser 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 pour le dépannage et la résolution de 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>

<ph type="x-smartling-placeholder"></ph> Erreur 400 – 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 obtenir 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 la machine du routeur:

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

Compressez la tcpdump:

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

Tcpdumps Machine cliente

Capturez les 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 la tcpdump:

tar cvzf /tmp/client_tcpdumps_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).tar.gz /tmp/router_tcpdump_$(hostname).pcap
Compresser 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 suivie pour le dépannage et la résolution de 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 <ph type="x-smartling-placeholder"></ph> 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 le demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je obtenir ces informations ?
Résultat 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'arbre de classification Processeur de messages

Obtenez les environnements chargés 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'arbre de classification:

curl -s 0:8082/v1/classification/tree > /tmp/rmp_classification_tree_$(hostname)_$(date +%Y.%m.%d_%H.%M.%S).json
Journaux de 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 direct:

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
Compresser 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 direct lors de la connexion à l'amont

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pour le dépannage et la résolution de 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"
<ph type="x-smartling-placeholder"></ph> 502 Passerelle incorrecte

Informations de diagnostic

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

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

Récupérez 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 le vidage du 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
Compresser 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 sur la cible

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques à des fins de dépannage et de résolution de 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 <ph type="x-smartling-placeholder"></ph> EOF 502 Bad Gateway Unexpected

Informations de diagnostic

Si vous avez besoin de l'aide de l'assistance Apigee Edge sur le 502 Bad Gateway - Unexpected EOF At Target, Réunissez ensuite les informations de diagnostic suivantes et partagez-les avec la demande d'assistance:

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je obtenir ces informations ?
Le résultat de l'outil Trace capture les requêtes API ayant échoué Interface utilisateur périphérique <ph type="x-smartling-placeholder"></ph> 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 de 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
Compresser toutes les données de diagnostic Routeur/Processeur de messages
tar -cvzf /tmp/data_CASE#_$(hostname).tar.gz /tmp/router* /tmp/rmp_*

Échecs de handshake TLS

Playbook

Cette section fournit des informations et des conseils sur certaines procédures spécifiques pour le dépannage et la résolution des échecs de handshake TLS/SSL:

Message d'erreur Playbook
Received fatal alert: handshake_failure <ph type="x-smartling-placeholder"></ph> Échecs de handshake TLS/SSL
Received fatal alert: bad_certificate <ph type="x-smartling-placeholder"></ph> Échecs de handshake SSL : certificat client incorrect

Informations de diagnostic

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

Informations de diagnostic Où puis-je obtenir ces informations ? Comment puis-je obtenir ces informations ?
Le résultat de l'outil Trace capture les requêtes API ayant échoué Interface utilisateur périphérique <ph type="x-smartling-placeholder"></ph> 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 de 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 SNI activé:

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

Serveur backend pour lequel l'extension SNI est activée:

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 Truststore du processeur de messages Serveur de gestion

Récupérez les détails du certificat à partir du keystore:

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

Récupérez les détails du certificat à partir du Truststore:

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