Activer les journaux de débogage NGINX sur les routeurs

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.
info

Dans Apigee, les routeurs sont configurés pour n'enregistrer que les messages d'erreur dans les fichiers journaux d'erreurs par défaut. Cependant, dans de nombreuses situations, vous devrez peut-être collecter davantage d'informations pour déterminer la cause d'une erreur spécifique. Pour ce faire, vous pouvez 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. La journalisation de débogage peut être activée pour capturer plus d'informations en cas de problèmes tels qu'une requête mal formée, une erreur de requête incorrecte 400 - Erreur de certificat SSL, sur le Northbound (entre l'application cliente et le routeur).

Avant de commencer

  • Si vous n'êtes pas familiarisé avec les journaux d'erreurs et les niveaux de journalisation NGINX, veuillez consulter la documentation sur les journaux d'erreurs NGINX.
  • Collectez les noms de l'organisation, de l'environnement et de l'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 Edge.

Identifier le fichier de configuration d'hôte virtuel approprié

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 de la requête API spécifique que vous souhaitez déboguer, déterminez le fichier de configuration d'hôte virtuel comme suit :
    1. Accédez au /opt/nginx/conf.d/ répertoire.
    2. Recherchez le fichier ORG_NAME_ENV_NAME_VIRTUALHOST.conf fichier 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 d'hôte virtuel à l'aide du nom d'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 ls -ltrh commande, le résultat s'affiche comme suit :

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 du 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 de rechargement 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 ces étapes sur chacun de ces routeurs.

Vérifier que les informations de débogage sont enregistrées dans le fichier journal d'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 d'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 les informations de débogage des requêtes API s'affichent comme 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 ci-dessus sont capturées lorsque le client envoie une POST requête 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 Activer la journalisation de débogage pour un hôte virtuel spécifique sur le routeur correctement. Si vous avez manqué une étape, répétez-les toutes 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 sur le routeur pour un hôte virtuel spécifique.

  1. Ouvrez le fichier suivant sur la machine du 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 de rechargement NGINX. Exemple :
    /opt/nginx/scripts/apigee-nginx reload
  5. Le fichier suivant capture désormais uniquement 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 ces étapes sur chacun d'eux.

Vérifier que seules les informations d'erreur sont enregistrées dans le fichier journal d'erreurs NGINX

  1. Effectuez 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 enregistrées pour les requêtes.
  4. Si vous constatez que des informations de débogage supplémentaires sont toujours enregistrées, vérifiez que vous avez correctement suivi toutes les étapes décrites dans 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-les toutes correctement.
  5. Si vous ne parvenez toujours pas à obtenir les informations de débogage, veuillez contacter l'assistance Apigee Edge.