Habilita los registros de depuración de NGINX en los routers

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

En Apigee, los routers están configurados para registrar solo los mensajes de error en los archivos de registro de errores. de forma predeterminada. Sin embargo, podría haber muchas situaciones en las que quizás debas recopilar más información para determinar por qué ocurrió un error específico. Una de las formas de hacerlo es configurar el router para operar en modo de depuración para que puedas obtener registros de depuración, lo que puede ayudarte a obtener más información sobre el error y resolverlo más rápido.

En este documento, se explica cómo habilitar los registros de depuración en el router de Apigee Edge para las solicitudes en un un host virtual específico. Puede habilitarse el registro de depuración para obtener más información como solicitudes con formato incorrecto, Error 400 Bad Request - SSL Certificate Error en el Sentido norte (entre la aplicación cliente y el router).

Antes de comenzar

  • Si no estás familiarizado con los registros de errores de NGINX y los niveles de registro, consulta el Documentación del registro de errores de NGINX.
  • Recopila los nombres de host virtuales, de organización y de entorno de las solicitudes a la API para las que debes recopilar información de depuración.

Habilita registros de depuración de NGINX en los routers

En esta sección, se explica cómo habilitar los registros de depuración en los routers perimetrales.

Identifica el archivo de configuración de host virtual relevante

En los siguientes pasos, se describe cómo ubicar el archivo de configuración de host virtual relevante en el router:

  1. Si conoces el nombre de la organización, el nombre del entorno y el host virtual para la API específica la solicitud que deseas depurar, luego determina el archivo de configuración del host virtual de la siguiente manera:
    1. Navega al directorio /opt/nginx/conf.d/.
    2. Buscar el archivo ORG_NAME_ENV_NAME_VIRTUALHOST.conf en el directorio conf.d con el siguiente comando:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. Si desconoces el nombre de la organización, puedes identificar la configuración del host virtual. con el nombre del alias de host que se usa en la solicitud a la API de la siguiente manera:

    Navega al directorio /opt/nginx/conf.d/ y busca lo siguiente: hostalias con el cual se realizó la solicitud mediante el siguiente comando:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Resultado de muestra:

    Supongamos que el nombre del alias del host es opdk.cert-test.com. Cuando ejecutes ls -ltrh, verás el resultado como se muestra a continuación:

Cómo habilitar el registro de depuración para un host virtual específico en el router

En los siguientes pasos, se describe cómo habilitar los registros de depuración en los routers de Apigee para un un host virtual.

  1. Abre el siguiente archivo en la máquina del router en un editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Por ejemplo:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Cambia la siguiente línea:
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

    para

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Guarda los cambios.
  4. Ejecuta el comando NGINX reload. Por ejemplo:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. El siguiente archivo capturará los registros de debug:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Si deseas capturar registros de depuración en más de un router, repite estos pasos en cada uno de los routers.

Verifica que la información de depuración se registre en el archivo de registro de errores de NGINX

  1. Una vez que los clientes realizan solicitudes a la API en el alias del host y el puerto asociados con el host virtual los registros de depuración se capturarán en el siguiente archivo:

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

  2. Verifica que veas información de depuración de las solicitudes a la API, como se muestra en el siguiente ejemplo:

    Ejemplo de información de depuración:

    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"
    

    La información que se muestra arriba se capturará cuando el cliente envíe una solicitud POST con una carga útil de gran tamaño. Este registro solo se mostrará cuando el registro de depuración esté habilitado.

  3. Si no ves información de depuración adicional, verifica que hayas seguido todas las los pasos descritos en Habilita correctamente el registro de depuración para un host virtual específico en el router. Si tienes omitiste algún paso, repite todos los pasos correctamente.
  4. Si aún no puedes obtener la información de depuración, comunícate con el equipo de asistencia de Apigee Edge.

Inhabilita los registros de depuración para un host virtual específico en el router

En esta sección, se explica cómo inhabilitar los registros de depuración en el router para un host virtual específico.

  1. Abre el siguiente archivo en la máquina del router en un editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Por ejemplo:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Cambia la siguiente línea:

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

    para

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. Guarda los cambios.
  4. Ejecuta el comando NGINX reload. Por ejemplo:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. El siguiente archivo ahora solo capturará los registros de error:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Si deseas detener los registros de depuración en más de un router, repite estos pasos en cada uno Routers.

Verifica que solo se registre la información de errores en el archivo de registro de errores de NGINX

  1. Realiza algunas solicitudes a la API en el alias y el puerto del host asociados con el host virtual específico o esperar a que los clientes hagan solicitudes.
  2. Verifica el siguiente archivo: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Verifica que solo veas la información de error y de depuración. registrado para las solicitudes.
  4. Si aún ves que se registra información de depuración adicional, verifica que hayas seguido todos los pasos descritos en Inhabilitación correcta de los registros de depuración para un host virtual específico en el router Si tienes omitiste algún paso, repite todos los pasos correctamente.
  5. Si aún no puedes obtener la información de depuración, comunícate con Asistencia de Apigee Edge.