Agregación de registro a despliegues de API

Descubra cómo agregar políticas de registro a especificaciones de API creadas anteriormente con gateway de API.

Tras crear un gateway y desplegar una o varias API en él, probablemente necesite ver más detalles sobre el flujo de tráfico dentro y fuera de dicho gateway. Por ejemplo, puede que desee revisar las respuestas devueltas a los clientes de API o solucionar errores. Puede especificar que el servicio de gateway de API almacene información sobre las solicitudes y respuestas que pasan por un gateway de API, así como información sobre el procesamiento en un gateway de API en forma de logs en el servicio Oracle Cloud Infrastructure Logging.

Puede definir y almacenar dos tipos de logs para los despliegues de API en el servicio Oracle Cloud Infrastructure Logging:
  • Logs de acceso, que registran un resumen de cada solicitud y respuesta que pasa por el gateway de API hacia y desde un despliegue de API. Para obtener más información sobre el contenido del log de acceso, consulte Log de acceso al despliegue de API.
  • Logs de ejecución, que registran la información sobre procesamiento en el gateway de API para un despliegue de API. Para obtener más información sobre el contenido del log de ejecución, consulte Log de ejecución del despliegue de API. Puede especificar un nivel de log para los logs de ejecución como uno de los siguientes:
    • Información: para registrar un resumen de cada etapa de procesamiento.
    • Advertencia: para registrar solo los errores transitorios que se producen durante el procesamiento. Por ejemplo, un restablecimiento de conexión.
    • Error: para registrar solo errores persistentes que se producen durante el procesamiento. Por ejemplo, un error interno o una llamada a una función que devuelve un mensaje 404.

    Puede definir un nivel de log de ejecución para un despliegue de API y también definir diferentes niveles de log de ejecución para rutas individuales para sustituir el nivel de log de ejecución heredado del despliegue de API.

Puede agregar registros a una especificación de despliegue de API mediante:

  • uso de la Consola
  • edición de un archivo JSON

Uso de la consola para agregar registros

Uso de la consola para configurar y activar logs en Oracle Cloud Infrastructure Logging

Para configurar y activar logs de despliegue de API mediante la consola para almacenar logs en Oracle Cloud Infrastructure Logging:

  1. Cree o actualice un despliegue de API con la consola, seleccione la opciónDesde cero e introduzca los detalles en la página Información básica.

    Para obtener más información, consulte Despliegue de una API en un gateway de API a través de la creación de un despliegue de API y Actualización de un gateway de API o un despliegue de API.

  2. En la sección Políticas de registro de API de la página Información básica, especifique una de las siguientes opciones como Nivel de log de ejecución para registrar información sobre el procesamiento en el gateway de API:

    • Información: registrar un resumen de cada etapa de procesamiento. Esta es la opción por defecto.
    • Advertencia: registrar solo los errores transitorios que se producen durante el procesamiento. Por ejemplo, un restablecimiento de conexión.
    • Error: registrar solo errores persistentes que se producen durante el procesamiento. Por ejemplo, un error interno o una llamada a una función que devuelve un mensaje 404.
  3. Haga clic dos veces en Siguiente para introducir detalles de rutas individuales en el despliegue de API en la página Rutas y haga clic en Mostrar políticas de registro de ruta.

  4. Especifique una de las siguientes opciones como Sustitución de nivel de log de ejecución que se aplica a una ruta individual (para sustituir el nivel de log de ejecución heredado del despliegue de API):

    • Información: registrar un resumen de cada etapa de procesamiento.
    • Advertencia: registrar solo los errores transitorios que se producen durante el procesamiento. Por ejemplo, un restablecimiento de conexión.
    • Error: registrar solo errores persistentes que se producen durante el procesamiento. Por ejemplo, un error interno o una llamada a una función que devuelve un mensaje 404.
  5. Haga clic en Siguiente para revisar los detalles introducidos para el despliegue de API.
  6. Haga clic en Crear o en Guardar cambios para crear o actualizar el despliegue de API.

    El despliegue de API se muestra en la página Detalles de despliegue de API.

  7. En Recursos, haga clic en Logs y, a continuación, haga clic en el control deslizante Activar registro para crear y activar un nuevo log de despliegue de API en el servicio Oracle Cloud Infrastructure Logging en el panel de entrada Crear log:
    • Compartimento: por defecto, el compartimento actual.
    • Grupo de logs: por defecto, el primer grupo de logs del compartimento.
    • Categoría de log: seleccione Ejecución o Acceso.
    • Nombre de log: por defecto, <deployment-name>_execution o <deployment-name>_access, según la categoría que seleccione.

    Para obtener más información, consulte Activación de registro para un recurso.

  8. Haga clic en Activar log para crear el nuevo log y activarlo.

Edición de un archivo JSON para agregar registros

Edición de un archivo JSON para definir el nivel de log de ejecución para logs almacenados en Oracle Cloud Infrastructure Logging

Para editar la especificación de despliegue de API en un archivo JSON para definir el nivel de los logs de ejecución almacenados en Oracle Cloud Infrastructure Logging:

  1. Mediante el editor JSON preferido, edite la especificación de despliegue de API existente en la que desea definir el nivel de los logs de ejecución almacenados en Oracle Cloud Infrastructure Logging o cree una nueva especificación de despliegue de API (consulte Creación de una especificación de despliegue de API).

    Como mínimo, la especificación de despliegue de API incluirá una sección routes que contiene:

    • Una ruta de acceso. Por ejemplo, /hello.
    • Uno o varios métodos. Por ejemplo, GET
    • Una definición de backend. Por ejemplo, una URL o el OCID de una función en OCI Functions.

    Por ejemplo, la siguiente especificación de despliegue de API básico define una función sencilla de Hello World sin servidor en OCI Functions como un único backend:

    {
      "routes": [
        {
          "path": "/hello",
          "methods": ["GET"],
          "backend": {
            "type": "ORACLE_FUNCTIONS_BACKEND",
            "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
          }
        }
      ]
    }
  2. (Opcional) Para definir el nivel de los logs de ejecución que se aplica globalmente a todas las rutas de la especificación de despliegue de API:

    1. Inserte una sección loggingPolicies antes de la sección routes. Por ejemplo:

      
      {
        "loggingPolicies": {},
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            }
          }
        ]
      }
    2. Especifique el nivel de detalle que desea registrar sobre el procesamiento en el gateway de API para todas las rutas mediante la inclusión de la política executionLog en la sección loggingPolicies y la definición de la propiedad logLevel en una de las siguientes opciones:

      • INFO para registrar un resumen de cada etapa de procesamiento.
      • WARN para registrar solo los errores transitorios que se producen durante el procesamiento. Por ejemplo, un restablecimiento de conexión.
      • ERROR para registrar solo errores persistentes que se producen durante el procesamiento. Por ejemplo, un error interno o una llamada a una función que devuelve un mensaje 404.

      Por ejemplo:

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            }
          }
        ]
      }
  3. (Opcional) Para definir el nivel de los logs de ejecución de una ruta concreta (sustitución del nivel de log de ejecución global heredado del despliegue de API):

    1. Inserte una sección loggingPolicies después de la sección backend de la ruta. Por ejemplo:

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            },
            "loggingPolicies": {}
          }
        ]
      }
    2. Especifique el nivel de detalle que desea registrar sobre el procesamiento en el gateway de API para la ruta mediante la inclusión de la política executionLog en la sección loggingPolicies y la definición de la propiedad logLevel en una de las siguientes opciones:

      • INFO para registrar un resumen de cada etapa de procesamiento.
      • WARN para registrar solo los errores transitorios que se producen durante el procesamiento. Por ejemplo, un restablecimiento de conexión.
      • ERROR para registrar solo errores persistentes que se producen durante el procesamiento. Por ejemplo, un error interno o una llamada a una función que devuelve un mensaje 404.

      Por ejemplo:

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            },
            "loggingPolicies": {
              "executionLog": {
                "logLevel": "ERROR"
              }
            }
          }
        ]
      }
  4. Guarde el archivo JSON que contiene la especificación de despliegue de API.

  5. Utilice la especificación de despliegue de API al crear o actualizar un despliegue de API de las siguientes formas:

    • Especificando el archivo JSON en la consola al seleccionar la opción Cargar API existente.
    • Especificando el archivo JSON en una solicitud para la API REST de gateway de API.

    Para obtener más información, consulte Despliegue de una API en un gateway de API mediante la creación de un despliegue de API.

  6. Después de definir el nivel de los logs de ejecución, siga las instrucciones de Activación del registro de un recurso para crear y activar un nuevo log de despliegue de API en el servicio Oracle Cloud Infrastructure Logging.

Visualización de logs

Tras agregar registros a una especificación de despliegue de API y desplegar la API en un gateway de API, el servicio de gateway de API escribe los logs según corresponda.

Visualización de logs en Oracle Cloud Infrastructure Logging

Puede ver el contenido de un log de despliegue de API en Oracle Cloud Infrastructure Logging desde la página Detalles de despliegue de API. En Recursos, haga clic en Logs y, a continuación, haga clic en el nombre del log que desea ver.

También puede ver el contenido de un log de despliegue de API desde la página Búsqueda de log de Oracle Cloud Infrastructure Logging. Consulte Obtención de detalles de un log.

Para obtener más información sobre el contenido de los logs de acceso y ejecución, consulte: