Splunk - Campi calcolati
Molte volte, dovremo fare alcuni calcoli sui campi che sono già disponibili negli eventi Splunk. Vogliamo anche memorizzare il risultato di questi calcoli come un nuovo campo a cui fare riferimento in seguito da varie ricerche. Ciò è reso possibile utilizzando il concetto di campi calcolati nella ricerca Splunk.
Un esempio più semplice consiste nel mostrare i primi tre caratteri di un giorno della settimana invece del nome completo del giorno. Dobbiamo applicare una determinata funzione Splunk per ottenere questa manipolazione del campo e memorizzare il nuovo risultato con un nuovo nome di campo.
Esempio
Il file di registro Web_application ha due campi denominati byte e date_wday. Il valore nel campo byte è il numero di byte. Vogliamo visualizzare questo valore come GB. Ciò richiederà che il campo venga diviso per 1024 per ottenere il valore GB. Dobbiamo applicare questo calcolo al campo dei byte.
Allo stesso modo, date_wday mostra il nome completo del giorno della settimana. Ma dobbiamo visualizzare solo i primi tre caratteri.
I valori esistenti in questi due campi sono mostrati nell'immagine sotto:
Utilizzo della funzione eval
Per creare un campo calcolato, utilizziamo la funzione eval. Questa funzione memorizza il risultato del calcolo in un nuovo campo. Applicheremo i seguenti due calcoli:
# divide the bytes with 1024 and store it as a field named byte_in_GB
Eval byte_in_GB = (bytes/1024)
# Extract the first 3 characters of the name of the day.
Eval short_day = substr(date_wday,1,3)
Aggiunta di nuovi campi
Aggiungiamo nuovi campi creati sopra all'elenco dei campi che mostriamo come parte del risultato della ricerca. Per fare questo, scegliamoAll fields opzioni e spunta il segno di spunta sul nome di questi nuovi campi come mostrato nell'immagine sottostante -
Visualizzazione dei campi calcolati
Dopo aver scelto i campi sopra, siamo in grado di vedere i campi calcolati nel risultato della ricerca come mostrato di seguito. La query di ricerca mostra i campi calcolati come mostrato di seguito: