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

Nota

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

field_name

Utilizzare questo parametro per specificare il campo in base al quale si desidera raggruppare i risultati.

new_field_name

Utilizzare questo parametro per specificare il nuovo nome del campo dopo l'applicazione del comando stats.

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.

values(field_name)

  • values(Label)

  • values(Severity)

  • values(‘Client Host City’)

  • values(‘Client Host Country’)

  • values(‘Client Host Continent’)

Univoco

Elenca i primi 10 valori univoci per un determinato campo con delimitatore facoltativo. Può essere applicato a qualsiasi tipo di dati di campo.

unique(field_name)

  • unique(Label)

  • unique(Severity)

  • unique(‘Client Host City’)

  • unique(‘Client Host Country’)

  • unique(‘Client Host Continent’)

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.

earliest(field_name)

  • earliest(‘OS Process ID’)

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.

latest(field_name)

  • latest(‘Error ID’)

Media

Nota: questa funzione è supportata solo per i campi numerici.

avg(field_name)

  • avg(‘Content Size’)

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.

count(field_name)

  • count(Source)

Conteggio distinto

distinctcount(field_name)

  • distinctcount(Severity)

Massimo

Nota: questa funzione è supportata solo per i campi numerici.

max(field_name)

  • max('Content Size')

Mediana

Nota: questa funzione è supportata solo per i campi numerici.

median(field_name)

  • median('Content Size')

Minimo

Nota: questa funzione è supportata solo per i campi numerici.

min(field_name)

  • min('Content Size')

Percentuale.

Nota: questa funzione è supportata solo per i campi numerici.

pct(field_name, n)

  • pct('Content Size', 90)

Somma

Nota: questa funzione è supportata solo per i campi numerici.

sum(field_name)

  • sum(‘Content Size’)

Deviazione standard

Nota: questa funzione è supportata solo per i campi numerici.

stddev(field_name)

  • stddev(‘Content Size’)

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).

ifnull(stats_function(field_name), return value)

  • ifnull(avg('Content Size)', 0)

  • ifnull(latest(message), none)

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: first(field_name)

  • | eventstats first('Content Size')

ultimo

Recupera il valore della proprietà dall'ultima riga, come definito dal criterio di ordinamento corrente, all'interno del risultato recuperato.

Sintassi: last(field_name)

  • | eventstats last('Content Size')

nthval

Recupera il valore della proprietà dalla na riga, come definito dal criterio di ordinamento corrente, all'interno del risultato recuperato.

Sintassi: nthval(field_name, n)

  • | eventstats nthval('Content Size', 2)

ritardo

Recupera il valore della proprietà da una riga in corrispondenza di un determinato offset prima della riga corrente. L'offset predefinito è 1.

Sintassi: lag(field_name)

  • | eventstats lag('Content Size')

portare

Recupera il valore della proprietà da una riga in corrispondenza di un determinato offset dopo la riga corrente. L'offset predefinito è 1.

Sintassi: lead(field_name)

  • | eventstats lead('Content Size')

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: rownum

  • | eventstats rownum

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: peak

  • | eventstats peak('Content Size')

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: peakscore

  • | eventstats peakscore('Content Size')

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: valley

  • | eventstats valley('Content Size')

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: valleyscore

  • | eventstats valleyscore('Content Size')

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'

funzioni di picco e picco per analizzare i dati sequenziali nella visualizzazione dei collegamenti

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.

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'
   ]