Configurar recopilación de logs de API de REST

Oracle Logging Analytics permite configurar una recopilación de logs continua basada en API de REST a partir de URL de punto final que responden con mensajes de log. El origen de log de la API de REST se debe configurar con una API que responda con los mensajes de log generados en el marco temporal especificado en la solicitud.

Este es un método recomendado cuando desea automatizar la recopilación continua de logs de entornos, plataformas o aplicaciones como servicios de OCI, aplicaciones de Fusion, aplicaciones de ERP o cualquier otra aplicación que emita logs a través de una API. Hay macros disponibles que se pueden utilizar en la definición de origen para especificar una hora de log desde la que iniciar la recopilación de logs, proporcionar un desplazamiento para iterar y recopilar datos sobre los resultados de página de un punto final de log y recopilar logs sobre una ventana de recopilación o un marco temporal.

Flujo general para recopilar logs mediante el origen basado en API de REST

A continuación se muestran las tareas de alto nivel para recopilar información de log mediante el origen basado en la API de REST:

Para conocer el flujo completo de ingestión de logs de auditoría de Fusion Applications, consulte Ingestión de logs de auditoría de Fusion Applications.

Crear origen de API de REST

Oracle Logging Analytics ya proporciona un origen de log definido por Oracle para la recopilación de logs de API de REST. Compruebe si puede utilizar el origen de API de REST definido por Oracle disponible o cualquier analizador definido por Oracle. Si no es así, utilice los siguientes pasos para crear un nuevo origen de log:

Antes de comenzar, si debe crear un nuevo analizador que sea adecuado para los logs, hágalo. Consulte Creación de un analizador.

  1. Abra el menú de navegación y haga clic en Observación y gestión. En Logging Analytics, haga clic en Administración. Se abre la página Visión general de administración.

    Los recursos de administración se muestran en el panel de navegación de la izquierda en Recursos. Haga clic en Orígenes.

  2. Se abre la página Orígenes. Haga clic en Crear origen.

    Aparecerá el cuadro de diálogo Crear origen.

  3. En el campo Nombre, introduzca el nombre del origen de log.

  4. En la lista Tipo de origen, seleccione API de REST.

  5. Haga clic en Tipo de entidad y seleccione el tipo que mejor identifique la aplicación.

  6. Haga clic en Analizador y seleccione un analizador adecuado para el tipo de logs que desea recopilar.

  7. En el separador Puntos finales, haga clic en Agregar punto final de log o en Agregar punto final de lista para varios logs según sus requisitos:

    • Para proporcionar una única URL de punto final de log con la que se pueden recopilar los logs de forma continua, haga clic en Agregar punto final de log. Se abre el cuadro de diálogo Agregar punto final de log.

      Proporcione la siguiente información:

      1. Introduzca el nombre de punto final de log.

      2. Cree la URL de log para recopilar los logs periódicamente. Consulte URL de punto final de log en Tipos de URL de punto final.

      3. Seleccione el método de API GET o POST.

        Si ha seleccionado POST, introduzca la carga útil de POST para el método y seleccione el tipo de contenido de solicitud de JSON, Text, Javascript, HTML y XML.

      4. Opcionalmente, especifique la URL del servidor proxy de log.

      5. Opcionalmente, haga clic en Mostrar cabeceras de solicitud para ampliar la sección y haga clic en Agregar para proporcionar las cabeceras de solicitud con el formato de pares Nombre-Valor.

      6. Opcionalmente, haga clic en Mostrar parámetros de consulta para ampliar la sección y haga clic en Agregar para proporcionar cualquier parámetro de consulta con el formato de pares Nombre-Valor.

      7. En la sección Credenciales, seleccione el tipo de credencial de log. Consulte Selección del tipo de credencial para la recopilación de logs de API de REST.

      8. Para validar la información de configuración introducida, haga clic en Validar. Si hay errores, corríjalos.

        Haga clic en Guardar cambios.

    • Para proporcionar una URL que devuelva una respuesta JSON con la información que se puede utilizar para generar una lista de URL de punto final de log para recopilar varios logs, haga clic en Agregar punto final de lista para varios logs. Se abre el cuadro de diálogo Agregar punto final de lista para varios logs.

      1. Separador Configurar punto final de lista:

        • Introduzca el nombre de punto final de lista de logs.

        • Cree la URL de lista de logs para obtener la información sobre los archivos log. Consulte URL de punto final de lista de logs en Tipos de URL de punto final. Por ejemplo:

          https://example.org/fetchlogfiles_data
        • Opcionalmente, especifique la URL del servidor proxy de log.

        • Seleccione el método de API GET o POST.

          Si ha seleccionado POST, introduzca la carga útil de POST para el método y seleccione el tipo de contenido de solicitud de JSON, Text, Javascript, HTML y XML.

        • Opcionalmente, haga clic en Mostrar cabeceras de solicitud para ampliar la sección y haga clic en Agregar para proporcionar las cabeceras de solicitud con el formato de pares Nombre-Valor.

        • Opcionalmente, haga clic en Mostrar parámetros de consulta para ampliar la sección y haga clic en Agregar para proporcionar cualquier parámetro de consulta con el formato de pares Nombre-Valor.

        • En la sección Credenciales, seleccione el tipo de credencial de log. Consulte Selección del tipo de credencial para la recopilación de logs de API de REST.

        • Haga clic en Siguiente.

      2. Separador Configurar punto final de log:

        • Proporcione la respuesta de ejemplo del punto final de lista de logs. Este es el ejemplo de la respuesta que obtendría para el punto final de lista de logs proporcionado en el separador anterior. Por ejemplo:

          { "totalSize": 4, "records": [ {"id": "firstId", "type": "firstType"}, {"id": "secondId", "type": "secondType"} ] }

          En el ejemplo anterior, la ruta de JSON records[*].id se puede utilizar en la URL de punto final. Para obtener más información sobre las variables de ruta de acceso de JSON, consulte Variables para la recopilación de logs de API de REST.

        • Introduzca el nombre de punto final de log.

        • Cree la URL de log para recopilar los logs periódicamente incorporando las claves de ruta de JSON identificadas en la respuesta de ejemplo al punto final de la lista de logs. Consulte URL de punto final de log en Tipos de URL de punto final. Por ejemplo:

          https://example.org/fetchLogs?time={START_TIME}&id={testLogListEP:$.records[*].id}
        • Opcionalmente, especifique la URL del servidor proxy de log.

        • Seleccione el método de API GET o POST.

          Si ha seleccionado POST, introduzca la carga útil de POST para el método y seleccione el tipo de contenido de solicitud de JSON, Text, Javascript, HTML y XML.

        • Opcionalmente, especifique la URL del servidor proxy de log.

        • Opcionalmente, haga clic en Mostrar cabeceras de solicitud para ampliar la sección y haga clic en Agregar para proporcionar las cabeceras de solicitud con el formato de pares Nombre-Valor.

        • Opcionalmente, haga clic en Mostrar parámetros de consulta para ampliar la sección y haga clic en Agregar para proporcionar cualquier parámetro de consulta con el formato de pares Nombre-Valor.

        • En la sección Credenciales, seleccione el tipo de credencial de log. Consulte Selección del tipo de credencial para la recopilación de logs de API de REST.

        • Haga clic en Siguiente.

      3. Separador Revisar y agregar: se valida la información de configuración proporcionada en los separadores anteriores. Verifique la lista de direcciones URL de las que se recopilarán los logs.

        Si hay errores, corríjalos.

        Haga clic en Guardar.

  8. Haga clic en Crear origen.

Tipos de URL de punto final

URL de punto final de lista de logs: la URL de punto final de lista de logs debe devolver una respuesta de JSON con la información que se puede utilizar para crear una lista de URL de punto final de log para recopilar los logs. Especifique las variables de ruta de acceso de JSON necesarias para crear la lista de puntos finales de log a partir de la respuesta de JSON. Además, puede utilizar las macros {START_TIME} y {CURR_TIME} para insertar dinámicamente los valores de tiempo correspondientes en la URL.

URL de punto final de log: la URL de punto final de log se utiliza para recopilar logs de un punto final de API de REST específico a intervalos regulares. Puede utilizar las macros {START_TIME}, {CURR_TIME} y {TIME_WINDOW} para insertar dinámicamente los valores de tiempo correspondientes en la URL. La macro {OFFSET} se puede utilizar para soportar la paginación. También puede utilizar variables de ruta de acceso JSON de la respuesta de la llamada de punto final de la lista de logs para sustituir propiedades específicas.

  • {START_TIME}: para especificar la hora a partir de la que se deben recopilar los logs
  • {OFFSET}: para manejar la recopilación de logs paginados
  • {CURR_TIME}: para proporcionar la hora actual
  • {TIME_WINDOW}: para especificar un intervalo o duración de recopilación

Para obtener más información sobre el uso de las macros, consulte START_TIME Macro, CURR_TIME Macro, OFFSET Macro y TIME_WINDOW Macro.

Para obtener más información sobre el uso de las variables de la respuesta de punto final de lista de logs que se pueden especificar en la URL de punto final de log, ejemplos de ruta de JSON y uso de filtros de variables, consulte Variables para la recopilación de logs de API de REST.

Macro START_TIME

Utilice la macro START_TIME para especificar la hora a partir de la cual se deben recopilar los logs. La macro START_TIME se puede utilizar en una URL de punto final, parámetros de formulario o carga útil de POST.

En el siguiente ejemplo se muestra la URL de punto final que recopila logs mayores que un registro de hora especificado por la macro START_TIME:

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&filter=timestamp+gt+{START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}

Sintaxis:

{START_TIME<+nX>:<epoch | timestamp format supported by SimpleDateFormat java class>.TZ=<timezone name>}
  • n es el valor de tiempo del rango de fechas. X se expresa en Días (D), Horas (h), Minutos (m), Meses (M), Año (Y).

  • +nX es el número de días, horas, minutos, meses o años que se van a agregar a la hora de inicio. Es opcional. Por ejemplo, +3D.

  • Los formatos de hora soportados son los mismos que los de la clase java SimpleDateFormat. El formato de hora por defecto es yyyy-MM-dd'T'HH:mm:ss.SSSZ. Por ejemplo, 2001-07-04T12:08:56.235-0700.

    Especificar el formato de hora o epoch es opcional. Si se proporciona epoch, la macro se sustituye por el valor de milisegundos de epoch.

    Para conocer los formatos de registro de hora admitidos por SimpleDateFormat, consulte Java Platform Standard Ed. 8: Class SimpleDateFormat.

  • TZ se utiliza para proporcionar la zona horaria del registro de hora. No es aplicable si ya se ha indicado una época. El formato admitido es el mismo que los ID de 3 letras de la clase java TimeZone, por ejemplo UTC.

  • Puede incluir varias instancias de esta macro en la URL.

  • Ejemplos:

    1. {START_TIME:yyyy-MM-dd'T'HH:mm:ss.SSS.TZ=UTC}
    2. {START_TIME:epoch}

Macro CURR_TIME

Utilice la macro CURR_TIME para insertar la hora actual en la URL de punto final de la API de REST, los parámetros de formulario y la carga útil de POST.

En el siguiente ejemplo se muestra la URL de punto final que utiliza la macro CURR_TIME en el parámetro de consulta:

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&time={CURR_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}
  • El formato para utilizar la macro es el mismo que el de la macro START_TIME.

  • Puede incluir varias instancias de esta macro en la URL.

Macro OFFSET

Utilice la macro OFFSET para los puntos finales que proporcionan respuestas paginadas o para manejar el comportamiento de desplazamiento en una respuesta de API. La macro OFFSET se puede utilizar en la URL de punto final de la API de REST, los parámetros de formulario y la carga útil de POST para recuperar varias páginas o fragmentos en un único ciclo de recopilación de logs.

Formato: {OFFSET(<start value>, <increment>)}

  • La macro OFFSET se utiliza para llamar y recopilar datos de forma iterativa a través de resultados paginados de un punto final de log específico para obtener todos los registros disponibles. La llamada de solicitud de la API de REST inicial comienza con el valor de inicio y se incrementa en cada llamada posterior por el valor de incremento. Estas llamadas recursivas basadas en índices se paran cuando no se encuentran más entradas de log. La desviación no se traslada al siguiente ciclo de toma. Comienza a partir del valor predeterminado o inicial en cada ciclo de recopilación.

  • En el formato anterior, el valor de inicio es el valor inicial del índice y el valor por defecto es 0. Es opcional especificar el valor de inicio.

    Valores posibles: entero positivo incluido 0

  • En el formato anterior, increment especifica el valor que se agregará al valor de inicio en las llamadas posteriores. El valor por defecto es 1. Es opcional especificar el valor de incremento.

    Valores posibles: solo entero positivo. Excluir 0.

  • Solo puede incluir una instancia de esta macro en la URL.

Los siguientes ejemplos muestran diferentes formas de utilizar la macro OFFSET:

  • {OFFSET}

    Utiliza los valores predeterminados valor de inicio = 0, incremento = 1.

  • {OFFSET(5)}

    valor de inicio = 5, incremento = 1 (valor predeterminado)

  • {OFFSET(5,2)}

    valor de inicio = 5, incremento = 2

En el siguiente ejemplo se muestra la URL de punto final en la que se utiliza la macro OFFSET:

https://example.org/fetchLogs?startIndex={OFFSET(0,1000)}&count=1000

En el ejemplo anterior, OFFSET(0,1000) indica que valor de inicio es 0 en la primera llamada y, a continuación, en llamadas posteriores, aumentado en 1000. Por lo tanto, cuando se interpreta la macro OFFSET, la URL de punto final para varias llamadas sería la siguiente:

Primera llamada: https://example.org/fetchLogs?startIndex=0&count=1000

Segunda llamada: https://example.org/fetchLogs?startIndex=1000&count=1000

Macro TIME_WINDOW

Utilice la macro TIME_WINDOW para especificar el intervalo de recopilación durante el que se deben recopilar los logs. Se puede utilizar en la URL de punto final de la API de REST para recuperar logs en minutos, horas o días, independientemente del intervalo de recopilación del agente. Por ejemplo, si la ventana de tiempo es 1d (un día) y el intervalo de agente es de 10 minutos, la recopilación de logs posterior se realiza solo después de un día.

En el siguiente ejemplo se define el intervalo de recopilación de logs durante 6 horas especificando TIME_WINDOW como 6h en la URL de punto final:

https://example.org/fetchLogs?timewindow={TIME_WINDOW(6h)}

Formato: {TIME_WINDOW(<number><timeunit>)}

En el formato anterior:

  • número: número de dígito mayor que cero.

  • timeunit: h para horas, d para días, m para minutos. El valor por defecto es d (días).

Asegúrese de que el intervalo de recopilación de agentes es menor que la ventana de tiempo proporcionada. Puede utilizar la macro TIME_WINDOW solo una vez en el punto final.

Variables para la recopilación de logs de API de REST

Utilice las variables para sustituir los atributos proporcionados como parte de la respuesta por el punto final de lista de logs en la solicitud del punto final de log de forma dinámica en tiempo de ejecución. Las variables se pueden utilizar en la URL, los parámetros de formulario, la carga útil de POST o los valores de cabecera de solicitud HTTP del punto final de log.

Si falla la llamada al punto final de la lista de logs, los mensajes de log del punto final de log no se recopilan debido a la dependencia.

Formato de la variable en el punto final de log:

{<log_list_endpoint_name>:<json path(<filter_field_name>='<value>')>}
  • En el formato anterior, log_list_endpoint_name es el nombre del punto final de la lista de logs.

    El filtro (<filter_field_name>=<value>) es opcional. Solo el atributo que coincide con filter_field_name se selecciona de la respuesta JSON del punto final de la lista de logs y se utiliza en el punto final de log. Por ejemplo:

    https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

    Para obtener un ejemplo detallado del filtro, consulte Ejemplo de filtro.

  • Solo está soportado el tipo de contenido JSON para recuperar los valores de propiedad.

  • La misma variable se puede especificar varias veces.

  • Las variables solo pueden hacer referencia a puntos finales de lista válidos y no a puntos finales de log.

  • Están soportados los siguientes formatos de ruta de JSON: ruta de JSON simple, ruta de JSON de matriz y ruta de JSON de varias matrices.

Ruta de JSON simple

Si la respuesta de JSON tiene varios niveles de elementos anidados, puede especificar la ruta de acceso de JSON como una notación especial de los nodos y sus conexiones a los siguientes nodos secundarios.

En el siguiente ejemplo, utilice la ruta de JSON $.foo.abc para obtener result como salida:

{
    "foo" : 
    {
        "abc" : "result"
    }
}

En el siguiente ejemplo, utilice la ruta de JSON $.*.id para obtener la salida ["id1", "id3"] o $.*.* para obtener la salida ["id1", "id2", "id3"]:

{
    "foo" : {
        "id" : "id1"
    },
    "foo2" : {
        "ID" : "id2",
        "id" : "id3"
    }
}

En el siguiente ejemplo, utilice la ruta de JSON $.foo.* para obtener la salida ["id1", "value1"]:

{
    "foo" : {
        "id" : "id1",
        "abcd" : "value1"
    },
    "foo2" : {
        "id" : "id2"
    }
}

Ruta de JSON de matriz

Si la respuesta de JSON tiene una matriz de objetos de los que se deben extraer los datos, especifique el nombre del objeto de matriz y utilice [] para extraer los elementos adecuados dentro de ese objeto de matriz. Por ejemplo, la siguiente respuesta JSON tiene dos matrices de objetos records y item:

{
     "records": [
         {"id": "firstId", "type":"firstType"},
         {"id":"secondId", "type":"secondType"}
     ],
     "items": [
         {"name":"firstName", "field":"value"},
         {"name":"secondName", "field":"value"},
         {"name":"thirdName", "field":"value"}
     ]
}
  • Especifique la ruta de JSON $.records[0].id para recuperar firstId como salida, $.records[1].id para recuperar secondId como salida o $.records[*].id para recuperar id de todos los objetos JSON. En el último caso, la salida es una lista de cadenas ["firstId", "secondId"].

  • También puede especificar condiciones en la ruta de acceso de JSON mediante (). En el ejemplo anterior, para recuperar id solo de aquellos records que tengan type como firstType, utilice la ruta de acceso de JSON $.records[*].id(type='firstType').

Ruta de JSON de varias matrices

Considere el siguiente ejemplo:

Para la URL de punto final de lista de logs getlist:

https://www.example.com/url_list

Respuesta de JSON al punto final de lista de logs:

{
  "records": [ { "id": "firstId", "type": "firstType" }, { "id": "secondId", "type": "secondType" } ],
  "items": [ { "name": "firstName", "field": "value" }, { "name": "secondName", "field": "value" }, { "name": "thirdName", "field": "value" } ]
}

URL de punto final de log (haciendo referencia a variables de getlist):

https://www.example.com/{getlist:$.records[*].id}/{getlist:$.items[*].name}

Con las variables {getlist:$.records[*].id} y {getlist:$.items[*].name}, el agente genera los siguientes puntos finales de log con todas las combinaciones de los dos campos de matriz ["firstId", "secondId"] y ["firstName", "secondName", "thirdName"]:

  • https://www.example.com/firstId/firstName

  • https://www.example.com/secondId/firstName

  • https://www.example.com/firstId/secondName

  • https://www.example.com/secondId/secondName

  • https://www.example.com/firstId/thirdName

  • https://www.example.com/secondId/thirdName

Ejemplo de filtro

Tenga en cuenta la siguiente respuesta de JSON del punto final de lista de logs foo:

{
    "items": [
        {
            "BusinessEventCode": "JournalBatchApproved",
            "CreationDate": "2019-07-27T17:19:19.261+00:00",
            "links": [
                {
                    "rel": "self",
                    "href": "/erpBusinessEvents/self/100100120766717"
                },
                {
                    "rel": "canonical",
                    "href": "/erpBusinessEvents/rel/100100120766717"
                }
            ]
        }
    ]
}

Ahora, tenga en cuenta el siguiente ejemplo de punto final de log:

https://www.example.com/log/{foo:$.items[*].links[*].href(rel='self')}

En el ejemplo anterior, el parámetro de ruta de acceso se sustituye por el elemento de matriz $.items[*].links[*].href de la respuesta JSON del punto final de la lista de logs foo y se especifica una condición adicional para seleccionar solo rel='self'.

Para la respuesta de JSON anterior, el agente genera el siguiente punto final de log:

https://www.example.com/log/erpBusinessEvents/self/100100120766717

Seleccione el tipo de credencial para la recopilación de logs de API de REST

Para autorizar una conexión entre el agente y el origen de la API de REST, primero configure la credencial de API en el almacén de credenciales del agente. Después de configurar las credenciales de origen en el servicio Management Agent en el agente, puede utilizar esta información al crear el origen de log de la API de REST.

Para configurar las credenciales de origen en el servicio Management Agent para permitir que Management Agent recopile datos del host emisor de logs, consulte Credenciales de origen de Management Agent.

Al agregar el punto final de log o el punto final de lista de logs, proporcione la información de credencial en el flujo de trabajo seleccionando el tipo de credencial de log. Seleccione una de las siguientes opciones:

  • Ninguno
  • Autenticación básica: especifique el nombre de credencial de log de la credencial que ha creado en el servicio Management Agent.
  • Token estático: especifique el nombre de credencial de log de la credencial que ha creado en el servicio Management Agent.
  • Token dinámico (OAuth 2.0):

    Especifique el nombre de credencial de token del token que ha creado en el servicio Management Agent. Además, proporcione la información del token, como Nombre de punto final de token, URL de punto final de token, Tipo de otorgamiento y, opcionalmente, Ámbito.

    Si el proxy de token es el mismo que el del punto final de log, mantenga activada la casilla de control Proxy igual que punto final de log. Si no es así, desactive la casilla de control y proporcione la URL del servidor proxy del token.

Asignación de tipos de credenciales al tipo de autenticación:

Tipo de Autenticación Tipo de credencial en Management Agent Propiedades de Credencial
Autenticación básica HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, propiedades del almacén de confianza ssl
Token estático HTTPSTokenCreds HTTPSToken, HTTPSTokenType, propiedades del almacén de confianza ssl (opcional)
Token dinámico HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, propiedades del almacén de confianza ssl

En ssl truststore properties, se incluye la siguiente información:

  • "ssl_trustStoreType": tipo de almacén, por ejemplo, JKS.

  • "ssl_trustStoreLocation": ruta del almacén de confianza

  • "ssl_trustStorePassword": contraseña de almacén de confianza (opcional)

Tenga en cuenta los siguientes aspectos sobre los atributos en el JSON de credenciales:

  • source: el valor debe ser lacollector.la_rest_api

  • name: cualquier nombre adecuado para la credencial

  • type: debe ser uno de los valores especificados en la columna Tipo de credencial en Management Agent de la tabla de tipos de credenciales anterior.

Consulte Ejemplos de JSON de credenciales.

Ejemplos de JSON de credencial

Ejemplo de autorización básica con nombre de usuario y contraseña sobre HTTPS con host de confianza:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSBasicAuthCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" }
  ]
}

Ejemplo de autorización básica con certificados SSL, nombre de usuario y contraseña sobre HTTPS al proporcionar certificados explícitamente:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSCreds",
  "description":"These are HTTPS (BasicAuth) credentials.",
  "properties":
  [
    { "name":"HTTPSUserName", "value":"CLEAR[admin]" },
    { "name":"HTTPSPassword", "value":"CLEAR[myHTTPSPassword]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Ejemplo de token sobre HTTPS con host de confianza:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" }
  ]
}

Ejemplo de token sobre HTTPS con certificados proporcionados explícitamente:

{
  "source":"lacollector.la_rest_api",
  "name":"ExampleRestAPICreds",
  "type":"HTTPSTokenCreds",
  "description":"These are HTTPS (Token) credentials.",
  "properties":
  [
    { "name": "HTTPSToken", "value": "CLEAR[token value]" },
    {"name": "HTTPSTokenType", "value": "CLEAR[Bearer]" },
    { "name":"ssl_trustStoreType", "value":"JKS" },
    { "name":"ssl_trustStoreLocation", "value":"/scratch/certs/mycert.keystore" },
    { "name":"ssl_trustStorePassword", "value":"mySSLPassword" }
  ]
}

Ingesta de logs de auditoría de Fusion Applications

Siga estos pasos para recopilar los logs de auditoría de Fusion Applications. Para obtener la lista de orígenes definidos por Oracle disponibles para Fusion Applications, consulte Orígenes definidos por Oracle.

Topics:

Requisitos

  • Descripción de las API de logs de auditoría de Fusion Applications: para obtener más información sobre el uso y la funcionalidad de la API de logs de auditoría, consulte la documentación de la API de REST de Fusion Applications.

  • Acceso a Fusion Applications: debe tener credenciales y privilegios válidos para acceder a la instancia de Fusion Applications.

  • Identifique los siguientes puntos finales y proxy (opcional):

    • login_url: URL base de la instancia de Fusion Applications
    • pod_url: URL base de la instancia de Fusion Applications
    • proxy_url: (opcional) URL que envía una solicitud al servidor proxy

    Para obtener más información sobre las URL, consulte ID de documento 2661308.1 en Mis Servicios de Soporte de Oracle.

  • Acceso a la API de REST de Fusion Applications: asegúrese de que el acceso a la API esté activado y de que se asignen los roles o privilegios necesarios.

Configurar recopilación de logs de auditoría desde Fusion Applications

  1. Validar la URL base de Fusion Applications:

    • Valide las credenciales de Fusion Applications conectándose a la interfaz de usuario.
    • Opcionalmente, analice las llamadas de rastreo de red para validar la URL base.
    • Asegúrese de que el acceso a la API de auditoría está activado.
  2. Crear las políticas de IAM necesarias: Permitir la recopilación continua de logs mediante instancias de Management Agent

  3. Instale Management Agent en un host que tenga acceso http o https a su instancia/servidor de Fusion Applications. Asegúrese de que el plugin Logging Analytics esté desplegado durante la instalación. Consulte Instalación de Management Agent.

  4. Configure la credencial de API en el almacén de credenciales del agente:

    Navegue a la carpeta /bin del agente de gestión y cree el archivo JSON de credenciales. En el siguiente ejemplo, se muestran los valores proporcionados en el archivo fapps.json:

    {
          "source": "lacollector.la_rest_api",
          "name": "FA-CREDS",
          "type": "HTTPSBasicAuthCreds",
          "description": "These are HTTPS (BasicAuth) credentials.",
          "properties": [
              {
                  "name": "HTTPSUserName",
                  "value": "USER"
              },
              {
                  "name": "HTTPSPassword",
                  "value": "PASS"
              }
          ]
      }

    Agregue las credenciales FA-CREDS al almacén de credenciales del agente:

    cat fapps.json | ./credential_mgmt.sh -s logan -o upsertCredentials

    Para obtener más información sobre la configuración de la credencial de API en el almacén de credenciales del agente, consulte Credenciales de origen de Management Agent.

  5. Compruebe si se puede acceder al punto final de la API de Fusion Applications desde la instancia en la que está instalado el agente. Puede utilizar herramientas como curl para realizar la comprobación.

  6. Crear entidad: cree una entidad del tipo Oracle Fusion Applications y agregue valores de propiedades para login_url y pod_url. Si es necesario, agregue también el valor para proxy_url. Consulte Creación de una entidad que represente su recurso emisor de logs.

  7. Configurar origen: identifique un origen definido por Oracle adecuado para los logs de auditoría de Fusion Applications que pueda utilizar. Si es necesario, puede crear un duplicado del origen existente y editarlo. Consulte Editar origen.

    • Asegúrese de que se hace referencia correctamente a la credencial en el punto final de log del origen.
    • Agregue un proxy a los puntos finales de log, si es necesario.
  8. Programar recopilación de datos en el lado del agente: asocie el origen a la entidad para programar la recopilación de datos. Utilice el agente de gestión para llamar periódicamente a las API de auditoría de Fusion Applications y transferir datos a Logging Analytics. Consulte Configuración de una nueva asociación origen-entidad.

  9. Revisar y validar en el explorador de logs: verifique que los logs se recopilan y analizan correctamente en el explorador de logs. Consulte Visualización de datos mediante gráficos y controles.