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

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

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é ocurrió un error específico. Una de las formas de hacerlo es configurar el router para que funcione en modo de depuración, de modo 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 host virtual específico. Se puede habilitar el registro de depuración para capturar más información cuando hay problemas, como una solicitud con formato incorrecto, un error de certificado SSL o una solicitud incorrecta 400, en la Northbound (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 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.

Cómo habilitar 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 de Edge.

Cómo identificar el archivo de configuración del host virtual pertinente

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

  1. Si conoces el nombre de la organización, el nombre del entorno y el host virtual para la solicitud a la API específica que deseas depurar, determina el archivo conf 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 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 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 de host es opdk.cert-test.com. Cuando ejecutes el ls -ltrh comando, verás el resultado que 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 host virtual específico 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;

    a

    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 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.

Cómo verificar que la información de depuración se registre en el archivo de registro de errores de NGINX

  1. Una vez que los clientes realicen solicitudes a la API en el alias de host y el puerto asociados con la configuración del 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 la información de depuración para las solicitudes a la API como se muestra en el siguiente ejemplo:

    Información de depuración de muestra:

    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 se mostrará solo cuando esté habilitado el registro de depuración.

  3. Si no ves información de depuración adicional, verifica que hayas seguido correctamente todos los pasos descritos en Cómo habilitar el registro de depuración para un host virtual específico en el router. Si 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.

Cómo inhabilitar 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;

    a

    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 de recarga de NGINX. Por ejemplo:
    /opt/nginx/scripts/apigee-nginx reload
  5. El siguiente archivo ahora capturará solo registros de errores:
    /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 de los routers.

Cómo verificar que solo se registre información de errores en el archivo de registro de errores de NGINX

  1. Realiza algunas solicitudes a la API en el alias de host y el puerto asociados con la configuración del host virtual específico o espera a que los clientes realicen las solicitudes.
  2. Consulta 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 errores y que ya no se registre información de depuración para las solicitudes.
  4. Si aún ves que se registra información de depuración adicional, verifica que hayas seguido correctamente todos los pasos descritos en Cómo inhabilitar los registros de depuración para un host virtual específico en el router. Si 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 el equipo de asistencia de Apigee Edge.