eventstats
Utilizzare il comando eventstats per ottenere statistiche di riepilogo generali, facoltativamente raggruppate per campi, sulle proprietà dei gruppi identificati da qualsiasi comando di raggruppamento, ad esempio stats, link o timestats. L'output includerà un campo per ogni aggregazione.
Sintassi
L'operatore aggregato tendenza non è consentito con
eventstats.
eventstats <stats_function> (<field_name>) [as <new_field_name>] [, <stats_function> (<field_name>) [as <new_field_name>]]* [by <field_name> [, <field_name>]*]
Parametri
Nella tabella seguente sono elencati i parametri utilizzati con questo comando, insieme alle relative descrizioni.
| Parametro | Descrizione |
|---|---|
|
|
Utilizzare questo parametro per specificare il campo in base al quale si desidera raggruppare i risultati. |
|
|
Utilizzare questo parametro per specificare il nuovo nome del campo dopo l'applicazione del comando |
Per le funzioni supportate, vedere Funzioni, Funzioni di posizionamento e Funzioni di analisi serie temporale.
Funzioni
Nella tabella seguente sono elencate le funzioni disponibili con questo comando, insieme ai relativi esempi.
| Funzione | Esempi |
|---|---|
|
Valori Elenca i primi 10 valori per un determinato campo con delimitatore facoltativo. Può essere applicato a qualsiasi tipo di dati di campo. |
|
|
Univoco Elenca i primi 10 valori univoci per un determinato campo con delimitatore facoltativo. Può essere applicato a qualsiasi tipo di dati di campo. |
|
|
Meno recente Restituisce il valore non nullo più vecchio per il campo specificato. Verrà restituito un valore nullo se il campo è completamente vuoto per i risultati di una determinata query. |
|
|
Più recente Restituisce il valore non nullo più recente per il campo specificato. Verrà restituito un valore nullo se il campo è completamente vuoto per i risultati di una determinata query. |
|
|
Media Nota: questa funzione è supportata solo per i campi numerici. |
|
|
Conteggio Nota: questa funzione utilizza semantica simile a sql; vale a dire, count restituisce il conteggio per tutte le righe; count(field) restituisce tuttavia il conteggio per tutte le righe in cui il campo non è nullo. |
|
|
Conteggio distinto |
|
|
Massimo Nota: questa funzione è supportata solo per i campi numerici. |
|
|
Mediana Nota: questa funzione è supportata solo per i campi numerici. |
|
|
Minimo Nota: questa funzione è supportata solo per i campi numerici. |
|
|
Percentuale. Nota: questa funzione è supportata solo per i campi numerici. |
|
|
Somma Nota: questa funzione è supportata solo per i campi numerici. |
|
|
Deviazione standard Nota: questa funzione è supportata solo per i campi numerici. |
|
|
Se nullo Modifica il valore se il valore è nullo. Nota: questa funzione è solo per le statistiche degli eventi, i geostati, le statistiche e i dati temporali (non dopo il collegamento). |
|
Funzioni di posizione
Nella tabella seguente sono elencate le funzioni univoche di questo comando, insieme ai relativi esempi.
| Funzione | Esempi |
|---|---|
|
primo Recupera il valore della proprietà dalla prima riga, come definito dal criterio di ordinamento corrente, all'interno del risultato recuperato. |
Sintassi:
|
|
ultimo Recupera il valore della proprietà dall'ultima riga, come definito dal criterio di ordinamento corrente, all'interno del risultato recuperato. |
Sintassi:
|
|
nthval Recupera il valore della proprietà dalla na riga, come definito dal criterio di ordinamento corrente, all'interno del risultato recuperato. |
Sintassi:
|
|
ritardo Recupera il valore della proprietà da una riga in corrispondenza di un determinato offset prima della riga corrente. L'offset predefinito è 1. |
Sintassi:
|
|
portare Recupera il valore della proprietà da una riga in corrispondenza di un determinato offset dopo la riga corrente. L'offset predefinito è 1. |
Sintassi:
|
|
rownum Assegna un numero univoco in sequenza, a partire da 1, come definito dal criterio di ordinamento corrente a ogni riga all'interno del risultato recuperato. |
Sintassi:
|
Funzioni di analisi serie temporale
Nella tabella seguente sono elencate le funzioni per l'analisi delle serie temporali, insieme ai relativi esempi.
| Funzione | Esempi |
|---|---|
|
picco Recupera il valore della proprietà con l'entità di picco, all'interno del risultato recuperato. Un valore di magnitudine più alto indica valori assoluti più grandi. |
Sintassi:
|
|
picco Recupera il valore della proprietà con un punteggio di picco normalizzato compreso tra 0 e 1 all'interno del risultato recuperato. Il punteggio può essere utilizzato per confrontare i picchi, con il picco più alto ottenendo 1 come punteggio e tutti gli altri valori tra 0 e 1. |
Sintassi:
|
|
valle Recupera il valore della proprietà con l'entità della valle, all'interno del risultato recuperato. Un valore inferiore di magnitudine indica valori assoluti più piccoli. |
Sintassi:
|
|
valli Recupera il valore della proprietà con punteggio valle normalizzato compreso tra 0 e 1, all'interno del risultato recuperato. Il punteggio può essere utilizzato per confrontare le valli, con la valle minima che ottiene 0 come punteggio e tutti gli altri valori tra 0 e 1. |
Sintassi:
|
Utilizzare le funzioni peak e peakscore per analizzare i dati sequenziali in Link Visualization per il picco di magnitudine e un punteggio normalizzato compreso tra 0 e 1. Ad esempio, la query riportata di seguito evidenzia i picchi più elevati del tempo di risposta dell'utente utilizzando il campo Durata dell'origine log dei log di accesso.
'Log Source' = 'OCI API Gateway Access Logs'
| link span = 5minute Time, Server
| stats avg(Duration) as 'Avg. Duration'
| sort Server, 'Start Time'
| eventstats peak('Avg. Duration') as 'Peak Magnitude',
peakscore('Avg. Duration') as 'Peak Score' by Server
| highlightgroups priority = high
[ * | where 'Peak Score' > 0.9 ] as 'High Response Time - Needs Attention'

Questa funzione può essere utilizzata per la ricerca e il raggruppamento dei dati delle serie temporali, ad esempio l'identificazione di tutti gli eventi Fuori memoria che si sono verificati dopo un picco. Un valore più alto per la grandezza indica valori assoluti più grandi. Il punteggio può essere utilizzato per confrontare i picchi, con il picco più alto che ottiene 1 come punteggio e altri un valore compreso tra 0 e 1.
Per esempi di utilizzo del comando eventstats in scenari tipici, vedere:
Raggruppa tutti i log irreversibili per transazione e ottieni il tempo medio complessivo trascorso in tutti i gruppi:
severity = fatal | link 'Transaction ID' | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time'
severity = fatal | stats avg('Elapsed Time (system)') as 'Average Elapsed Time' | eventstats avg('Average elapsed time') as 'Overall Average elapsed time'
Raggruppare tutti i log irreversibili per tipo di entità e transazione e ottenere il tempo medio complessivo trascorso in tutti i gruppi con lo stesso tipo di entità:
severity = fatal | link 'Entity Type', 'Transaction ID' | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time' by 'Entity Type'
severity = fatal | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' by 'Entity Type', 'Transaction ID' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time' by 'Entity Type'
Nella visualizzazione Collegamento, 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
Identificare l'ultimo evento utilizzando il numero di 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
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
Identificare gli eventi precedenti e successivi di un evento 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'
| addfields
[ *
| where Label != null
| eventstats lag(Label) as 'Previous Event',
lead(Label) as 'Next Event'
]