Analizza record di log con più indicatori orari

Alcuni record di log possono avere più indicatori orari, ad esempio l'ora di inserimento del log, l'ora di inizio e l'ora di fine di un processo o di una transazione che si desidera acquisire nei propri campi. Dopo aver acquisito l'ora di inizio e di fine nei propri campi, è possibile utilizzare il comando eval per eseguire la manipolazione della data su tali campi, ad esempio per ottenere la durata tra le due volte. Vedere Eval.

Oracle Log Analytics dispone di diversi campi definiti da Oracle che consentono di memorizzare le informazioni sull'ora e sulla data che non corrispondono all'ora effettiva di inserimento del log:

  • Ora di fine evento

  • Ora di inizio evento

  • Ora generazione evento

  • Ora primo evento

  • Ora fine contatto

  • Ora inizio contratto

  • Ora richiamo avviso

  • Tempo di raccolta

  • Ora di rilevamento

I dati memorizzati in questi campi devono essere nel formato ISO-8601:

2018-07-04T23:43:34.000Z

Durante la creazione del parser, è possibile utilizzare la macro {TIMEDATE} una sola volta per esprimere l'ora di inserimento del log. Per i campi tempo aggiuntivi, è necessario estrarre i dati utilizzando uno dei metodi riportati di seguito a seconda del caso d'uso.

Caso 1: Il tuo registro ha già le informazioni sull'ora e la data in formato ISO-8601

Se il log contiene già informazioni aggiuntive sull'ora e sulla data in formato ISO-8601, è possibile estrarle come stringhe nel parser di base della definizione di campo esteso.

Si consideri il log di esempio riportato di seguito.

July 4, 2018 23:43:12 Server1 ModuleA Transaction completed. Start=2018-07-04T23:45:34.000Z, End=2018-07-04T23:46:39.000Z

Il log contiene informazioni sull'ora e la data per la voce del log, l'ora di inizio e l'ora di fine.

  1. Per ottenere l'ora di inserimento del log, creare il parser di base. Vedere Creare un parser.

    {TIMEDATE}\s(\S+)\s(\S+)\s(.*)
  2. Aprire la finestra di dialogo Crea origine. Vedere Crea un'origine.

  3. Selezionare il parser di base creato nel passo 1.

  4. Fornire il percorso del file per il log di esempio.

  5. Nella scheda Campi estesi, aggiungere le definizioni dei campi estesi all'origine log per estrarre i campi relativi all'ora e alla data.

    • Dal campo Messaggio: Start={Event Start Time:\S+}

    • Dal campo Messaggio: End={Event End Time:\S+}

  6. Salvare la nuova origine creata.



Si noterà ora che i due campi Ora di inizio evento e Ora di fine evento sono popolati con i valori del log. In Log Explorer è possibile visualizzare i tempi come millisecondi dall'epoca.

Caso 2: Il tuo registro non ha le informazioni sull'ora e la data in formato ISO-8601

Se i campi dell'ora aggiuntivi che si desidera estrarre non sono in formato ISO-8601, è necessario attenersi alla procedura riportata di seguito per l'analisi.

Si consideri il file di log di esempio in cui l'intero file è una singola voce di log.

+---------------------------------------------------------------------------+
Application Object Library: Version : 12.2
Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
FNDWFBG: Workflow Background Process
+---------------------------------------------------------------------------+
Current system time is 04-JUL-2018 17:25:23
+---------------------------------------------------------------------------+
**Starts**04-JUL-2018 17:25:23
**Ends**04-JUL-2018 18:25:23
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
Successfully resubmitted concurrent program FNDWFBG with request ID 239834523 to start at 04-JUL-2018 18:30:23 (ROUTINE=IERKWEP)
+---------------------------------------------------------------------------+
No completion options were requested.
Output file size: 
0
Output is not being printed because:
The print option has been disabled for this report.
+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is 04-JUL-2018 18:30:23
+---------------------------------------------------------------------------+
  1. Creare il parser di base. Vedere Creare un parser.

    .*?Current system time is {TIMEDATE}.*\*\*Starts\*\*([\S\ ]+).*?\*\*Ends\*\*([\S\ ]+).*

    I campi che è necessario selezionare per l'analisi sono:

    • Versione

    • Ora di inizio evento

    • Ora di fine evento

    Per il log di esempio sopra riportato, selezionare la casella di controllo Gestione dell'intero file come singola voce di log. Nessuna espressione regolare intestazione richiesta.

  2. Aprire la finestra di dialogo Crea origine log. Vedere Crea un'origine.

  3. Selezionare il parser di base creato nel passo 1.

  4. Fornire il percorso del file per il log di esempio.

  5. Passare alla scheda Filtri dati.

  6. Converti nome breve mese in numero:

    Se il log contiene già un numero di mese numerico anziché un nome di mese, è possibile saltare questo passo e passare al passo 7.

    Se nel log è presente il nome breve del mese anziché il numero del mese, per convertire il nome breve del mese in numero del mese, aggiungere dodici filtri dati di tipo MASK.

    Per ogni mese di calendario, il filtro dei dati avrà dettagli simili a quelli del mese di gennaio riportato di seguito:

    • Nome: Jan to 01

    • Tipo: Mask

    • Trova espressione: (\*\*\w+\*\*\d{2}-)(JAN)(-\d{4})

    • Espressione Sostituisci: $101$3



    La maschera di dati trova le ricorrenze del pattern temporale nel log:

    **Starts**04-JAN-2018 17:25:23

    Acquisisce i dati prima di JAN, il valore JAN e i dati dopo JAN in tre gruppi di acquisizione. I gruppi di acquisizione sono indicati con le tre coppie di parentesi ( ).

    Quindi, nell'espressione di sostituzione, il valore del primo gruppo di acquisizione viene sostituito utilizzando $1, il valore JAN viene sostituito con 01 e il terzo gruppo di acquisizione viene sostituito utilizzando $3.

    Dopo l'implementazione del filtro dati, le informazioni sull'ora e sui dati vengono visualizzate come indicato di seguito.

    **Starts**04-01-2018 17:25:23
  7. Scrivere di nuovo le informazioni sull'ora e la data in formato ISO-8601:

    Ora che le informazioni relative all'ora e alla data sono disponibili nel tipo di dati corretto, riscrivere i dati relativi all'ora e alla data in modo che siano nel formato ISO-8601 utilizzando due filtri dati per il log di esempio:

    Questi due filtri dati devono essere posizionati dopo i dodici filtri dati creati per convertire il nome breve del mese in numero di mese. Ciò garantirà che il formato dei dati relativi all'ora e alla data venga valutato dopo la conversione del nome breve del mese in numero mese. Usare le frecce Su e Giú per modificare l'ordine dei filtri dati.

    Creare i due filtri dati seguenti per convertire i dati dell'ora di inizio e di fine in formato ISO-8601:

      • Nome: Change shape of Starts

      • Tipo: Mask

      • Trova espressione: \*\*Starts\*\*(\d+)-(\d+)-(\d{4})\s(\d{2}:\d{2}:\d{2})

      • Sostituisci espressione: \*\*Starts\*\*$3-$2-$1T$4.000Z

      • Nome: Change shape of Ends

      • Tipo: Mask

      • Trova espressione: \*\*Ends\*\*(\d+)-(\d+)-(\d{4})\s(\d{2}:\d{2}:\d{2})

      • Sostituisci espressione: \*\*Ends\*\*$3-$2-$1T$4.000Z



    Nell'espressione Find, ogni elemento di tempo e data viene acquisito. Nell'espressione di sostituzione, l'ordine degli elementi ora e data viene modificato. I valori $1, $2, $3 e $4 corrispondono ai gruppi di acquisizione nell'espressione Find. I gruppi di acquisizione sono indicati con le coppie di parentesi ( ).

    L'elemento statico .000Z viene aggiunto nell'espressione di sostituzione per memorizzare il valore di data e ora nel campo. In questo modo viene indicata l'ora e la data nel fuso orario Coordinated Universal Time (UTC). Se invece la voce di log era nel fuso orario PST (Pacific Standard Time), il relativo fuso orario viene modificato artificialmente in UTC, ma senza lo spostamento effettivo nell'ora.

    Nota

    Attualmente, non è possibile spostare il valore di ora e data in un fuso orario diverso all'ora di inclusione. È tuttavia possibile eseguire questa operazione da Log Explorer utilizzando il comando eval:
    • Dopo aver memorizzato l'ora di inizio e di fine dell'evento, sottrarre l'ora di fine dell'evento dall'ora di inizio dell'evento per ottenere la durata dell'evento.

    • Aggiungere o sottrarre la durata della differenza di tempo tra i fusi orari calcolati in millisecondi.

    • Converte l'output dal numero di millisecondi al formato ora e data.

    Vedere Eval.
  8. Nella scheda Campi estesi, aggiungere le definizioni dei campi estesi all'origine log per estrarre i campi relativi all'ora e alla data.

    • Dal campo Messaggio: \*\*Starts\*\*{Event Start Time:\S+}

    • Dal campo Messaggio: \*\*Ends\*\*{Event Start Time:\S+}

  9. Salvare la nuova origine log creata.



È ora possibile notare che i due campi Ora di inizio evento e Ora di fine evento vengono popolati con i valori di data e ora del log. In Log Explorer è possibile visualizzare i tempi come millisecondi dall'epoca.