Splunk - Champs calculés

Plusieurs fois, nous devrons effectuer des calculs sur les champs déjà disponibles dans les événements Splunk. Nous souhaitons également stocker le résultat de ces calculs dans un nouveau champ qui sera référencé ultérieurement par diverses recherches. Ceci est rendu possible en utilisant le concept de champs calculés dans la recherche Splunk.

Un exemple le plus simple consiste à afficher les trois premiers caractères d'un jour de la semaine au lieu du nom complet du jour. Nous devons appliquer certaines fonctions Splunk pour réaliser cette manipulation du champ et stocker le nouveau résultat sous un nouveau nom de champ.

Exemple

Le fichier journal Web_application comporte deux champs nommés bytes et date_wday. La valeur dans le champ octets est le nombre d'octets. Nous voulons afficher cette valeur en Go. Cela nécessitera que le champ soit divisé par 1024 pour obtenir la valeur en Go. Nous devons appliquer ce calcul au champ d'octets.

De même, date_wday affiche le nom complet du jour de la semaine. Mais nous devons n'afficher que les trois premiers caractères.

Les valeurs existantes dans ces deux champs sont indiquées dans l'image ci-dessous -

Utilisation de la fonction eval

Pour créer un champ calculé, nous utilisons la fonction eval. Cette fonction stocke le résultat du calcul dans un nouveau champ. Nous allons appliquer les deux calculs ci-dessous -

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

Ajout de nouveaux champs

Nous ajoutons de nouveaux champs créés ci-dessus à la liste des champs que nous affichons dans le cadre du résultat de la recherche. Pour ce faire, nous choisissonsAll fields options et cochez la case contre le nom de ces nouveaux champs comme indiqué dans l'image ci-dessous -

Affichage des champs calculés

Après avoir choisi les champs ci-dessus, nous pouvons voir les champs calculés dans le résultat de la recherche comme indiqué ci-dessous. La requête de recherche affiche les champs calculés comme indiqué ci-dessous -