Splunk - Guide rapide

Splunk est un logiciel qui traite et fait ressortir des informations à partir des données machine et d'autres formes de big data. Ces données de machine sont générées par un processeur exécutant un serveur Web, des périphériques IOT, des journaux d'applications mobiles, etc. Il n'est pas nécessaire de fournir ces données aux utilisateurs finaux et n'a aucune signification commerciale. Cependant, ils sont extrêmement importants pour comprendre, surveiller et optimiser les performances des machines.

Splunk peut lire ces données non structurées, semi-structurées ou rarement structurées. Après lecture des données, il permet de rechercher, baliser, créer des rapports et des tableaux de bord sur ces données. Avec l'avènement du Big Data, Splunk est désormais en mesure d'ingérer des Big Data à partir de diverses sources, qui peuvent ou non être des données machine et d'exécuter des analyses sur Big Data.

Ainsi, à partir d'un simple outil d'analyse de journaux, Splunk a parcouru un long chemin pour devenir un outil analytique général pour les données machine non structurées et diverses formes de big data.

catégories de produits

Splunk est disponible dans trois catégories de produits différentes comme suit -

  • Splunk Enterprise- Il est utilisé par les entreprises qui ont une grande infrastructure informatique et des activités axées sur l'informatique. Il aide à collecter et à analyser les données de sites Web, d'applications, d'appareils et de capteurs, etc.

  • Splunk Cloud- C'est la plate-forme hébergée dans le cloud avec les mêmes fonctionnalités que la version entreprise. Il peut être utilisé à partir de Splunk lui-même ou via la plate-forme cloud AWS.

  • Splunk Light- Il permet la recherche, le rapport et l'alerte sur toutes les données du journal en temps réel à partir d'un seul endroit. Il a des fonctionnalités et des fonctionnalités limitées par rapport aux deux autres versions.

Fonctionnalités Splunk

Dans cette section, nous discuterons des fonctionnalités importantes de l'édition entreprise -

Ingestion de données

Splunk peut ingérer une variété de formats de données tels que JSON, XML et des données machine non structurées telles que les journaux Web et d'application. Les données non structurées peuvent être modélisées dans une structure de données selon les besoins de l'utilisateur.

Indexation des données

Les données ingérées sont indexées par Splunk pour une recherche et une interrogation plus rapides dans différentes conditions.

Recherche de données

La recherche dans Splunk implique l'utilisation des données indexées dans le but de créer des métriques, de prédire les tendances futures et d'identifier des modèles dans les données.

Utilisation des alertes

Les alertes Splunk peuvent être utilisées pour déclencher des e-mails ou des flux RSS lorsque certains critères spécifiques sont trouvés dans les données analysées.

Tableaux de bord

Les tableaux de bord Splunk peuvent afficher les résultats de la recherche sous forme de graphiques, de rapports et de pivots, etc.

Modèle de données

Les données indexées peuvent être modélisées dans un ou plusieurs ensembles de données basés sur des connaissances spécialisées dans le domaine. Cela facilite la navigation des utilisateurs finaux qui analysent les cas commerciaux sans apprendre les aspects techniques du langage de traitement de recherche utilisé par Splunk.

Dans ce tutoriel, nous viserons à installer la version entreprise. Cette version est disponible pour une évaluation gratuite pendant 60 jours avec toutes les fonctionnalités activées. Vous pouvez télécharger la configuration à l'aide du lien ci-dessous, disponible pour les plates-formes Windows et Linux.

https://www.splunk.com/en_us/download/splunk-enterprise.html.

Version Linux

La version Linux est téléchargée à partir du lien de téléchargement ci-dessus. Nous choisissons le type de package .deb car l'installation se fera dans une plateforme Ubuntu.

Nous l'apprendrons avec une approche étape par étape -

Étape 1

Téléchargez le package .deb comme indiqué dans la capture d'écran ci-dessous -

Étape 2

Accédez au répertoire de téléchargement et installez Splunk à l'aide du package téléchargé ci-dessus.

Étape 3

Ensuite, vous pouvez démarrer Splunk en utilisant la commande suivante avec l'argument d'acceptation de licence. Il vous demandera le nom d'utilisateur et le mot de passe de l'administrateur que vous devez fournir et mémoriser.

Étape 4

Le serveur Splunk démarre et mentionne l'URL où l'interface Splunk est accessible.

Étape 5

Vous pouvez maintenant accéder à l'URL Splunk et saisir l'ID utilisateur et le mot de passe administrateur créés à l'étape 3.

Version Windows

La version Windows est disponible en tant que programme d'installation msi, comme indiqué dans l'image ci-dessous -

Un double-clic sur le programme d'installation msi installe la version Windows dans un processus simple. Les deux étapes importantes où nous devons faire le bon choix pour une installation réussie sont les suivantes.

Étape 1

Comme nous l'installons sur un système local, choisissez l'option de système local comme indiqué ci-dessous -

Étape 2

Saisissez le mot de passe de l'administrateur et mémorisez-le, car il sera utilisé dans les futures configurations.

Étape 3

Dans la dernière étape, nous voyons que Splunk est installé avec succès et qu'il peut être lancé à partir du navigateur Web.

Étape 4

Ensuite, ouvrez le navigateur et entrez l'url donnée, http://localhost:8000et connectez-vous au Splunk en utilisant l'ID utilisateur et le mot de passe administrateur.

L'interface Web Splunk comprend tous les outils dont vous avez besoin pour rechercher, rapporter et analyser les données ingérées. La même interface Web fournit des fonctionnalités pour administrer les utilisateurs et leurs rôles. Il fournit également des liens pour l'ingestion de données et les applications intégrées disponibles dans Splunk.

L'image ci-dessous montre l'écran initial après votre connexion à Splunk avec les informations d'identification d'administrateur.

Lien administrateur

La liste déroulante Administrateur donne la possibilité de définir et de modifier les détails de l'administrateur. Nous pouvons réinitialiser l'ID de messagerie et le mot de passe de l'administrateur en utilisant l'écran ci-dessous -

Plus loin du lien administrateur, nous pouvons également accéder à l'option des préférences où nous pouvons définir le fuseau horaire et l'application d'accueil sur lesquels la page de destination s'ouvrira après votre connexion. Actuellement, il s'est ouvert sur la page d'accueil comme indiqué ci-dessous -

Lien Paramètres

Ceci est un lien qui montre toutes les fonctionnalités de base disponibles dans Splunk. Par exemple, vous pouvez ajouter les fichiers de recherche et les définitions de recherche en choisissant le lien de recherche.

Nous discuterons des paramètres importants de ces liens dans les chapitres suivants.

Lien de recherche et de rapport

Le lien de recherche et de création de rapports nous amène aux fonctionnalités dans lesquelles nous pouvons trouver les ensembles de données disponibles pour rechercher les rapports et les alertes créés pour ces recherches. Il est clairement montré dans la capture d'écran ci-dessous -

L'ingestion de données dans Splunk s'effectue via le Add Datafonctionnalité qui fait partie de l'application de recherche et de création de rapports. Après la connexion, l'écran d'accueil de l'interface Splunk affiche leAdd Data comme indiqué ci-dessous.

En cliquant sur ce bouton, l'écran nous montre pour sélectionner la source et le format des données que nous prévoyons de pousser vers Splunk pour analyse.

Rassembler les données

Nous pouvons obtenir les données pour analyse sur le site officiel de Splunk. Enregistrez ce fichier et décompressez-le dans votre lecteur local. En ouvrant le dossier, vous pouvez trouver trois fichiers qui ont des formats différents. Ce sont les données de journal générées par certaines applications Web. Nous pouvons également collecter un autre ensemble de données fournies par Splunk qui est disponible à partir de la page Web officielle de Splunk.

Nous utiliserons les données de ces deux ensembles pour comprendre le fonctionnement des différentes fonctionnalités de Splunk.

Téléchargement de données

Ensuite, nous choisissons le fichier, secure.log du dossier, mailsvque nous avons conservés dans notre système local comme mentionné dans le paragraphe précédent. Après avoir sélectionné le fichier, nous passons à l'étape suivante en utilisant le bouton suivant de couleur verte dans le coin supérieur droit.

Sélection du type de source

Splunk a une fonction intégrée pour détecter le type de données ingérées. Il donne également à l'utilisateur la possibilité de choisir un type de données différent de celui choisi par Splunk. En cliquant sur la liste déroulante du type de source, nous pouvons voir différents types de données que Splunk peut ingérer et activer pour la recherche.

Dans l'exemple actuel donné ci-dessous, nous choisissons le type de source par défaut.

Paramètres d'entrée

Dans cette étape d'ingestion de données, nous configurons le nom d'hôte à partir duquel les données sont ingérées. Voici les options à choisir, pour le nom d'hôte -

Valeur constante

Il s'agit du nom d'hôte complet où résident les données source.

regex sur le chemin

Lorsque vous souhaitez extraire le nom d'hôte avec une expression régulière. Entrez ensuite l'expression régulière de l'hôte que vous souhaitez extraire dans le champ Expression régulière.

segment dans le chemin

Lorsque vous souhaitez extraire le nom d'hôte d'un segment dans le chemin de votre source de données, saisissez le numéro de segment dans le champ Numéro de segment. Par exemple, si le chemin d'accès à la source est / var / log / et que vous souhaitez que le troisième segment (le nom du serveur hôte) soit la valeur d'hôte, entrez "3".

Ensuite, nous choisissons le type d'index à créer sur les données d'entrée pour la recherche. Nous choisissons la stratégie d'indexation par défaut. L'index de résumé crée uniquement un résumé des données par agrégation et crée un index sur celui-ci tandis que l'index d'historique sert à stocker l'historique de recherche. Il est clairement représenté dans l'image ci-dessous -

Vérifier les paramètres

Après avoir cliqué sur le bouton suivant, nous voyons un résumé des paramètres que nous avons choisis. Nous l'examinons et choisissons Suivant pour terminer le téléchargement des données.

Une fois le chargement terminé, l'écran ci-dessous apparaît, indiquant la réussite de l'ingestion des données et d'autres actions possibles que nous pouvons entreprendre sur les données.

Toutes les données entrantes vers Splunk sont d'abord évaluées par son unité de traitement de données intégrée et classées dans certains types et catégories de données. Par exemple, s'il s'agit d'un journal du serveur Web Apache, Splunk est capable de le reconnaître et de créer les champs appropriés à partir des données lues.

Cette fonctionnalité de Splunk est appelée détection de type de source et utilise ses types de source intégrés, appelés types de source «pré-entraînés» pour y parvenir.

Cela facilite les choses pour l'analyse car l'utilisateur n'a pas à classer manuellement les données et à affecter des types de données aux champs des données entrantes.

Types de sources pris en charge

Les types de source pris en charge dans Splunk peuvent être visualisés en téléchargeant un fichier via le Add Datapuis en sélectionnant la liste déroulante pour le type de source. Dans l'image ci-dessous, nous avons téléchargé un fichier CSV, puis vérifié toutes les options disponibles.

Sous-catégorie de type de source

Même dans ces catégories, nous pouvons continuer à cliquer pour voir toutes les sous-catégories prises en charge. Ainsi, lorsque vous choisissez la catégorie de base de données, vous pouvez trouver les différents types de bases de données et leurs fichiers pris en charge que Splunk peut reconnaître.

Types de sources pré-formés

Le tableau ci-dessous répertorie certains des types de sources pré-entraînés importants que Splunk reconnaît -

Nom du type de source La nature
access_combined Journaux de serveur Web http au format combiné NCSA (peuvent être générés par Apache ou d'autres serveurs Web)
access_combined_wcookie Journaux de serveur Web http au format combiné NCSA (peuvent être générés par Apache ou d'autres serveurs Web), avec un champ de cookie ajouté à la fin
apache_error Journal des erreurs du serveur Web Apache standard
linux_messages_syslog Syslog Linux standard (/ var / log / messages sur la plupart des plates-formes)
log4j Sortie standard Log4j produite par n'importe quel serveur J2EE utilisant log4j
mysqld_error Journal d'erreurs MySQL standard

Splunk dispose d'une fonctionnalité de recherche robuste qui vous permet de rechercher l'ensemble de données ingérées. Cette fonctionnalité est accessible via l'application nomméeSearch & Reporting qui peut être vu dans la barre latérale gauche après la connexion à l'interface Web.

En cliquant sur le search & Reporting app, on nous présente un champ de recherche, où nous pouvons commencer notre recherche sur les données de journal que nous avons téléchargées dans le chapitre précédent.

Nous tapons le nom d'hôte dans le format indiqué ci-dessous et cliquons sur l'icône de recherche présente dans le coin le plus à droite. Cela nous donne le résultat mettant en évidence le terme de recherche.

Combinaison de termes de recherche

Nous pouvons combiner les termes utilisés pour la recherche en les écrivant les uns après les autres mais en mettant les chaînes de recherche utilisateur entre guillemets.

Utilisation de Wild Card

Nous pouvons utiliser des caractères génériques dans notre option de recherche combinée avec le AND/ORles opérateurs. Dans la recherche ci-dessous, nous obtenons le résultat où le fichier journal contient les termes contenant échec, échec, échec, etc., ainsi que le terme mot de passe dans la même ligne.

Affiner les résultats de recherche

Nous pouvons affiner davantage le résultat de la recherche en sélectionnant une chaîne et en l'ajoutant à la recherche. Dans l'exemple ci-dessous, nous cliquons sur la chaîne3351 et sélectionnez l'option Add to Search.

Après 3351est ajouté au terme de recherche, nous obtenons le résultat ci-dessous qui ne montre que les lignes du journal contenant 3351. Indiquez également comment la chronologie du résultat de la recherche a changé au fur et à mesure que nous avons affiné la recherche.

Lorsque Splunk lit les données de la machine téléchargées, il interprète les données et les divise en plusieurs champs qui représentent un fait logique unique sur l'ensemble de l'enregistrement de données.

Par exemple, un seul enregistrement d'informations peut contenir le nom du serveur, l'horodatage de l'événement, le type de l'événement enregistré, qu'il s'agisse d'une tentative de connexion ou d'une réponse http, etc. Même en cas de données non structurées, Splunk essaie de diviser les champs en valeur clé les paires ou les séparer en fonction des types de données dont ils disposent, numérique et chaîne, etc.

En continuant avec les données téléchargées dans le chapitre précédent, nous pouvons voir les champs du secure.logfichier en cliquant sur le lien afficher les champs qui ouvrira l'écran suivant. Nous pouvons remarquer les champs que Splunk a générés à partir de ce fichier journal.

Choisir les champs

Nous pouvons choisir les champs à afficher en sélectionnant ou désélectionnant les champs dans la liste de tous les champs. Cliquer surall fieldsouvre une fenêtre affichant la liste de tous les champs. Certains de ces champs sont cochés, indiquant qu'ils sont déjà sélectionnés. Nous pouvons utiliser les cases à cocher pour choisir nos champs à afficher.

Outre le nom du champ, il affiche le nombre de valeurs distinctes des champs, son type de données et le pourcentage d'événements dans lesquels ce champ est présent.

Résumé du champ

Des statistiques très détaillées pour chaque champ sélectionné deviennent disponibles en cliquant sur le nom du champ. Il montre toutes les valeurs distinctes pour le champ, leur nombre et leurs pourcentages.

Utilisation des champs dans la recherche

Les noms de champ peuvent également être insérés dans la zone de recherche avec les valeurs spécifiques pour la recherche. Dans l'exemple ci-dessous, nous cherchons à trouver tous les enregistrements pour la date du 15 octobre pour l'hôte nommémailsecure_log. Nous obtenons le résultat pour cette date précise.

L'interface Web Splunk affiche la chronologie qui indique la distribution des événements sur une plage de temps. Il existe des intervalles de temps prédéfinis à partir desquels vous pouvez sélectionner une plage de temps spécifique ou vous pouvez personnaliser la plage de temps selon vos besoins.

L'écran ci-dessous montre diverses options de chronologie prédéfinies. Le choix de l'une de ces options ne récupérera les données que pour cette période spécifique que vous pouvez également analyser plus en détail, à l'aide des options de chronologie personnalisées disponibles.

Par exemple, le choix de l'option du mois précédent ne nous donne le résultat que pour le mois précédent, comme vous pouvez le voir dans la répartition du graphique chronologique ci-dessous.

Sélection d'un sous-ensemble de temps

En cliquant et en faisant glisser sur les barres de la chronologie, nous pouvons sélectionner un sous-ensemble du résultat qui existe déjà. Cela n'entraîne pas la réexécution de la requête. Il filtre uniquement les enregistrements de l'ensemble de résultats existant.

L'image ci-dessous montre la sélection d'un sous-ensemble de l'ensemble de résultats -

Le plus ancien et le plus récent

Les deux commandes, la plus ancienne et la plus récente, peuvent être utilisées dans la barre de recherche pour indiquer l'intervalle de temps entre lequel vous filtrez les résultats. C'est similaire à la sélection du sous-ensemble de temps, mais c'est via des commandes plutôt que par l'option de cliquer sur une barre de ligne de temps spécifique. Ainsi, il offre un contrôle plus fin sur cette plage de données que vous pouvez sélectionner pour votre analyse.

Dans l'image ci-dessus, nous donnons une plage de temps entre les 7 derniers jours et les 15 derniers jours. Ainsi, les données entre ces deux jours sont affichées.

Événements à proximité

Nous pouvons également trouver des événements à proximité d'une heure spécifique en mentionnant à quelle distance nous voulons que les événements soient filtrés. Nous avons la possibilité de choisir l'échelle de l'intervalle, comme - secondes, minutes, jours et semaine, etc.

Lorsque vous exécutez une requête de recherche, le résultat est stocké en tant que travail sur le serveur Splunk. Bien que ce travail ait été créé par un utilisateur spécifique, il peut être partagé avec d'autres utilisateurs afin qu'ils puissent commencer à utiliser ce jeu de résultats sans qu'il soit nécessaire de créer à nouveau la requête. Les résultats peuvent également être exportés et enregistrés sous forme de fichiers qui peuvent être partagés avec des utilisateurs qui n'utilisent pas Splunk.

Partager le résultat de la recherche

Une fois qu'une requête a été exécutée avec succès, nous pouvons voir une petite flèche vers le haut au milieu à droite de la page Web. Cliquer sur cette icône donne une URL où la requête et le résultat sont accessibles. Il est nécessaire d'accorder une autorisation aux utilisateurs qui utiliseront ce lien. L'autorisation est accordée via l'interface d'administration Splunk.

Recherche des résultats enregistrés

Les travaux qui sont enregistrés pour être utilisés par tous les utilisateurs avec les autorisations appropriées peuvent être localisés en recherchant le lien des travaux sous le menu d'activité dans la barre supérieure droite de l'interface Splunk. Dans l'image ci-dessous, nous cliquons sur le lien en surbrillance nommé jobs pour trouver les jobs enregistrés.

Après avoir cliqué sur le lien ci-dessus, nous obtenons la liste de tous les emplois enregistrés, comme indiqué ci-dessous. Lui, nous devons noter qu'il existe un message de date d'expiration où le travail enregistré sera automatiquement supprimé de Splunk. Vous pouvez ajuster cette date en sélectionnant le travail et en cliquant sur Modifier la sélection, puis en choisissant Prolonger l'expiration.

Exportation du résultat de la recherche

Nous pouvons également exporter les résultats d'une recherche dans un fichier. Les trois formats différents disponibles pour l'exportation sont: CSV, XML et JSON. Cliquer sur le bouton Exporter après avoir choisi les formats télécharge le fichier du navigateur local dans le système local. Ceci est expliqué dans l'image ci-dessous -

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 pouvez en outre 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 les octets moyens pour chaque fichier.