Splunk - Langue de recherche

Le Splunk Search Processing Language (SPL) est un langage contenant de nombreuses commandes, fonctions, arguments, etc., qui sont écrits pour obtenir les résultats souhaités à partir des ensembles de données. Par exemple, lorsque vous obtenez un ensemble de résultats pour un terme de recherche, vous souhaiterez peut-être filtrer certains termes plus spécifiques de l'ensemble de résultats. Pour cela, vous avez besoin de quelques commandes supplémentaires à ajouter à la commande existante. Ceci est réalisé en apprenant l'utilisation de SPL.

Composants de SPL

Le SPL comprend les composants suivants.

  • Search Terms - Ce sont les mots-clés ou les phrases que vous recherchez.

  • Commands - L'action que vous souhaitez effectuer sur l'ensemble de résultats, comme formater le résultat ou les compter.

  • Functions- Quels sont les calculs que vous allez appliquer sur les résultats. Comme la somme, la moyenne, etc.

  • Clauses - Comment regrouper ou renommer les champs dans le jeu de résultats.

Discutons de tous les composants à l'aide d'images dans la section ci-dessous -

Termes de recherche

Ce sont les termes que vous mentionnez dans la barre de recherche pour obtenir des enregistrements spécifiques de l'ensemble de données qui répondent aux critères de recherche. Dans l'exemple ci-dessous, nous recherchons des enregistrements contenant deux termes en surbrillance.

Commandes

Vous pouvez utiliser de nombreuses commandes intégrées fournies par SPL pour simplifier le processus d'analyse des données dans l'ensemble de résultats. Dans l'exemple ci-dessous, nous utilisons la commande head pour filtrer uniquement les 3 premiers résultats d'une opération de recherche.

Les fonctions

Outre les commandes, Splunk fournit également de nombreuses fonctions intégrées qui peuvent prendre des entrées d'un champ en cours d'analyse et donner la sortie après avoir appliqué les calculs sur ce champ. Dans l'exemple ci-dessous, nous utilisons leStats avg() fonction qui calcule la valeur moyenne du champ numérique pris comme entrée.

Clauses

Lorsque nous voulons obtenir des résultats regroupés par un champ spécifique ou que nous voulons renommer un champ dans la sortie, nous utilisons le group byclause et la clause as respectivement. Dans l'exemple ci-dessous, nous obtenons la taille moyenne d'octets de chaque fichier présent dans leweb_applicationJournal. Comme vous pouvez le voir, le résultat montre le nom de chaque fichier ainsi que la moyenne d'octets pour chaque fichier.