Configurar recopilación de logs de API de REST

Oracle Log Analytics le permite configurar una recopilación de logs continua basada en API de REST a partir de URL de punto final que respondan 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 dentro del marco temporal especificado en la solicitud.

Este es un método recomendado cuando se desea automatizar la recopilación continua de logs desde entornos, plataformas o aplicaciones como servicios de OCI, Fusion Apps, aplicaciones 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 un tiempo de log desde el que iniciar la recopilación de logs, proporcionar un desplazamiento para iterar y recopilar datos a través de los resultados de página de un punto final de log y recopilar logs a través de 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 obtener un flujo integral de la ingesta de logs de auditoría de Fusion Applications, consulte Ingesta de logs de auditoría de Fusion Applications.

Crear origen de API de REST

Oracle Log Analytics ya proporciona un origen de log definido por Oracle para la recopilación de logs de la 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 empezar, si debe crear un nuevo analizador que sea adecuado para sus logs, rellénelo. Consulte Creación de un analizador.

  1. Abra el menú de navegación y haga clic en Observación y gestión. En Log Analytics, haga clic en Administración.

    Los recursos de administración se muestran en el panel en Administración en la izquierda. 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 entidades 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 Agregar punto final de lista para varios logs según sus requisitos:

    • Para proporcionar una única URL de punto final de log mediante la que se pueden recopilar continuamente los logs, 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. De manera opcional, especifique la URL de servidor proxy de log.

      5. Si lo desea, haga clic en Mostrar cabeceras de solicitud para ampliar la sección y haga clic en Agregar para proporcionar cualquier cabecera 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 que ha introducido, 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
        • De manera opcional, especifique la URL de 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.

        • Si lo desea, haga clic en Mostrar cabeceras de solicitud para ampliar la sección y haga clic en Agregar para proporcionar cualquier cabecera 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 el ejemplo de respuesta de punto final de listas de logs. Este es el ejemplo de la respuesta que obtendría para el punto final de la lista de logs que proporcionó en el separador anterior. Por ejemplo:

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

          En el ejemplo anterior, la ruta de acceso 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 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 mediante la incorporación de las claves de ruta de acceso 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}
        • De manera opcional, especifique la URL de 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.

        • De manera opcional, especifique la URL de servidor proxy de log.

        • Si lo desea, haga clic en Mostrar cabeceras de solicitud para ampliar la sección y haga clic en Agregar para proporcionar cualquier cabecera 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 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 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 los valores de tiempo correspondientes de forma dinámica 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 los valores de tiempo correspondientes de forma dinámica 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 lista de logs para sustituir propiedades específicas.

  • {START_TIME}: para especificar la hora desde 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 de recopilación o una duració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 acceso JSON y el 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 el tiempo desde el que 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 POST.

En el siguiente ejemplo se muestra la URL de punto final que recopila logs superiores a 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. La 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 agregarán 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.

    La especificación del formato de hora o epoch es opcional. Si se proporciona una época, la macro se sustituye por un valor de milisegundos de época.

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

  • TZ sirve para proporcionar la zona horaria del registro de hora. No es aplicable si ya se ha proporcionado 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}

El valor de la macro START_TIME se determina de una de las siguientes maneras:

  • Cuando la recopilación se inicia por primera vez para un punto final, START_TIME es la fecha histórica basada en la propiedad de recopilación de agentes Datos históricos. El valor por defecto de esta propiedad es 30 days, es decir, el valor del registro de hora es 30 días antes que el registro de hora actual.

  • Si el campo Hora está definido en el analizador, en las recopilaciones de logs posteriores, el valor de START_TIME es el valor máximo del valor de registro de hora extraído en la recopilación de logs anterior.

  • Si el campo Hora no se extrae de los registros de log definiéndolo en el analizador, el registro de hora actual es el valor de START_TIME.

En caso de que haya filtros en la API, utilice greater than equal to en lugar de greater than para asegurarse de que se cargan todos los registros de log que tengan el mismo registro de hora.

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 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 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 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 sobre los resultados paginados de un punto final de log específico para obtener todos los registros disponibles. La llamada de solicitud de API de REST inicial comienza con el valor de inicio y se incrementa en cada llamada posterior por el valor de incremento. Estas llamadas basadas en índices recursivos se paran cuando no se encuentran más entradas de log. El desplazamiento no se traslada al siguiente ciclo de toma. Comienza a partir del valor por defecto 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, incremento 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 por defecto)

  • {OFFSET(5,2)}

    valor de inicio = 5, incremento = 2

En el siguiente ejemplo se muestra la URL de punto final que 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 las llamadas posteriores, incrementado 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 en 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 del 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 recopilación de logs de API de REST

Utilice las variables para sustituir atributos proporcionados como parte de la respuesta por el punto final de la 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 los valores de URL, parámetros de formulario, carga útil POST o cabecera de solicitud HTTP del punto final de log.

Si la llamada al punto final de la lista de logs falla, 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 acceso JSON: ruta de acceso JSON simple, ruta de acceso JSON de matriz y ruta de acceso JSON de varias matrices.

Ruta de acceso 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 nodos y sus conexiones a sus nodos secundarios posteriores.

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

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

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

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

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

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

Ruta de acceso de JSON de matriz

Si la respuesta de JSON tiene una matriz de objetos de los que se deben extraer 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 de 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 acceso 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 tienen type como firstType, utilice la ruta de acceso JSON $.records[*].id(type='firstType').

Ruta de acceso 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 log:

{
  "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 puntos finales de log siguientes 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, considere 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 credenciales 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 el punto final de log. Si no es así, desactive la casilla de control y proporcione la URL de servidor proxy de 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 de almacén de confianza ssl
Token estático HTTPSTokenCreds HTTPSToken, HTTPSTokenType, propiedades de almacén de confianza ssl (opcional)
Token dinámico HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, propiedades de almacén de confianza ssl

En propiedades del almacén de confianzassl, 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 credencial:

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

Ejemplos de JSON de credenciales

Ejemplo de autenticación básica con nombre de usuario y contraseña a través de 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 autenticación básica con certificados SSL, nombre de usuario y contraseña a través de HTTPS proporcionando explícitamente certificados:

{
  "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 mediante 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 a través de 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 una lista de los orígenes definidos por Oracle disponibles para Fusion Applications, consulte Orígenes definidos por Oracle.

Temas:

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 el ID de documento 2661308.1 en Oracle My Support.

  • Acceso a la API de REST de Fusion Applications: asegúrese de que el acceso a la API esté activado y de que se hayan asignado 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. Cree 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 la instancia/servidor de Fusion Applications. Asegúrese de que el plugin de Log Analytics se despliegue durante la instalación. Consulte Instalación de Management Agents.

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

    La ubicación del directorio /bin depende de cómo se despliegue el agente de gestión:

    • Para las instancias de Management Agent que se ejecutan en instancias informáticas mediante el plugin de Oracle Cloud Agent, el script se encuentra en /var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris/agent_inst/bin.

    • Para las instancias de Management Agent instaladas manualmente, el script se encuentra en /opt/oracle/mgmt_agent/agent_inst/bin.

    Navegue hasta el directorio /bin adecuado para la configuración a fin de crear 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 de 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 donde 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 para representar el recurso que emite 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 con 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 Log Analytics. Consulte Configuración de una nueva asociación origen-entidad.

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