eventstats

Utilizzare il comando eventstats per ottenere statistiche generali di riepilogo, eventualmente raggruppate per campi, sulle proprietà dei gruppi identificati da qualsiasi comando di raggruppamento, ad esempio stats, link o timestats. Il relativo output includerà un campo per ogni aggregazione.

Sintassi

Nota

L'operatore di aggregazione 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

La tabella seguente elenca i parametri utilizzati con questo comando e le 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 per il campo dopo l'applicazione del comando stats.

Per le funzioni supportate, vedere Funzioni, Funzioni posizionali e Funzioni analisi serie temporale.

Funzioni

La tabella seguente elenca 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’)

Univocità

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ù recente 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ù recenti

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

Medio

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

avg(field_name)

  • avg(‘Content Size’)

Conteggio

Nota: questa funzione utilizza una semantica simile a sql. In altre parole, count restituisce il conteggio per tutte le righe, ma count(field) restituisce il conteggio per tutte le righe in cui il campo non è nullo.

count(field_name)

  • count(Source)

Conteggio distinti

distinctcount(field_name)

  • distinctcount(Severity)

massimo

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

max(field_name)

  • max('Content Size')

Mediano

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 è disponibile solo per le statistiche degli eventi, i geostati, le statistiche e i dati orari (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 per 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')

ultima

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

N/A

Recupera il valore della proprietà dalla nth row, 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 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 grandezza massima all'interno del risultato recuperato. Un valore di magnitudine più alto indica valori assoluti più grandi.

Sintassi: peak

  • | eventstats peak('Content Size')

punteggio massimo

Recupera il valore della proprietà con punteggio massimo 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 che ottiene 1 come punteggio e tutti gli altri valori compresi tra 0 e 1.

Sintassi: peakscore

  • | eventstats peakscore('Content Size')

valle

Recupera il valore della proprietà con l'ampiezza della valle all'interno del risultato recuperato. Un valore di magnitudine inferiore indica valori assoluti più piccoli.

Sintassi: valley

  • | eventstats valley('Content Size')

vallescore

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 minore 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 ottenere un picco di grandezza e un punteggio normalizzato compreso tra 0 e 1. Ad esempio, la query seguente evidenzia i picchi più alti nel tempo di risposta dell'utente, utilizzando il campo Durata dell'origine log dei log dei log degli accessi:

'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 in Link Visualization

Questa funzione può essere utilizzata per cercare e raggruppare i dati delle serie temporali, ad esempio per identificare 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'

Raggruppa tutti i log irreversibili per tipo di entità e transazione e ottieni il tempo medio trascorso complessivo 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'
   ]