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

Estás consultando la documentación de Apigee Edge.
Consulta 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, puede haber muchas situaciones en las que necesites recopilar más información para determinar por qué se produjo un error específico. Una de las formas de hacerlo es configurar el router para que funcione en modo de depuración y 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 de un host virtual específico. El registro de depuración se puede habilitar para captar más información cuando hay problemas, como una solicitud con formato incorrecto, 400 Bad Request - SSL Certificate Error en el límite norte (entre la aplicación cliente y el router).

Antes de comenzar

  • Si no conoces los registros de errores de NGINX y los niveles de registro, consulta la documentación del registro de errores de NGINX.
  • Recopila los nombres de la organización, el entorno y el host virtual de las solicitudes a la API para las que necesitas recopilar información de depuración.

Habilita los 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 de la solicitud a la API específica que deseas depurar, determina el archivo de configuración del host virtual de la siguiente manera:
    1. Navega al directorio /opt/nginx/conf.d/.
    2. Busca 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 no conoces el nombre de la organización, puedes identificar el archivo de configuración del host virtual mediante el nombre del alias de host que se usa en la solicitud a la API, como se muestra a continuación:

    Navega al directorio /opt/nginx/conf.d/ y busca hostalias con el que se realizó la solicitud con 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 el comando ls -ltrh, verás el resultado como se muestra a continuación:

Habilita 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 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 error;
    

    para

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Guarda los cambios.
  4. Ejecutar el comando de recarga de NGINX Por ejemplo:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. El siguiente archivo ahora capturará registros de depuración:
    /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 ellos.

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 la configuración del host virtual, los registros de depuración se capturan en el siguiente archivo:

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

  2. Verifica que estés viendo información de depuración para 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 grande. Este registro solo se mostrará cuando el registro de depuración esté habilitado.

  3. Si no ves información de depuración adicional, verifica si seguiste todos los pasos descritos en Habilita el registro de depuración para un host virtual específico en el router correctamente. Si omitiste algún paso, repite todos los pasos de nuevo de forma correcta.
  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 Router para un host virtual específico.

  1. Abre el siguiente archivo en un editor en la máquina del router: /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. Ejecutar el comando de recarga de NGINX Por ejemplo:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. El siguiente archivo ahora capturará solo los registros de error:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Si quieres detener los registros de depuración en más de un router, repite estos pasos en cada uno de ellos.

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

  1. Realiza algunas solicitudes a la API en el alias del host y el puerto asociados con la configuración específica del host virtual o espera a que los clientes realicen las 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 que la información de depuración ya no esté registrada para las solicitudes.
  4. Si aún observas que se registra información de depuración adicional, verifica que hayas seguido todos los pasos descritos en Inhabilita los registros de depuración para un host virtual específico en el router. Si omitiste algún paso, repite todos los pasos de nuevo de forma correcta.
  5. Si aún no puedes obtener la información de depuración, comunícate con el equipo de asistencia de Apigee Edge.