Activer les journaux de débogage NGINX sur les routeurs

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

Sur Apigee, les routeurs sont configurés pour ne consigner par défaut que les messages d'erreur dans les fichiers journaux d'erreurs. Toutefois, dans de nombreuses situations, vous pouvez avoir besoin de recueillir davantage d'informations pour déterminer la raison d'une erreur spécifique. Pour ce faire, l'une des méthodes consiste à configurer le routeur pour qu'il fonctionne en mode débogage. Vous pourrez ainsi obtenir des journaux de débogage qui vous aideront à obtenir plus d'informations sur l'erreur et à la résoudre plus rapidement.

Ce document explique comment activer les journaux de débogage sur le routeur Apigee Edge pour les requêtes sur un hôte virtuel spécifique. Vous pouvez activer la journalisation des données de débogage pour capturer plus d'informations en cas de problème, par exemple une requête incorrecte, 400 Bad Request - SSL Certificate Error (400 Bad Request - SSL Certificate Error, erreur de certificat SSL) sur la ligne nord (entre l'application cliente et le routeur).

Avant de commencer

  • Si vous ne connaissez pas les journaux d'erreurs NGINX ni les niveaux de journalisation, consultez la documentation sur les journaux d'erreurs NGINX.
  • Rassemblez l'organisation, l'environnement et les noms d'hôte virtuel des requêtes API pour lesquelles vous devez collecter des informations de débogage.

Activer les journaux de débogage NGINX sur les routeurs

Cette section explique comment activer les journaux de débogage sur les routeurs périphériques.

Fichier de configuration d'hôte virtuel pertinent permettant d'identifier

Les étapes suivantes décrivent comment localiser le fichier de configuration d'hôte virtuel approprié sur le routeur:

  1. Si vous connaissez le nom de l'organisation, le nom de l'environnement et l'hôte virtuel pour la requête API spécifique que vous souhaitez déboguer, déterminez le fichier de configuration de l'hôte virtuel comme suit :
    1. Accédez au répertoire /opt/nginx/conf.d/.
    2. Recherchez le fichier ORG_NAME_ENV_NAME_VIRTUALHOST.conf dans le répertoire conf.d à l'aide de la commande suivante :
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. Si vous ne connaissez pas le nom de l'organisation, vous pouvez identifier le fichier de configuration de l'hôte virtuel à l'aide de l'alias d'hôte utilisé dans la requête API, comme suit:

    Accédez au répertoire /opt/nginx/conf.d/ et recherchez hostalias avec lequel la requête a été effectuée à l'aide de la commande suivante:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Exemple de résultat :

    Supposons que le nom de l'alias d'hôte soit opdk.cert-test.com. Lorsque vous exécutez la commande ls -ltrh, le résultat suivant s'affiche:

Activer la journalisation de débogage pour un hôte virtuel spécifique sur le routeur

Les étapes suivantes décrivent comment activer les journaux de débogage sur les routeurs Apigee pour un hôte virtuel spécifique.

  1. Ouvrez le fichier suivant sur la machine routeur dans un éditeur : /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. Exemple :
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Modifiez la ligne suivante :
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

    pour

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Enregistrez les modifications.
  4. Exécutez la commande d'actualisation NGINX. Exemple :
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. Le fichier suivant capture désormais les journaux de débogage :
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Si vous souhaitez capturer des journaux de débogage sur plusieurs routeurs, répétez cette procédure sur chacun des routeurs.

Vérifier que les informations de débogage sont consignées dans le fichier journal des erreurs NGINX

  1. Une fois que les clients effectuent des requêtes API sur l'alias d'hôte et le port associés à la configuration de l'hôte virtuel, les journaux de débogage sont capturés dans le fichier suivant:

    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log

  2. Vérifiez que vous voyez bien des informations de débogage pour les requêtes API, comme illustré dans l'exemple suivant:

    Exemple d'informations de débogage:

    2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
    

    Les informations affichées ci-dessus sont capturées lorsque le client envoie une requête POST avec une charge utile volumineuse. Ce journal ne s'affiche que lorsque la journalisation de débogage est activée.

  3. Si vous ne voyez pas d'informations de débogage supplémentaires, vérifiez que vous avez correctement suivi toutes les étapes décrites dans la section Activer la journalisation de débogage pour un hôte virtuel spécifique sur le routeur. Si vous avez manqué une étape, répétez toutes les étapes correctement.
  4. Si vous ne parvenez toujours pas à obtenir les informations de débogage, veuillez contacter l'assistance Apigee Edge.

Désactiver les journaux de débogage pour un hôte virtuel spécifique sur le routeur

Cette section explique comment désactiver les journaux de débogage au niveau du routeur pour un hôte virtuel spécifique.

  1. Ouvrez le fichier suivant sur le routeur dans un éditeur : /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Exemple :
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Modifiez la ligne suivante:

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    

    pour

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. Enregistrez les modifications.
  4. Exécutez la commande d'actualisation NGINX. Exemple :
    /opt/nginx/scripts/apigee-nginx reload
    
  5. Le fichier suivant ne capturera désormais que les journaux d'erreurs :
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Si vous souhaitez arrêter les journaux de débogage sur plusieurs routeurs, répétez cette procédure sur chacun des routeurs.

Vérification que seules les informations sur les erreurs sont consignées dans le fichier journal des erreurs NGINX

  1. Envoyez des requêtes API sur l'alias d'hôte et le port associés à la configuration d'hôte virtuel spécifique ou attendez que les clients effectuent les requêtes.
  2. Vérifiez le fichier suivant : /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Vérifiez que seules les informations d'erreur s'affichent et que les informations de débogage ne sont plus consignées pour les requêtes.
  4. Si d'autres informations de débogage sont toujours enregistrées, vérifiez que vous avez correctement suivi toutes les étapes décrites dans la section Désactiver les journaux de débogage pour un hôte virtuel spécifique sur le routeur. Si vous avez manqué une étape, répétez toutes les étapes correctement.
  5. Si vous ne parvenez toujours pas à obtenir les informations de débogage, veuillez contacter l'assistance Apigee Edge.