Imposta raccolta log API REST

Oracle Logging Analytics consente di impostare una raccolta di log continua basata su API REST dagli URL degli endpoint che rispondono con i messaggi di log. L'origine log dell'API REST deve essere configurata con un'API che risponde con i messaggi di log generati entro il periodo di tempo specificato nella richiesta.

Si tratta di un metodo consigliato quando si desidera automatizzare la raccolta continua dei log da ambienti, piattaforme o applicazioni quali servizi OCI, Fusion Apps, applicazioni ERP o qualsiasi altra applicazione che emette log tramite un'API. Sono disponibili macro che possono essere utilizzate nella definizione di origine per specificare un'ora di log da cui avviare la raccolta di log, fornire un offset per iterare e raccogliere dati sui risultati di una pagina di un endpoint di log e raccogliere i log in una finestra di raccolta o in un intervallo di tempo.

Flusso generale per la raccolta dei log mediante l'origine basata su API REST

Di seguito sono riportati i task di alto livello per la raccolta delle informazioni di log tramite l'origine basata sull'API REST.

Per un flusso end-to-end di inclusione dei log di audit di Fusion Applications, vedere Inclusione dei log di audit di Fusion Applications.

Crea origine API REST

Oracle Logging Analytics fornisce già un'origine log definita da Oracle per la raccolta dei log delle API REST. Verificare se è possibile utilizzare l'origine API REST definita da Oracle disponibile o qualsiasi parser definito da Oracle. In caso contrario, procedere come segue per creare una nuova origine log:

Prima di iniziare, se è necessario creare un nuovo parser adatto per i log, completarlo. Vedere Creare un parser.

  1. Aprire il menu di navigazione e fare clic su Osservabilità e gestione. In Logging Analytics, fare clic su Amministrazione. Viene visualizzata la pagina Panoramica dell'amministrazione.

    Le risorse di amministrazione sono elencate nel riquadro di navigazione a sinistra in Risorse. Fare clic su Origini.

  2. Viene visualizzata la pagina Origini. Fare clic su Crea origine.

    Viene visualizzata la finestra di dialogo Crea origine.

  3. Nel campo Nome immettere il nome dell'origine log.

  4. Nella lista Tipo di origine selezionare API REST.

  5. Fare clic su Tipo di entità e selezionare il tipo che meglio identifica l'applicazione.

  6. Fare clic su Parser e selezionare un parser appropriato per il tipo di log che si desidera raccogliere.

  7. Nella scheda Endpoint fare clic su Aggiungi endpoint di log o su Aggiungi endpoint di lista per più log a seconda delle esigenze:

    • Per fornire un singolo URL dell'endpoint di log che consenta la raccolta continua dei log, fare clic su Aggiungi endpoint di log. Viene visualizzata la finestra di dialogo Aggiungi endpoint log.

      Fornire le informazioni riportate di seguito.

      1. Immettere il nome endpoint log.

      2. Creare l'URL di log per raccogliere periodicamente i log. Vedere URL endpoint di log in Tipi di URL endpoint.

      3. Selezionare il metodo API GET o POST.

        Se si è selezionato POST, immettere il payload POST per il metodo e selezionare il tipo di contenuto della richiesta da JSON, Text, Javascript, HTML e XML.

      4. Se si desidera, specificare l'URL del server proxy di log.

      5. Facoltativamente, fare clic su Mostra intestazioni richiesta per espandere la sezione e fare clic su Aggiungi per fornire le intestazioni delle richieste sotto forma di coppie Nome-Valore.

      6. Facoltativamente, fare clic su Mostra parametri di query per espandere la sezione e fare clic su Aggiungi per fornire i parametri di query sotto forma di coppie Nome-Valore.

      7. Nella sezione Credenziali, selezionare il tipo di credenziale log. Vedere Selezionare il tipo di credenziale per la raccolta dei log delle API REST.

      8. Per convalidare le informazioni di configurazione immesse, fare clic su Convalida. Se ci sono errori, correggerli.

        Fare clic su Salva modifiche.

    • Per fornire un URL che restituisca una risposta JSON con le informazioni che possono essere utilizzate per generare una lista di URL endpoint di log per raccogliere più log, fare clic su Aggiungi endpoint lista per più log. Viene visualizzata la finestra di dialogo Aggiungi endpoint elenco per più log.

      1. Scheda Configura endpoint lista:

        • Immettere il nome dell'endpoint della lista di log.

        • Creare l'URL della lista di log per ottenere le informazioni sui file di log. Vedere URL endpoint lista di log in Tipi di URL endpoint. Ad esempio:

          https://example.org/fetchlogfiles_data
        • Se si desidera, specificare l'URL del server proxy di log.

        • Selezionare il metodo API GET o POST.

          Se si è selezionato POST, immettere il payload POST per il metodo e selezionare il tipo di contenuto della richiesta da JSON, Text, Javascript, HTML e XML.

        • Facoltativamente, fare clic su Mostra intestazioni richiesta per espandere la sezione e fare clic su Aggiungi per fornire le intestazioni delle richieste sotto forma di coppie Nome-Valore.

        • Facoltativamente, fare clic su Mostra parametri di query per espandere la sezione e fare clic su Aggiungi per fornire i parametri di query sotto forma di coppie Nome-Valore.

        • Nella sezione Credenziali, selezionare il tipo di credenziale log. Vedere Selezionare il tipo di credenziale per la raccolta dei log delle API REST.

        • Successivo.

      2. Scheda Configura endpoint log:

        • Fornire la risposta di esempio dell'endpoint della lista di log. Questo è l'esempio della risposta che si otterrebbe per l'endpoint della lista di log fornito nella scheda precedente. Ad esempio:

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

          Nell'esempio precedente è possibile utilizzare il percorso JSON records[*].id nell'URL dell'endpoint. Per ulteriori dettagli sulle variabili di percorso JSON, vedere Variabili per la raccolta log delle API REST.

        • Immettere il nome endpoint log.

        • Creare l'URL di log per raccogliere periodicamente i log incorporando le chiavi di percorso JSON identificate nella risposta di esempio all'endpoint della lista di log. Vedere URL endpoint di log in Tipi di URL endpoint. Ad esempio:

          https://example.org/fetchLogs?time={START_TIME}&id={testLogListEP:$.records[*].id}
        • Se si desidera, specificare l'URL del server proxy di log.

        • Selezionare il metodo API GET o POST.

          Se si è selezionato POST, immettere il payload POST per il metodo e selezionare il tipo di contenuto della richiesta da JSON, Text, Javascript, HTML e XML.

        • Se si desidera, specificare l'URL del server proxy di log.

        • Facoltativamente, fare clic su Mostra intestazioni richiesta per espandere la sezione e fare clic su Aggiungi per fornire le intestazioni delle richieste sotto forma di coppie Nome-Valore.

        • Facoltativamente, fare clic su Mostra parametri di query per espandere la sezione e fare clic su Aggiungi per fornire i parametri di query sotto forma di coppie Nome-Valore.

        • Nella sezione Credenziali, selezionare il tipo di credenziale log. Vedere Selezionare il tipo di credenziale per la raccolta dei log delle API REST.

        • Successivo.

      3. Scheda Rivedi e aggiungi: le informazioni di configurazione fornite nelle schede precedenti vengono convalidate. Verificare la lista di URL da cui verranno raccolti i log.

        Se ci sono errori, correggerli.

        Fare clic suSalva.

  8. Fare clic su Crea origine.

Tipi di URL endpoint

URL endpoint lista di log: l'URL dell'endpoint della lista di log deve restituire una risposta JSON con le informazioni che possono essere utilizzate per creare una lista di URL endpoint di log per raccogliere i log. Specificare le variabili di percorso JSON necessarie per creare la lista degli endpoint di log dalla risposta JSON. Inoltre, è possibile utilizzare le macro {START_TIME} e {CURR_TIME} per inserire dinamicamente i valori temporali corrispondenti nell'URL.

URL endpoint di log: l'URL dell'endpoint di log viene utilizzato per raccogliere i log da un endpoint API REST specifico a intervalli regolari. È possibile utilizzare le macro {START_TIME}, {CURR_TIME} e {TIME_WINDOW} per inserire dinamicamente i valori temporali corrispondenti nell'URL. È possibile utilizzare la macro {OFFSET} per supportare l'impaginazione. È inoltre possibile utilizzare le variabili di percorso JSON dalla risposta della chiamata all'endpoint della lista di log per sostituire proprietà specifiche.

  • {START_TIME}: per specificare l'ora a partire dalla quale i log devono essere raccolti
  • {OFFSET}: per gestire la raccolta di log impaginati
  • {CURR_TIME}: per fornire l'ora corrente
  • {TIME_WINDOW}: per specificare un intervallo di raccolta o una durata

Per ulteriori informazioni sull'uso delle macro, vedere START_TIME Macro, CURR_TIME Macro, OFFSET Macro e TIME_WINDOW Macro.

Per ulteriori informazioni sull'uso delle variabili dalla risposta dell'endpoint della lista di log che può essere specificata nell'URL dell'endpoint di log, esempi di percorso JSON e utilizzo dei filtri di variabili, vedere Variabili per la raccolta dei log delle API REST.

Macro START_TIME

Utilizzare la macro START_TIME per specificare l'ora a partire dalla quale devono essere raccolti i log. La macro START_TIME può essere utilizzata in un URL endpoint, nei parametri del form o nel payload POST.

L'esempio riportato di seguito mostra l'URL dell'endpoint che raccoglie log maggiori di un indicatore orario specificato dalla macro START_TIME.

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

Descrizione:

{START_TIME<+nX>:<epoch | timestamp format supported by SimpleDateFormat java class>.TZ=<timezone name>}
  • n è il valore orario dell'intervallo di date. La X è espressa in giorni (D), ore (h), minuti (m), mesi (M), anno (Y).

  • +nX indica il numero di giorni, ore, minuti, mesi o anni da aggiungere all'ora di inizio. È facoltativo. Ad esempio, +3D.

  • I formati orari supportati sono gli stessi della classe java SimpleDateFormat. Il formato di ora predefinito è yyyy-MM-dd'T'HH:mm:ss.SSSZ. Ad esempio 2001-07-04T12:08:56.235-0700.

    La specifica del formato epoch o ora è facoltativa. Se viene fornita un'epoca, la macro viene sostituita con un valore in millisecondi di epoca.

    Per i formati di indicatore orario supportati da SimpleDateFormat, vedere Java Platform Standard Ed. 8: Class SimpleDateFormat.

  • TZ consente di specificare il fuso orario dell'indicatore orario. Non è applicabile se l'epoca è già stata fornita. Il formato supportato è uguale agli ID di 3 lettere nella classe java TimeZone, ad esempio UTC.

  • È possibile includere più istanze di questa macro nell'URL.

  • Esempi:

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

Macro CURR_TIME

Utilizzare la macro CURR_TIME per inserire l'ora corrente nell'URL dell'endpoint API REST, nei parametri del form e nel payload POST.

L'esempio riportato di seguito mostra l'URL dell'endpoint che utilizza la macro CURR_TIME nel parametro di query.

https://example.org/fetchLogs?sortBy=timestamp&sortOrder=ascending&time={CURR_TIME:yyyy-MM-dd'T'HH:mm:ss.SSSZ}
  • Il formato per l'utilizzo della macro è lo stesso della macro START_TIME.

  • È possibile includere più istanze di questa macro nell'URL.

Macro OFFSET

Utilizzare la macro OFFSET per gli endpoint che forniscono risposte con impaginazione o per gestire il funzionamento dell'offset in una risposta API. La macro OFFSET può essere utilizzata nell'URL dell'endpoint API REST, nei parametri del form e nel payload POST per recuperare più pagine o chunk in un singolo ciclo di raccolta dei log.

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

  • La macro OFFSET viene utilizzata per richiamare e raccogliere i dati in modo iterativo sui risultati impaginati di un endpoint di log specifico per ottenere tutti i record disponibili. La chiamata di richiesta API REST iniziale inizia con il valore iniziale ed è incrementata in ogni chiamata successiva dal valore di aumento. Queste chiamate basate su indici ricorsivi vengono arrestate quando non vengono trovate altre voci di log. L'offset non viene riportato al ciclo di raccolta successivo. Si parte dal valore predefinito o iniziale in ogni ciclo di raccolta.

  • Nel formato precedente, il valore iniziale è il valore iniziale dell'indice e il valore predefinito è 0. È facoltativo specificare valore iniziale.

    Valori possibili: numero intero positivo compreso 0

  • Nel formato precedente, incremento specifica il valore da aggiungere al valore iniziale nelle visite successive. Il valore predefinito è 1. È facoltativo specificare il valore di incremento.

    Valori possibili: solo numeri interi positivi. Escludi 0.

  • È possibile includere solo un'istanza di questa macro nell'URL.

Gli esempi seguenti mostrano diversi modi di utilizzare la macro OFFSET:

  • {OFFSET}

    Utilizza i valori predefiniti valore iniziale = 0, aumento = 1.

  • {OFFSET(5)}

    valore iniziale = 5, aumento = 1 (predefinito)

  • {OFFSET(5,2)}

    valore iniziale = 5, aumento = 2

L'esempio riportato di seguito mostra l'URL dell'endpoint che utilizza la macro OFFSET.

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

Nell'esempio precedente, OFFSET(0,1000) indica che il valore iniziale è 0 nella prima chiamata e quindi nelle chiamate successive, con un incremento di 1000. Pertanto, quando si interpreta la macro OFFSET, l'URL dell'endpoint per più chiamate sarà il seguente:

Prima chiamata: https://example.org/fetchLogs?startIndex=0&count=1000

Seconda chiamata: https://example.org/fetchLogs?startIndex=1000&count=1000

Macro TIME_WINDOW

Utilizzare la macro TIME_WINDOW per specificare l'intervallo di raccolta in base al quale devono essere raccolti i log. Può essere utilizzato nell'URL dell'endpoint API REST per recuperare i log in minuti, ore o giorni, indipendentemente dall'intervallo di raccolta degli agenti. Ad esempio, se la finestra temporale è 1d (un giorno) e l'intervallo dell'agente è di 10 minuti, la raccolta dei log successiva viene eseguita solo dopo un giorno.

L'esempio seguente imposta l'intervallo di raccolta dei log per 6 ore specificando TIME_WINDOW come 6h nell'URL dell'endpoint:

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

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

Nel formato precedente:

  • numero: numero di cifra maggiore di zero.

  • timeunit: h per le ore, d per i giorni, m per i minuti. Il valore predefinito è d (giorni).

Assicurarsi che l'intervallo di raccolta dell'agente sia inferiore alla finestra temporale fornita. È possibile utilizzare la macro TIME_WINDOW una sola volta nell'endpoint.

Variabili per raccolta log API REST

Utilizzare le variabili per sostituire gli attributi forniti come parte della risposta dall'endpoint della lista di log nella richiesta dell'endpoint di log in modo dinamico in fase di esecuzione. Le variabili possono essere utilizzate nei valori URL, parametri modulo, payload POST o intestazione richiesta HTTP dell'endpoint di log.

Se la chiamata all'endpoint della lista di log non riesce, i messaggi di log dell'endpoint di log non vengono raccolti a causa della dipendenza.

Formato della variabile nell'endpoint di log:

{<log_list_endpoint_name>:<json path(<filter_field_name>='<value>')>}
  • Nel formato precedente, log_list_endpoint_name è il nome dell'endpoint della lista di log.

    Il filtro (<filter_field_name>=<value>) è facoltativo. Solo l'attributo corrispondente a filter_field_name viene prelevato dalla risposta JSON dell'endpoint della lista di log e utilizzato nell'endpoint di log. Ad esempio:

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

    Per un esempio dettagliato del filtro, vedere Esempio di filtro.

  • Per recuperare i valori delle proprietà è supportato solo il tipo di contenuto JSON.

  • La stessa variabile può essere specificata più volte.

  • Le variabili possono fare riferimento solo agli endpoint di lista validi e non agli endpoint di log.

  • Sono supportati i seguenti formati di percorso JSON: percorso JSON semplice, percorso JSON array e percorso JSON con più array.

Percorso JSON semplice

Se la risposta JSON ha più livelli di elementi nidificati, è possibile specificare il percorso JSON come notazione speciale dei nodi e delle relative connessioni ai nodi figlio successivi.

Per il seguente esempio, utilizzare il percorso JSON $.foo.abc per ottenere result come output:

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

Per il seguente esempio, utilizzare il percorso JSON $.*.id per ottenere l'output ["id1", "id3"] o $.*.* per ottenere l'output ["id1", "id2", "id3"]:

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

Per il seguente esempio, utilizzare il percorso JSON $.foo.* per ottenere l'output ["id1", "value1"]:

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

Percorso JSON array

Se la risposta JSON dispone di un array di oggetti da cui è necessario estrarre i dati, specificare il nome dell'oggetto array e utilizzare [] per estrarre gli elementi appropriati all'interno dell'oggetto array. Ad esempio, la seguente risposta JSON dispone di due array di oggetti records e item:

{
     "records": [
         {"id": "firstId", "type":"firstType"},
         {"id":"secondId", "type":"secondType"}
     ],
     "items": [
         {"name":"firstName", "field":"value"},
         {"name":"secondName", "field":"value"},
         {"name":"thirdName", "field":"value"}
     ]
}
  • Specificare il percorso JSON $.records[0].id per recuperare firstId come output, $.records[1].id per recuperare secondId come output o $.records[*].id per recuperare id da tutti gli oggetti JSON. Nell'ultimo caso, l'output è un elenco di stringhe ["firstId", "secondId"].

  • È inoltre possibile specificare le condizioni nel percorso JSON utilizzando (). Nell'esempio precedente, per recuperare id solo da records che hanno type come firstType, utilizzare il percorso JSON $.records[*].id(type='firstType').

Percorso JSON array multipli

Esaminare l'esempio seguente:

Per l'URL dell'endpoint della lista di log getlist:

https://www.example.com/url_list

Risposta JSON all'endpoint della lista di log:

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

URL endpoint di log (riferito alle variabili da getlist):

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

Con le variabili {getlist:$.records[*].id} e {getlist:$.items[*].name}, l'agente genera gli endpoint di log riportati di seguito con tutte le combinazioni dei due campi di array ["firstId", "secondId"] e ["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

Esempio di filtro

Prendere in considerazione la seguente risposta JSON dall'endpoint della lista di log 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"
                }
            ]
        }
    ]
}

A questo punto, considerare il seguente esempio di endpoint di log:

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

Nell'esempio precedente, il parametro del percorso viene sostituito dall'elemento array $.items[*].links[*].href dalla risposta JSON dell'endpoint della lista di log foo e viene specificata una condizione aggiuntiva per selezionare solo rel='self'.

Per la risposta JSON precedente, l'agente genera l'endpoint di log seguente:

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

Selezionare il tipo di credenziale per la raccolta log dell'API REST

Per autorizzare una connessione tra l'agente e l'origine API REST, configurare prima la credenziale API nell'area di memorizzazione delle credenziali dell'agente. Dopo aver configurato le credenziali di origine nel servizio Management Agent sul lato agente, è possibile utilizzare queste informazioni durante la creazione dell'origine log dell'API REST.

Per configurare le credenziali di origine nel servizio Management Agent in modo da consentire al Management Agent di raccogliere i dati dall'host che emette i log, vedere Credenziali di origine Management Agent.

Durante l'aggiunta dell'endpoint o dell'endpoint della lista di log, fornire le informazioni sulle credenziali nel workflow selezionando il tipo di credenziale di log. Selezionare una delle opzioni riportate di seguito.

  • Nessuna
  • Autenticazione di base: specificare il nome della credenziale di log della credenziale creata nel servizio Management Agent.
  • Token statico: specificare il nome della credenziale di log della credenziale creata nel servizio Management Agent.
  • Token dinamico (OAuth 2.0):

    Specificare il nome della credenziale token del token creato nel servizio Management Agent. Fornire inoltre informazioni sul token quali Nome endpoint token, URL endpoint token, Tipo di concessione e facoltativamente Ambito.

    Se il proxy token è uguale a quello dell'endpoint di log, mantenere abilitata la casella di controllo Proxy uguale all'endpoint di log. In caso contrario, disabilitare la casella di controllo e fornire l'URL del server proxy token.

Mapping dei tipi di credenziali al tipo di autenticazione:

Tipo di autenticazione Tipo di credenziale in Management Agent Proprietà credenziali
Autenticazione Basic HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, proprietà truststore ssl
Token statico HTTPSTokenCreds Proprietà truststore HTTPSToken, HTTPSTokenType e ssl (facoltativo)
Token dinamico HTTPSBasicAuthCreds HTTPSUserName, HTTPSPassword
HTTPSCreds HTTPSUserName, HTTPSPassword, proprietà truststore ssl

Le informazioni riportate di seguito sono incluse nelle proprietà del truststore SSL.

  • "ssl_trustStoreType": tipo di area di memorizzazione, ad esempio JKS.

  • "ssl_trustStoreLocation": Il percorso del truststore

  • "ssl_trustStorePassword": password del truststore (facoltativo)

Tenere presenti gli aspetti riportati di seguito relativi agli attributi nella notazione JSON delle credenziali.

  • source: il valore deve essere lacollector.la_rest_api

  • name: qualsiasi nome adatto per la credenziale

  • type: deve essere uno dei valori specificati nella colonna Tipo di credenziale in Management Agent nella tabella dei tipi di credenziali sopra riportata.

Vedere Esempi di JSON delle credenziali.

Esempi di JSON delle credenziali

Esempio di Autenticazione di base con nome utente e password su HTTPS con host sicuro:

{
  "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]" }
  ]
}

Esempio di Autenticazione di base con certificati SSL, nome utente e password su HTTPS fornendo in modo esplicito i certificati:

{
  "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" }
  ]
}

Esempio di token su HTTPS con host sicuro:

{
  "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]" }
  ]
}

Esempio di token su HTTPS con certificati forniti in modo esplicito:

{
  "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" }
  ]
}

Includi log di audit Fusion Applications

Attenersi alla procedura riportata di seguito per raccogliere i log di audit di Fusion Applications. Per l'elenco delle origini definite da Oracle disponibili per Fusion Applications, vedere Origini definite da Oracle.

Argomenti:

Requisiti indispensabili

  • Informazioni sulle API dei log di audit di Fusion Applications: per i dettagli sull'uso e sulle funzionalità dell'API dei log di audit, consultare la documentazione dell'API REST di Fusion Applications.

  • Accesso a Fusion Applications: per accedere all'istanza di Fusion Applications è necessario disporre di credenziali e privilegi validi.

  • Identificare i seguenti endpoint e proxy (facoltativo):

    • login_url: l'URL di base dell'istanza di Fusion Applications
    • pod_url: l'URL di base dell'istanza di Fusion Applications
    • proxy_url: (facoltativo) l'URL che invia una richiesta al server proxy

    Per informazioni dettagliate sugli URL, vedere ID documento 2661308.1 in Oracle My Support.

  • Accesso all'API REST Fusion Applications: assicurarsi che l'accesso all'API sia abilitato e che i ruoli/privilegi richiesti siano assegnati.

Imposta raccolta log di audit da Fusion Applications

  1. Convalidare l'URL di base di Fusion Applications:

    • Convalidare le credenziali di Fusion Applications eseguendo il login all'interfaccia utente.
    • Facoltativamente, analizzare le chiamate di trace di rete per convalidare l'URL di base.
    • Assicurarsi che l'accesso all'API di audit sia abilitato.
  2. Creare i criteri IAM necessari: Consenti raccolta di log continua mediante Management Agent

  3. Installare il Management Agent su un host che dispone dell'accesso http o https all'istanza o al server Fusion Applications. Assicurarsi che il plugin Logging Analytics venga distribuito durante l'installazione. Vedere Install Management Agent.

  4. Configurare la credenziale API nell'area di memorizzazione delle credenziali dell'agente:

    Passare alla cartella /bin del Management Agent e creare il file JSON delle credenziali. L'esempio seguente mostra i valori forniti nel file 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"
              }
          ]
      }

    Aggiungere le credenziali FA-CREDS all'area di memorizzazione delle credenziali dell'agente:

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

    Per informazioni dettagliate sulla configurazione delle credenziali API nell'area di memorizzazione delle credenziali dell'agente, vedere Credenziali di origine Management Agent.

  5. Controllare se l'endpoint API di Fusion Applications può essere raggiunto dall'istanza in cui è installato l'agente. Per eseguire il controllo è possibile utilizzare strumenti quali curl.

  6. Crea entità: creare un'entità di tipo Oracle Fusion Applications e aggiungere i valori delle proprietà per login_url e pod_url. Se necessario, aggiungere anche il valore per proxy_url. Vedere Creare un'entità per rappresentare la risorsa che emette log.

  7. Configura origine: identificare un'origine definita da Oracle appropriata per i log di audit di Fusion Applications che è possibile utilizzare. Se necessario, è possibile creare un duplicato dell'origine esistente e modificarlo. Vedere Modifica origine.

    • Assicurarsi che il riferimento alla credenziale sia corretto nell'endpoint di log dell'origine.
    • Aggiungere un proxy agli endpoint di log, se necessario.
  8. Pianifica raccolta dati lato agente: consente di associare l'origine all'entità per pianificare la raccolta dei dati. Utilizzare il Management Agent per richiamare periodicamente le API di audit di Fusion Applications ed eseguire il push dei dati in Logging Analytics. Vedere Configura nuova associazione origine-entità.

  9. Rivedere e convalidare in Log Explorer: verificare che i log vengano raccolti e analizzati correttamente in Log Explorer. Vedere Visualizzare dati utilizzando grafici e controlli.