Esegui analitica avanzata con collegamento
Comprendere l'applicazione della funzione Link nell'esecuzione di analisi avanzate con il caso d'uso discusso in questo argomento.
Esempi di scenari:
| Caso d'uso | Collega funzione | Log di esempio |
|---|---|---|
|
Visualizzazione dei dati delle serie temporali mediante la funzione Tendenza collegamenti |
Andamento collegamento |
|
|
Collega funzioni base |
|
|
|
Utilizzo di campi virtuali per i grafici |
|
|
|
Utilizzo dell'istruzione SQL come campo |
|
|
|
Analisi temporale |
|
|
|
Grafici per più campi e relativi valori |
- |
|
|
Aggregazione di secondo livello mediante il comando Eventstats nel collegamento |
Aggregazione di secondo livello |
|
|
Utilizzare le funzioni di navigazione dei collegamenti per identificare gli eventi in un database |
Funzioni di navigazione |
|
|
Utilizzo del simbolo di valuta nella tabella e nei grafici dei gruppi |
|
|
|
Analizzare l'andamento di un campo |
|
|
|
Raggruppa valori serie temporali simili |
|
Visualizzazione dei dati delle serie temporali mediante la funzione Tendenza collegamenti
Il collegamento viene utilizzato per raggruppare i record di log in base a campi specifici. Le varie statistiche che è possibile estrarre da questi gruppi possono essere visualizzate utilizzando la visualizzazione del grafico a bolle. La visualizzazione del grafico a bolle è ora migliorata per supportare il campo Ora come asse.
I passi riportati di seguito spiegano come utilizzare la funzione di tendenza per analizzare la durata del job per le richieste concorrenti di Oracle E-Business Suite (EBS).
Considerare il log di esempio seguente nel percorso file /u01/oracle/appl_top/req/l7474445.req:
Human Resources: Version : 12.2
Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
AME_MIGRATIONB: Approvals Management Post Upgrade Process
+---------------------------------------------------------------------------+
Current system time is 24-JUL-2018 01:04:29
+---------------------------------------------------------------------------+
**Starts**24-JUL-2018 01:04:30
**Ends**24-JUL-2018 01:04:30
Migration of item class usages successful
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
No completion options were requested.
Output file size:
0
Deleting empty output file.
+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is 24-JUL-2018 01:04:32
+---------------------------------------------------------------------------+Il campo Log richieste concorrenti EBS - avanzato di origine definito da Oracle estrae il campo ID richiesta dal percorso file. Ad esempio, i dati numerici 7474445 sono l'ID richiesta estratto dal percorso file del log di esempio precedente. L'origine estrae anche i metadati associati per ogni ID richiesta.
-
Selezionare l'origine e passare alla visualizzazione dei collegamenti:
Nel pannello Campi, fare clic su Origine log, selezionare l'origine log Log richieste concorrenti EBS - Enhanced. Passare alla visualizzazione Collegamento e trascinare la selezione del campo ID richiesta nel pannello Raggruppa per per ottenere l'elenco delle richieste:
La query generata automaticamente è simile alla seguente:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID' -
Estrai l'ora di inizio e di fine della richiesta:
Ogni richiesta ha un'ora di inizio e un'ora di fine stampate nel file. Se l'ora di fine è assente, l'ora di aggiornamento del file viene considerata come l'ora di fine. L'origine log è configurata per acquisire questi valori come campi Ora di inizio evento e Ora di fine evento.
Modificare la query per estrarre questi campi:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID' | stats earliest('Event Start Time') as 'Request Start Time', latest('Event End Time') as 'Request End Time'earliestè una funzione del comandostats. In questo modo, i record di ogni ID richiesta vengono ordinati in base al tempo e viene restituita l'ora di inizio evento meno recente. Analogamente,latestrestituisce l'ultima ora di fine evento.È ora possibile visualizzare i nuovi campi nella tabella dei record:
Ora di inizio richiesta e Ora di fine richiesta vengono rilevati automaticamente come indicatori orari e formattati nel fuso orario locale. Quando i file vengono raccolti, l'agente utilizza il fuso orario del database EBS per interpretare gli indicatori orari.
Nota
Per assicurarsi che il fuso orario del database venga visualizzato come previsto nella home di configurazione di Oracle Infrastructure Monitoring ed evitare la mancata corrispondenza nei valori, fornire il fuso orario durante il caricamento. -
Durata della richiesta di computazione:
Ora che abbiamo le ore di inizio e fine per ogni richiesta, possiamo calcolare la durata come differenza tra questi due campi.
Modificare la query in modo appropriato:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID' | stats earliest('Event Start Time') as 'Request Start Time', latest('Event End Time') as 'Request End Time' | eval 'Time Taken' = 'Request End Time' - 'Request Start Time'Tempo impiegato è un nuovo campo creato per ogni gruppo di ID richiesta. Contiene la differenza tra l'ora di inizio e quella di fine della richiesta.
Nota
Oracle Log Analytics rileva automaticamente il tempo impiegato come campo di durata, poiché è prodotto dalla differenza tra due campi di indicatore orario. Pertanto, viene formattato automaticamente in modo leggibile dall'uomo.
-
Andamento per il tempo impiegato dalle richieste concorrenti EBS :
È ora possibile analizzare le tendenze nel campo Tempo impiegato. Fare clic sull'icona Analizza
, selezionare i campi Ora inizio richiesta e Tempo impiegato nella finestra di dialogo Analizza, quindi fare clic su OK.
In questo modo la query verrà modificata automaticamente in:
'Log Source' = 'EBS Concurrent Request Logs - Enhanced' | link 'Request ID' | stats earliest('Event Start Time') as 'Request Start Time', latest('Event End Time') as 'Request End Time' | eval 'Time Taken' = 'Request End Time' - 'Request Start Time' | classify topcount = 300 'Request Start Time', 'Time Taken'Il comando
Classifyaccetta due campi, raggruppa i risultati e contrassegna le anomalie ove applicabile. I risultati vengono visualizzati nel grafico a bolle.Quando si seleziona Ora per un asse, il grafico a bolle passa automaticamente all'opzione Tendenza. Per modificare le opzioni del grafico, fare clic sull'icona Opzioni grafico
e modificare i parametri richiesti.
Nel grafico a bolle risultante, l'ora di inizio della richiesta viene tracciata lungo l'asse X e i cluster di tempo impiegato vengono tracciati lungo l'asse Y:
L'ora viene visualizzata nel fuso orario locale. La dimensione delle bolle indica il numero di richieste.
Nel grafico a bolle di cui sopra, la durata della richiesta di più di quattro minuti è notata il 21 luglio 2018. La maggior parte delle richieste è terminata in meno di due minuti.
È possibile fare clic su una o più bolle per eseguire il drill-down per visualizzare le richieste specifiche.
Analizzare i log degli accessi di Oracle WebLogic Server
Si consideri l'esempio di un set di dati costituito dai log di accesso di Oracle WebLogic Server dall'origine log FMW WLS Server Access Logs. I record di log contengono dati sull'accesso a Oracle WebLogic Server da parte degli utenti in un periodo di tempo specifico. Questi singoli record di log possono essere analizzati per ottenere informazioni significative sulle statistiche di utilizzo, sulla popolarità degli URL, sugli utenti più attivi e su altri dati. Dai log, imparare a ottenere i risultati riportati di seguito analizzando i record di log con la selezione di campi specifici per ciascun risultato.
-
Visualizza i primi URL per numero di visite
-
Visualizza le anomalie per numero di visite
-
Visualizza le anomalie per durata accesso
-
Identifica gli URL in base alla dimensione del caricamento
-
Identifica gli URL in base alla dimensione del download
-
Analizza la correlazione tra il numero di accessi e la dimensione del download
-
Determinare le pagine più visitate
-
Identificare i primi utenti
-
Identificare gli utenti principali e le pagine preferite
-
Identificare la pagina di inserimento che determina il numero massimo di visite
-
Identificare il percorso di entrata e uscita per la maggior parte degli utenti
-
Utilizzare il comando
renameper modificare il nome del campo in uno più pertinente per il caso d'uso. -
Il comando
classifyconsente di analizzare i gruppi e visualizza il risultato sotto forma di grafico a bolle. Per visualizzare semplicemente il risultato dell'esecuzione di una query in formato tabulare, rimuovere il comandoclassifydalla query ed eseguirlo di nuovo. -
Fare clic sulla bolla anomala nel grafico per visualizzare i dettagli dei gruppi anomali. Per tornare al risultato originale dopo aver analizzato il fumetto, fare clic sull'icona Annulla
.
-
Quando si esegue il comando
link, la durata del gruppo viene visualizzata in un formato leggibile nel grafico a bolle, ad esempio in minuti o secondi. Tuttavia, se si desidera eseguire un comandowheredopo il comandolinkper cercare le transazioni che hanno richiesto più secondi del numero specificato (ad esempio 200 secondi), l'unità da utilizzare è millisecondi.
Per recuperare il data set, selezionare un intervallo di date appropriato, specificare l'origine log ed eseguire la query:
'Log Source' = 'FMW WLS Server Access Logs'Selezionare Collegamento
dal pannello Visualizza. Verrà visualizzata la tabella dei gruppi 'Log di accesso al server WLS FMW' e il grafico a bolle.
-
Per visualizzare i primi URL in base al numero di accessi riusciti, raggruppare i record di log in base al valore dell'URL nel record di log, ottenere il conteggio totale dell'URL in ciascun gruppo, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e visualizzare il risultato in formato tabulare. Con questa analisi, è possibile determinare gli URL più utilizzati.
-
Trascinare il campo URI in Raggruppa per e rimuovere il campo Origine log da Raggruppa per.
-
After the query is executed, in the command-line, change the names of the fields Count to Number of Hits, Start Time to First Access, End Time to Last Access, and Group Duration to Access Duration.
-
Rimuovere il comando
classifydalla riga di comando e inviare la query.La query sarà la seguente:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration'
Durante l'esecuzione della query, è possibile determinare i primi URL in base al numero di accessi nella tabella. Le colonne vengono rinominate come specificato nel comando rename.
-
-
Per visualizzare le anomalie in base al numero di accessi riusciti, raggruppare i record di log in base al valore dell'URL nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi per il numero di accessi riusciti dell'URL. Con questa analisi, è possibile separare il modello insolito nell'accesso agli URL.
Fare clic su Analizza, selezionare Numero di visite, quindi fare clic su OK.
La query deve passare a quanto segue:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 300 'Number of Hits'Questa query attiva l'analisi della colonna 'Numero di accessi' e crea bolle che rappresentano gli intervalli comunemente visualizzati. La maggior parte dei valori sono trattati come valori di base. Ad esempio, una bolla di grandi dimensioni può diventare la baseline oppure un gran numero di bolle più piccole raggruppate insieme può formare la baseline. Le bolle più lontane dalla linea di base sono contrassegnate come anomalie.
Pertanto, vengono visualizzati gli URL anomali raggruppati in bolle separate nel grafico a bolle. Per visualizzare la percentuale di URL in ogni intervallo di numero di accessi, passare il puntatore del mouse sulle bolle.
-
Per visualizzare le anomalie in base alla durata dell'accesso, raggruppare i record di log in base al valore dell'URL nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi per la durata dell'accesso dell'URL. Con questa analisi, puoi separare lo schema insolito nel tempo impiegato per accedere agli URL. In seguito al passo 2:
Fare clic su Analizza, selezionare Durata accesso, quindi fare clic su OK.
Durata accesso è un'indicazione della durata dell'accesso a ciascun URL. Viene calcolata come differenza tra l'ultimo indicatore orario e il primo indicatore orario nel file di log per ogni URL.
-
Per identificare gli URL in base alla dimensione del caricamento, raggruppare i record di log in base al valore dell'URL nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi in base alla dimensione dei dati caricati. Con questa analisi, puoi identificare gli URL che hanno dimensioni insolite dei dati caricati. In seguito al passaggio 3:
-
Trascinare e rilasciare il campo Dimensione contenuto in nella sezione Valore.
-
Rinominare il campo Dimensione contenuto in in Byte caricati modificando la query nella riga di comando ed eseguire la query.
-
Fare clic su Analizza, selezionare Byte caricati, quindi fare clic su OK.
La query sarà la seguente:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size In') as 'Bytes Uploaded' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 300 'Bytes Uploaded'Il grafico Analizza visualizza i gruppi di URL in base ai byte caricati.
-
Per correlare i dati dei byte caricati nell'intervallo di tempo, è possibile nascondere o visualizzare i grafici in modo selettivo nelle opzioni del grafico dell'istogramma. Esplora le altre opzioni di visualizzazione oltre al grafico a barre.
-
-
Per identificare gli URL in base alla dimensione del download, raggruppare i record di log in base al valore dell'URL nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi in base alla dimensione dei dati scaricati. Con questa analisi, è possibile identificare gli URL che hanno dimensioni insolite dei dati scaricati. In seguito al passaggio 4:
-
Trascinare e rilasciare il campo Dimensione contenuto in uscita nella sezione Valore e rimuovere Dimensione contenuto in entrata dalla sezione Valore.
-
Rinominare il campo Dimensione contenuto in uscita in Dimensione download modificando la query nella riga di comando ed eseguire la query.
-
Fare clic su Analizza, selezionare Dimensione scaricamento e fare clic su OK.
La query sarà la seguente:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size Out') as 'Download Size' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 300 'Download Size'Il grafico Analizza visualizza i gruppi di URL in base alla dimensione del download.
-
Per correlare i dati di dimensione scaricamento nell'intervallo di tempo, è possibile nascondere o visualizzare i grafici in modo selettivo nelle opzioni del grafico dell'istogramma. Esplora le altre opzioni di visualizzazione oltre al grafico a barre.
-
-
Per analizzare la correlazione tra numero di accessi e dimensione download, raggruppare i record di log in base al valore dell'URL nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi in base alla dimensione dei dati scaricati e al numero di accessi riusciti. Con questa analisi, puoi identificare gli URL che hanno schemi insoliti di dimensioni dei dati scaricati e numero di accessi. In seguito al passaggio 5:
-
Fare clic su Analizza, selezionare i campi Numero di accessi, Dimensione scaricamento e fare clic su OK.
-
Rimuovere
topcount=300dalla query per visualizzare tutte le bolle ed eseguire la query.La query sarà la seguente:
'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size Out') as 'Download Size' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify 'Download Size', 'Number of Hits'
Nel grafico a bolle, il campo Numero di accessi viene tracciato lungo l'asse X e il campo Dimensione scaricamento lungo l'asse Y.
Le bolle possono essere interpretate come segue:
-
Il 73,8% degli URL è stato consultato da uno a sette volte.
-
La dimensione media dei download per il 73,8% degli URL è compresa tra 32.345 e 34.000. Questa stretta gamma implica che un gran numero di URL hanno un comportamento molto uniforme con riferimento alla dimensione del download.
-
Dal momento che il 73,8% è la grande maggioranza, il resto dei punti sono contrassegnati come anomalie.
-
Con i dati reali, è comune per il sistema raggruppare file .css, .js e immagini separatamente dagli altri URL perché tendono ad avere comportamenti di download diversi.
-
-
Per determinare le pagine più visitate, raggruppare i record di log in base al valore dell'URL nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi in base al numero di visitatori univoci. Con questa analisi, puoi identificare gli URL che sono più visitati dai visitatori unici. In seguito al passaggio 6:
-
Trascinare la selezione del campo Nome utente nella sezione Valore.
-
Fare clic sulla freccia rivolta verso il basso accanto al nome del campo, modificare la funzione da Unique a Distinct Count. Vedere le altre funzioni che è possibile selezionare per un campo numerico:
-
Rinominare il campo Nome utente in Numero di utenti univoci, rimuovere il comando
classifymodificando la query nella riga di comando ed eseguire la query. La query sarà la seguente:'Log Source' = 'FMW WLS Server Access Logs' | link URI | stats avg('Content Size In') as 'Bytes Uploaded', avg('Content Size Out') as 'Download Size', distinctcount('User Name') as 'Number of Unique Users' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' -
Fare clic su Analizza, selezionare il campo Numero di utenti univoci e fare clic su OK.
La tabella elenca gli URL e il numero corrispondente di utenti univoci, aiutandoci a identificare gli URL più visitati da utenti univoci. Dalla tabella è inoltre possibile determinare il numero di accessi di cui dispone ciascun URL.
L'analisi mostra che oltre il 99% degli URL ha 0 o 1 utente univoco. Questo è il caso degli URL a cui non è necessario effettuare il login o a cui si accede raramente. Espandere fino a una delle bolle più piccole indicherà le pagine specifiche, il numero di colpi che hanno in genere e il numero di visitatori unici.
-
-
Per identificare i primi utenti, raggruppare i record di log in base al valore del nome utente nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi per il numero di accessi riusciti. Con questa analisi, è possibile identificare gli utenti più attivi.
-
Modificare la riga di comando per rimuovere tutti i filtri:
'Log Source' = 'FMW WLS Server Access Logs' | link URI -
Trascinare il campo Nome utente in Raggruppa per, rimuovereURI ed eseguire la query.
-
Rimuovere il comando
classify, rinominare i campi predefiniti nella riga di comando ed eseguire la query seguente:'Log Source' = 'FMW WLS Server Access Logs' | link 'User Name' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration'La tabella è ordinata in base al numero di accessi effettuati dall'utente.
-
Per visualizzare il comportamento dell'utente in base all'accesso, fare clic su Analizza, selezionare il campo Numero di accessi e fare clic su OK.
-
Fare clic sulle anomalie per identificare gli utenti che hanno registrato un numero di accessi maggiore o minore rispetto agli altri utenti.
-
-
Per identificare i primi utenti e le relative pagine preferite, raggruppare i record di log in base al valore del nome utente nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi per il numero di pagine univoche. Con questa analisi, è possibile identificare gli utenti meno attivi e più attivi e le relative pagine preferite. In seguito al passaggio 8:
-
Trascinare il campo URI nella sezione Valore. Modificare la funzione da Unique a Conteggio distinto.
-
Rinominare il campo URI in Numero di pagine univoche modificando la query nella riga di comando ed eseguendo la query.
-
Fare clic su Analizza, selezionare il campo Numero di pagine univoche e fare clic su OK.
-
-
Per identificare la pagina di inserimento che determina il numero massimo di visite, raggruppare i record di log in base al valore del nome utente nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi per i valori degli URL di inserimento e il numero di accessi agli URL. Con questa analisi, è possibile identificare le pagine che gli utenti hanno colpito per primi. In seguito al passaggio 9:
-
Per ottenere gli URL di inserimento, modificare la funzione del campo URI da Conteggio distinto a Prima.
-
Rinominare il campo URI in URL voce modificando la query nella riga di comando ed eseguire la query.
-
Fare clic su Analizza, selezionare i campi Numero di accessi e URL immissione, selezionare topcount come 20 e fare clic su OK.
'Log Source' = 'FMW WLS Server Access Logs' | link 'User Name' | stats earliest(URI) as 'Entry URL' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 20 'Number of Hits', 'Entry URL'
Visualizza il primo URL utilizzato dagli utenti in relazione al numero di accessi. Ad esempio, /login è il primo URL utilizzato dalla maggior parte degli utenti.
-
-
Per identificare il percorso di entrata e uscita per la maggior parte degli utenti, raggruppare i record di log in base al valore del nome utente nel record di log, rinominare i campi predefiniti nella tabella dei gruppi in base ai valori appropriati e analizzare i gruppi per i valori degli URL di entrata e degli URL di uscita. Con questa analisi è possibile identificare
-
I percorsi più comuni intrapresi dagli utenti per transitare attraverso il sito web
-
Le pagine di prodotto più popolari da cui gli utenti stanno uscendo dal sito web
-
Gli URL di uscita più comuni, come le pagine di checkout del prodotto o il gateway di pagamento
-
Gli insoliti URL di uscita e la radice causano le uscite impreviste
-
Trascinare il campo URI nella sezione Valore.
-
Per ottenere la pagina di uscita, modificare la funzione del campo URI da Unique a Latest.
-
Modificare la riga di comando e rinominare il campo latest(URI) in URL di uscita e sottomettere la query.
-
Fare clic su Analizza, selezionare i campi URL voce e URL uscita, selezionare topcount come 20 e fare clic su OK.
'Log Source' = 'FMW WLS Server Access Logs' | link 'User Name' | stats earliest(URI) as 'Entry URL', latest(URI) as 'Exit URL' | rename Count as 'Number of Hits', 'Start Time' as 'First Access', 'End Time' as 'Last Access', 'Group Duration' as 'Access Duration' | classify topcount = 20 'Entry URL', 'Exit URL' -
Aumentare le dimensioni del grafico utilizzando l'opzione Analizza opzioni grafico.
Questa mappa ad albero mostra la relazione tra gli URL di entrata e di uscita in un sito. Ciò sarebbe molto utile per i siti retail in cui i fornitori di servizi vorrebbero identificare gli URL di accesso che portano i clienti alle pagine di checkout e gli URL dei prodotti che causano agli utenti di non procedere al checkout.
-
Genera grafici con campi virtuali
Per creare un nuovo campo virtuale, è possibile utilizzare il comando eval nella funzione di collegamento. La query eval sulla riga di comando genererà un grafico a linee per il campo virtuale e ne consentirà il tracciamento nel tempo.
Per creare un nuovo campo virtuale, è possibile utilizzare il comando eval nella funzione di collegamento. La query eval sulla riga di comando genererà un grafico a linee per il campo virtuale e ne consentirà il tracciamento nel tempo.
Esempi:
-
Considerare lo scenario in cui i record di log dell'origine log
SAR CPU Logssono raggruppati in base al nome host e alla CPU. Per determinare il carico riscontrato dalla CPU del server nel tempo, il comandoevalcrea un campo virtualeLoad %e genera il grafico a linee.'Log Source' = 'SAR CPU Logs' | rename Instance as CPU | link 'Host Name (Server)', CPU | stats avg('CPU Idle Time (%)') as 'CPU Idle Time (%)' | eval 'Load %' = 100 - 'CPU Idle Time (%)'Per visualizzare il grafico a linee:
-
Fare clic sulla scheda istogramma.
-
Fare clic sulla freccia giù accanto all'icona Opzioni grafico (
). Fare clic su Nascondi/Mostra grafici. Selezionare % caricamento.
-
Fare clic sulla freccia giù accanto all'icona Opzioni grafico (
). Fare clic su Opzioni grafico. Nell'elenco Tipo di grafico selezionare Linea senza indicatore. Fare clic su Chiudi.
-
-
Considerare lo scenario in cui i record di log dell'origine log
OMC WLS Server Access Logssono raggruppati in base all'URI. Per determinare la dimensione dei dati a cui si accede nel tempo in megabyte, il comandoevalcrea un campo virtualeContent Size (MB), calcola la dimensione del contenuto in megabyte in base al valore del campoContent Sizee genera il grafico a linee.'Log Source' = 'WLS Server Access Logs' | link URI | stats avg('Content Size') as 'Content Size Bytes' | eval 'Content Size (MB)' = 'Content Size Bytes' / 1024Per visualizzare il grafico a linee:
-
Fare clic sulla scheda istogramma.
-
Fare clic sulla freccia giù accanto all'icona Opzioni grafico (
). Fare clic su Nascondi/Mostra grafici. Selezionare Dimensione contenuto (MB) e Record log accessi.
-
Fare clic sulla freccia giù accanto all'icona Opzioni grafico (
). Fare clic su Opzioni grafico. Nell'elenco Tipo di grafico selezionare Linea senza indicatore. Fare clic su Chiudi.
-
Collega utilizzando l'istruzione SQL come campo di analisi
Link supporta l'istruzione SQL come campo per l'analisi. Istruzione SQL contiene l'istruzione SQL eseguita e acquisita dalle origini log come Database Audit XML Logs e Oracle Unified DB Audit Log Source Stored in Database 12.1.
È possibile utilizzare link 'SQL Statement' per raggruppare le istruzioni SQL e analizzarne il comportamento e identificare le anomalie.
Esempio:
Si consideri la seguente query che collega i record di log in base al campo Istruzione SQL:
'Log Source' in ('Database Audit Logs', 'Database Audit XML Logs')
| rename 'Host Name (Server)' as 'DB Server', 'User Name (Originating)' as 'OS User', 'User Name' as 'DB User'
| link 'SQL Statement'
| rename Count as 'Number of Runs', 'Start Time' as 'First Run', 'End Time' as 'Last Run', 'Group Duration' as Age
| addfields [ Object = dual | stats count as 'dual Table Access' ],
[ Object like 'all_%' | stats count as 'ALL_ Table Access' ],
[ Object like 'dba_%' | stats count as 'DBA_ Table Access' ],
[ Object like 'user_%' | stats count as 'USER_ Table Access' ],
[ Object like 'v$%' | stats count as 'VDollar Table Access' ],
[ Object = null | stats count as 'No Table Access' ],
[ Action = '2' | stats count as 'Insert Count' ],
[ Action = '3' | stats count as 'Select Count' ],
[ Action = '6' | stats count as 'Update Count' ],
[ Action = '7' | stats count as 'Delete Count' ],
[ Type = '8' | stats count as 'Connect Count' ],
[ 'Status Code' = 1 | stats count as Failures ]
| eval 'Object Type' = if('dual Table Access' > 0, Dual,
'ALL_ Table Access' > 0, System,
'DBA_ Table Access' > 0, System,
'USER_ Table Access' > 0, System,
'VDollar Table Access' > 0, System,
'No Table Access' > 0, 'No Table', Other)
| eval 'SQL Type' = if('Insert Count' > 0, Insert,
'Select Count' > 0, Select,
'Update Count' > 0, Update,
'Delete Count' > 0, Delete,
'Connect Count' > 0, Connect, Other)
| stats distinctcount(Object) as Objects, distinctcount('Database ID') as 'Number of DBs',
distinctcount(Session) as 'Number of Sessions'
| fields -'dual Table Access', -'No Table Access', -'ALL_ Table Access',
-'USER_ Table Access', -'DBA_ Table Access', -'VDollar Table Access', -'Insert Count',
-'Select Count', -'Update Count', -'Delete Count', -'Connect Count', -'SQL Type', -'Object Type'
| classify Age
| classify 'Number of Sessions'
| classify 'Number of DBs'
| classify 'Number of Runs', 'Object Type'
| classify 'Object Type', 'SQL Type'addfields è una funzione disponibile con la visualizzazione dei collegamenti per aggiungere campi virtuali alla query. Richiede una query e collega l'output a un comando stats. Il campo virtuale risultante è disponibile nella tabella e nel grafico delle serie temporali.
Per la sintassi e gli altri dettagli del comando addfields, vedere addfields.
Eseguendo la query precedente, è possibile osservare i seguenti risultati:
-
In base al comando di classificazione, vengono generati i grafici a bolle per
Age,Number of Sessions,Number of DBs,Number of Runs, Object TypeeObject Type, SQL Type.Nei grafici a bolle, i record di log vengono raggruppati in base al numero di istruzioni SQL che rientrano in ogni set di parametri. I parametri
Object TypeeSQL Typevengono determinati utilizzando il comandoevalnella query. -
The Line with Area histogram charts illustrate the occurrence of fields like
dual Table Access,No Table Access,ALL_ Table Access,USER_ Table Access,DBA_ Table Access,VDollar Table Access,Insert Count,Select Count,Update Count,Delete Count,Connect Count, andLog Recordsplotted against time.-
Nella scheda Grafico dell'istogramma, fare clic sulla freccia verso il basso accanto all'icona Opzioni grafico (
).
-
Selezionare questa opzione per visualizzare i grafici di tutti i campi.
-
In Tipo di grafico, selezionare Linea con area.
-
Regolare la larghezza per visualizzare due grafici per riga.
-
-
La tabella Gruppi elenca i gruppi identificati dal collegamento in base al campo Istruzione SQL. È possibile osservare che per ogni SQL, la tabella elenca il numero di tempo di esecuzione dell'istruzione SQL, l'ora di inizio, l'ora di fine e la durata del gruppo. Fare clic su ciascun gruppo e visualizzare i record di log per ulteriori dettagli. È inoltre possibile visualizzare i gruppi nella visualizzazione cluster per ulteriori analisi.
Analizza il tempo impiegato tra i passi di una transazione
La funzione di collegamento consente di analizzare le sessioni utente, estrarre i vari parametri temporali raggruppando e dedurre i dati relativi al tempo di transazione per ottenere insight aziendali.
Prendere in considerazione questo set di dati non ordinato prelevato da un file di log degli accessi. I campi riportati di seguito indicano le informazioni su una sessione utente e sulle azioni eseguite dall'utente.
Time | Session ID | Action
T2 | 1 | Login
T1 | 5 | Login
T6 | 1 | addtocart
T3 | 1 | productlisting
T4 | 1 | purchase
T9 | 1 | purchase
T7 | 5 | addtocart
T5 | 1 | addtocart
T8 | 5 | purchase Le azioni come Login, addtocart, productlisting e purchase vengono registrate in un ordine casuale da T1 a T9 e si sono verificate in due sessioni con ID sessione 1 e 5.
Per eseguire un'analisi temporale simile dei log degli accessi, estrarre il valore Session ID dai log in un campo. Estrarre i passi intermedi della sessione dai log degli accessi applicando un'espressione regolare per ottenere il valore URL dai log.
In un contesto generico, le sessioni in questo esempio rappresentano qualsiasi transazione utente e le azioni rappresentano i passi intermedi eseguiti dall'utente per completare una transazione.
Per analizzare questi dati non ordinati e per estrarre le informazioni richieste, è possibile eseguire la seguente query di esempio:
'Upload Name' = logadmin
| link 'Session ID'
| rename 'Group Duration' as 'Session Duration'
| addfields
[ Action = addtocart | stats earliest(Time) as 'First Add To Cart Time' ],
[ Action = purchase | stats latest(Time) as 'Last Purchase Time' ]
| eval 'Time Taken for Purchase (Secs)' = ('Last Purchase Time' - 'First Add To Cart Time') / 1000
| fields -'First Add To Cart Time',
-'Last Purchase Time'
| classify 'Time Taken for Purchase (Secs)'-
link 'Session ID'raggruppa i record Log di accesso in base all'ID sessione, creando due gruppi:Time | Session ID | Action T2 | 1 | Login T6 | 1 | addtocart T3 | 1 | productlisting T4 | 1 | purchase T5 | 1 | addtocart T9 | 1 | purchase T1 | 5 | Login T7 | 5 | addtocart T8 | 5 | purchase -
addfieldsviene eseguito in ognuno di questi gruppi. Il primoaddfieldsraccoglie i record in cuiAction = addtocart. Il risultato di questa query è il seguente per entrambi i gruppi:Time | Session ID | Action T6 | 1 | addtocart T5 | 1 | addtocart T7 | 5 | addtocart -
stats earliest(Time)ordina il risultato precedente in base al tempo, per ogni gruppo:Time | Session ID | Action T5 | 1 | addtocart T6 | 1 | addtocart T7 | 5 | addtocart -
Quindi il campo specificato, ovvero
Time, viene prelevato dal primo record:'First Add To Cart Time' = T5 for Group = 1 'First Add To Cart Time' = T7 for Group = 5 -
Il secondo
addfieldsviene eseguito suAction = purchase, estraendo i seguenti record:Time | Session ID | Action T4 | 1 | purchase T9 | 1 | purchase T8 | 5 | purchase -
latest(Time)ordina anche i record sopra elencati perTime:Time | Session ID | Action T4 | 1 | purchase T9 | 1 | purchase T8 | 5 | purchase -
latest(Time)seleziona il record ultimo ed estrae il campo specificato, ovveroTime:'Last Purchase Time' = T9 for Group = 1 'Last Purchase Time' = T8 for Group = 5 -
A questo punto, entrambi i gruppi hanno i valori per
First Add to Cart TimeeLast Purchase Timeimpostati. Si tratta di indicatori orari.evalsottrae l'uno dall'altro per ottenere il tempo trascorso. -
In effetti, è possibile ottenere il tempo richiesto dal passo Aggiunta al carrello al passo Acquisto per ogni sessione. Ora può essere utilizzato in
classifyper analizzare la varianza di questo tempo trascorso tra le sessioni.
Per la sintassi e gli altri dettagli del comando addfields, vedere addfields.
Genera grafici per più campi e relativi valori
È possibile utilizzare il comando addfields nella query per specificare più campi per generare grafici separati. Ora è anche possibile utilizzare l'opzione Aggiungi/Modifica grafici dell'istogramma nell'interfaccia utente per eseguire la stessa operazione del comando addfields.
In genere, si desidera confrontare i grafici di un singolo campo con vari valori, ad esempio i valori del campo Severità come Errore, Critico, Avviso e Avvertenza. L'opzione Aggiungi grafico consente di generare più grafici da confrontare fianco a fianco specificando il campo e i relativi valori nella finestra di dialogo.
In alternativa, è possibile digitare e aggiornare la query con il comando. L'opzione Aggiungi grafico consente di eseguire l'operazione più velocemente rispetto alla composizione della query con il comando addfields.
-
Dall'interfaccia utente del collegamento, andare alla scheda Record log, dal menu
Opzioni grafico, fare clic sul menu Aggiungi/Modifica grafici per aggiornare automaticamente la query con il comando addfields.Viene visualizzata la finestra di dialogo Aggiungi/Modifica grafici.
-
Accanto a Subquery, selezionare il campo dal menu, ad esempio
Severity.Selezionare l'operatore pertinente.
Fare clic sull'icona di modifica
per selezionare uno o più valori, ad esempio alert. I campi calcolati non sono supportati. -
Facoltativamente, selezionare la funzione Statistiche.
Accanto a Statistiche, selezionare la funzione da eseguire sul campo e il campo funzione dal menu a discesa.
Ad eccezione della funzione
count, tutte le altre funzioni richiedono che venga specificato il campo Funzione. -
Fare clic su Aggiungi grafico per visualizzare la query risultante. Per modificare la query, fare clic sull'icona Modifica
.
-
Ripetere i passi da 2 a 4 per aggiungere altri grafici, ad esempio per generare i grafici per i valori
error,criticalewarningdel campoSeverity.Fare clic su Aggiorna.
-
Fare clic sul menu Opzioni grafico
e assicurarsi che i nuovi grafici generati siano inclusi e selezionati nell'opzione Nascondi/Mostra. È inoltre possibile selezionare il tipo di grafico, le dimensioni dal grafico, l'altezza, la larghezza e altri attributi. Vedere Grafico dell'istogramma.
È ora possibile visualizzare i grafici personalizzati dei campi selezionati e i relativi valori di selezione nella scheda Record di log e confrontarli visivamente.
Aggregazione di secondo livello mediante il comando Eventstats nel collegamento
Il collegamento viene utilizzato per raggruppare i record di log utilizzando una o più chiavi univoche. Ad esempio, è possibile raggruppare tutti i record di log appartenenti a una transazione utilizzando l'ID transazione univoco. Le statistiche possono essere generate su ciascun gruppo utilizzando il comando stats. eventstats è un nuovo comando in grado di aggregare ulteriormente queste statistiche. Gli esempi riportati di seguito illustrano i casi d'uso per eventstats.
Prendere in considerazione il seguente set di dati dei log degli accessi,senza gli esempi:
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 100
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 100
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 50
1-Jan-2020 10:00:00 PST, chicago_dc1 /index.html 50
1-Jan-2020 10:00:00 PST, chicago_dc2 /index.html 200
1-Jan-2020 10:00:00 PST, chicago_dc2 /index.html 200
1-Jan-2020 10:00:00 PST, austin_dc7 /report/download 5000
1-Jan-2020 10:00:00 PST, austin_dc7 /users/auth 50
1-Jan-2020 10:00:00 PST, amsterdam_dc1 /index.html 350
1-Jan-2020 10:00:00 PST, amsterdam_dc1 /report/download 1024Il set di dati include i seguenti campi:
- Ora: ad esempio, 1-gen-2020 10:00:00 PST.
- Nome host (server): l'host che ha servito questa richiesta, ad esempio chicago_dc1.
- URI: l'URL della richiesta, ad esempio /index.html.
- Dimensione contenuto in uscita: il numero di byte scaricati, ad esempio 100.
Raggruppamento semplice:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'La query precedente raggruppa i record di log utilizzando la combinazione distinta dei campi Nome host (server) e URI. Il campo Dimensione contenuto in uscita di ciascun record viene quindi sommato per gruppo nel nuovo campo Byte scaricati.
Somma globale con statistiche evento
I byte scaricati nell'esempio precedente sono per ogni combinazione di server e URL. Un semplice caso d'uso di eventstats consiste nel calcolare i dati totali scaricati su tutti i server e gli URL:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded'Nell'esempio precedente, eventstats aggrega i valori per ogni gruppo per produrre un singolo rollup globale. Questo può ora essere passato a classify o eval, nonché utilizzato nella clausola where.
Comandi eventstats multipli:
È possibile raggruppare più eventstats o concatenarli come nell'esempio seguente:
.. | eventstats sum('Content Size In') as 'Bytes Uploaded', sum('Content Size Out') as 'Bytes Downloaded'
| eventstats avg('Duraton') as 'Global Average Duration'Raggruppamento mediante statistiche eventi
Il comando eventstats dispone anche della modalità group by. Tenere presente quanto riportato di seguito.
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded' by URIInvece di calcolare un singolo valore, eventstats ora calcola un valore per URI univoco:
La somma viene generata prima ottenendo gli URI distinti e quindi eseguendo l'aggregazione:
index.html -> 300 + 400 + 350 = 1050
/report/download -> 5000 + 1024 = 6024
/users/auth -> 50 = 50Statistiche eventi con valutazione
Il comando eventstats può essere utilizzato anche in un campo prodotto da un comando eval. Ad esempio, invece dell'URL, possiamo produrre i totali rispetto al data center:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eval offset = indexof('Host Name (Server)', _)
| eval Datacenter = substr('Host Name (Server)', 0, offset)
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded' by Datacenter
| fields -offsetLa funzione sum viene eseguita dopo il raggruppamento per sottostringhe:
chicago_dc1 = 300
chicago_dc2 = 400
-> chicago = 300+400 = 700
amsterdam_dc1 = 350
amsterdam_dc1 = 1024
-> amsterdam = 350 + 1024 = 1374
austin_dc7 = 5000
austin_dc7 = 50
-> austin = 5000 + 50 = 5050Il raggruppamento può essere eseguito utilizzando una o più proprietà. Le proprietà sono le chiavi di gruppo o i valori stringa prodotti da stats o eval.
Calcola percentuali per confronto gruppo
Un'applicazione molto importante per il comando eventstats è quella di produrre un valore globale e identificare il contributo percentuale elevato o basso da vari gruppi:
* | link 'Host Name (Server)', URI
| stats sum('Content Size Out') as 'Bytes Downloaded'
| eval offset = indexof('Host Name (Server)', _)
| eval Datacenter = substr('Host Name (Server)', 0, offset)
| eventstats sum('Bytes Downloaded') as 'Total Bytes Downloaded' by Datacenter
| eval 'Download Contribution %' = 100 / ('Total Bytes Downloaded' / 'Bytes Downloaded')
| fields -offset% contributo download viene calcolato utilizzando il valore globale prodotto da eventstats..by e il valore per gruppo prodotto da stats:
chicago_dc1, index.html => 100/(700/300) = 42.857
chicago_dc2, index.html => 100/(700/400) = 57.143
amsterdam_dc1, index.html => 100/(1374/350) = 25.473
amsterdam_dc1, /report/download => 100/(1374/1024) = 74.527
austin_dc7, /report/download => 100/(5050/5000) = 99.01
austin_dc7, /users/auth => 100/(5050/50) = 0.99Questa query consente di vedere quali URL causano il traffico di download più elevato rispetto agli altri URL nello stesso data center. Il campo % contributo scaricamento può essere utilizzato per filtrare i gruppi utilizzando:
- la clausola
where - comando
sortper la classificazione - Comando
classifyper il rilevamento delle anomalie
Utilizzare le funzioni di navigazione dei collegamenti per identificare gli eventi in un database
Utilizzare Collegamento per creare dati strutturati dai record di log e visualizzare i dati come tabella ordinata. Le funzioni statistiche possono essere applicate alle colonne della tabella utilizzando il comando stats per creare colonne derivate. Queste colonne derivate possono essere ulteriormente aggregate utilizzando il comando eventstats.
Funzioni di navigazione
Le funzioni di navigazione sono utili per recuperare i valori di una colonna specifica da una riga specifica. Essi producono risultati diversi a seconda del comando di ordinamento precedente.
Le seguenti funzioni di navigazione possono essere utilizzate con il comando eventstats nel collegamento:
| Funzione | Descrizione |
|---|---|
|
|
Crea colonna numero riga |
|
|
Recupera il primo valore per il campo specificato |
|
|
Recupera l'ultimo valore per il campo specificato |
|
|
Recupera il valore della colonna per la riga specificata |
|
|
Recupera il valore della colonna per la riga precedente |
|
|
Recupera il valore della colonna per la riga successiva |
Per ulteriori informazioni sulle funzioni, vedere statistiche degli eventi.
Recupera contesto per un evento
Log Analytics fornisce etichette pronte all'uso per i Database Alert Log. L'etichetta Cessazione anomala indica un problema grave che causa la chiusura del database. Un triage tipico comporta l'analisi della sequenza di eventi che si sono verificati prima di tale arresto. È anche utile conoscere gli eventi dopo un arresto.
Nelle sezioni seguenti vengono descritti i passi da eseguire per valutare utilizzando alcune delle funzioni eventstats per Database Alert Log.
Collega eventi negli alert log del database
Eseguire la query seguente per collegare gli eventi per un database selezionato:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
In questo modo viene creata una riga univoca per ogni etichetta nel database. Poiché è stata inclusa la colonna Ora, se si ripetono in momenti diversi, sarebbero presenti più righe per la stessa Etichetta.
Il comando sort ordina la tabella in base all'ordine di Etichetta, con la tabella meno recente nella prima riga.
Aggiungi numero riga
Eseguire la query seguente per aggiungere un numero a ogni riga:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
Se la query contiene più database, il numero riga viene reimpostato per ogni database, a causa della clausola by Database.
Identificare la riga con l'evento di arresto anomalo del database
L'etichetta Arresto anomalo indica che il database si è bloccato. Identificare tali righe con la seguente query:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
addfields viene utilizzato per identificare un subset dei record di log. In questo caso, addfields esegue la ricerca in più righe della tabella. Le righe corrispondenti vengono passate a eventstats e last('Row Number') seleziona il numero riga dell'ultima riga corrispondente. Questo campo viene popolato come nuovo campoRiga arresto anomalo. Si noti che Crash Row avrà un valore solo per le righe che corrispondono alla condizione specificata in addfields.
La riga dell'arresto anomalo viene popolata solo per righe specifiche. Utilizzare un altro eventstats per inserire il valore in tutte le righe:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
| eventstats max('Crash Row') as 'Event Row' by Database
Questa operazione crea la colonna Riga evento in ogni riga e contiene la riga con l'ultimo arresto anomalo del database.
Identifica gli eventi vicino all'arresto del database
Il tavolo ha ancora diversi eventi, ad esempio centinaia. Per identificare alcuni eventi prima della riga evento e alcuni eventi dopo la riga evento, modificare la query per filtrare le righe:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
| eventstats max('Crash Row') as 'Event Row' by Database
| eval 'Start Row' = 'Event Row' - 3
| eval 'End Row' = 'Event Row' + 2
| where 'Row Number' >= 'Start Row' and 'Row Number' <= 'End Row'
La tabella mostra ora gli eventi verificatisi prima della cessazione normale. È inoltre possibile visualizzare gli eventi che si sono verificati dopo la cessazione normale.
Eventi precedenti e successivi
lag() può essere utilizzato per ottenere l'evento precedente. È possibile passare un numero di riga facoltativo per ottenere una riga precedente specifica. È possibile utilizzare lead() in modo simile per ottenere la riga successiva:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| addfields
[ *
| where Label != null
| eventstats lag(Label) as 'Previous Event',
lead(Label) as 'Next Event'
]Inoltre, nthVal() può ottenere il valore da una riga specifica.
Utilizzare i simboli di valuta nell'analisi del log
È possibile utilizzare la funzione unit nel comando eval per contrassegnare un campo come contenente la valuta. È quindi possibile utilizzare tale valore di campo nell'analisi e visualizzare il simbolo di valuta corrispondente nella tabella delle visualizzazioni e dei gruppi.
È innanzitutto possibile specificare l'unità di valuta utilizzando il formato definito in val. Successivamente, la tabella dei collegamenti e i grafici visualizzeranno i simboli di valuta corretti.
Nell'esempio riportato di seguito, il valore del campo Prezzo viene utilizzato per calcolare i valori dei nuovi campi Prezzo (USD), Prezzo (GBP), Prezzo (JPY), Prezzo (CNY) e Prezzo (INR) e contrassegnarli come valuta contenente. Gli stessi nuovi campi sono utilizzati per l'analisi per ottenere il prezzo medio regionale della benzina in un periodo di diversi anni.
'Log Source' = 'Gasoline Prices'
| eval 'Price (USD)' = unit(Price, currency_usd)
| eval 'Price (GBP)' = unit(Price * 0.72, currency_gbp)
| eval 'Price (JPY)' = unit(Price * 110.6, currency_jpy)
| eval 'Price (CNY)' = unit(Price * 6.47, currency_cny)
| eval 'Price (INR)' = unit(Price * 74.79, currency_inr)
| link Time, Type, Region
| stats avg('Price (USD)') as 'Cost (USD)',
avg('Price (GBP)') as 'Cost (GBP)',
avg('Price (JPY)') as 'Cost (JPY)',
avg('Price (CNY)') as 'Cost (CNY)',
avg('Price (INR)') as 'Cost (INR)'
| classify 'Start Time', 'Cost (USD)', Region, Type as 'Gas Price Analysis'Nell'immagine seguente, i gruppi sono identificati in base alla regione, al tempo e al tipo di benzina. La fascia di prezzo medio della benzina viene utilizzata per tracciare le bolle lungo l'asse y.

Nella seguente immagine, la tabella dei gruppi mostra il prezzo medio della benzina in varie valute. I grafici mostrano la variazione del costo in diversi anni per ogni valore di valuta.

Analisi della serie temporale mediante il comando timestats
È possibile analizzare la tendenza di un campo utilizzando il comando timestats. Il comando timestats, se utilizzato dopo il comando link, fornisce ulteriori analisi delle serie temporali e visualizzazione avanzata.
Considera l'esempio dei log dello schema unificato del flusso VCN OCI. Il campo Azione nei log dello schema unificato di flusso della VCN OCI indica se una determinata richiesta di rete è stata accettata o rifiutata. Utilizzare il comando timestats per analizzare la tendenza di questo campo. Vedere timestats.
A partire dal comando link di base:
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | link ActionCiò mostra che esistono due valori distinti per il periodo di tempo selezionato:

Nel caso precedente, è disponibile una sola riga per ogni azione univoca perché il comportamento predefinito è raggruppare in base al campo specificato. Il primo passo consiste nell'assicurarsi che siano presenti più righe per ogni valore in base al periodo di tempo. A tale scopo, aggiungere Time come altro campo al comando link.
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | link span=1day Time, ActionIl parametro span è facoltativo. Se non viene fornito, viene calcolato un valore predefinito appropriato per il periodo di tempo selezionato. Ora è possibile visualizzare la stessa azione per un giorno diverso in una riga separata.

Utilizzare ora il comando timestats. In questo caso, si desidera Ora di inizio nell'asse X e il valore Conteggio nell'asse Y. Poiché timestats richiede sempre una funzione, utilizzare la funzione sum() per sommare il numero di record con il valore Azione specificato per ogni intervallo.
'Log Source' = 'OCI VCN Flow Unified Schema Logs'
| link span=1day Time, Action
| timestats name="Trend of Action" sum(Count) as Records by ActionMostra i valori sum(Count) per ogni azione.

Per informazioni dettagliate sulla rappresentazione della serie temporale mediante il comando timestats, i campi, i limiti e le opzioni di configurazione, vedere Usa comando timestats per tracciare una serie temporale.
Clustering serie temporale
È possibile raggruppare valori di serie temporali simili utilizzando il comando timecluster dopo il comando link. Il clustering è utile quando esistono un numero elevato di serie temporali da analizzare o quando si desidera identificare comportamenti diversi nei valori delle serie temporali.
I log dello schema unificato del flusso VCN OCI registrano le informazioni sul traffico di rete per una VNIC OCI. Per identificare la quantità di dati trasferiti da IP pubblici diversi, è possibile comporre una query utilizzando i campi IP pubblico e Dimensione contenuto in uscita.
A partire dal comando link di base:
'Log Source' = 'OCI VCN Flow Unified Schema Logs' | eval 'Content Size Out (bytes)' = unit('Content Size Out', byte) | link 'Public IP'Ciò indica che nel sistema sono presenti più di 25k IP pubblici univoci.

La tabella contiene una riga per ogni IP pubblico univoco. Questo deve essere frazionato per avere una riga per ogni periodo di tempo. Per eseguire questa operazione, aggiungere il campo Time al comando link:
'Log Source' = 'OCI VCN Flow Unified Schema Logs'
| eval 'Content Size Out (bytes)' = unit('Content Size Out', byte)
| link Time, 'Public IP'Mostra più righe per ogni valore IP pubblico.
Se si utilizza il comando timestats per rappresentare la serie temporale, vengono restituiti solo i primi 100 IP pubblici. Non è possibile rappresentare gli IP 25k in un grafico.

Pertanto, anziché timestats, utilizzare timecluster per ottenere gli esempi rappresentativi.
'Log Source' = 'OCI VCN Flow Unified Schema Logs'
| eval 'Content Size Out (bytes)' = unit('Content Size Out', byte)
| link Time, 'Public IP'
| timecluster avg('Content Size Out (bytes)') as 'Network Transfer' by 'Public IP'
Ogni riga rappresenta uno o più valori IP pubblico con valori simili per il trasferimento di rete.
Mouse-over su qualsiasi punto per visualizzare maggiori dettagli:

Per ulteriori informazioni sul comando timecluster e sul clustering delle serie temporali, vedere timecluster e Use timecluster Command to Plot a Time Series.

















