Recherche de site Web

Comment utiliser les tableaux de bord et visualisations Kibana


Introduction

Kibana 4 est une plateforme d'analyse et de visualisation qui s'appuie sur Elasticsearch pour vous donner une meilleure compréhension de vos données. Dans ce tutoriel, nous allons vous initier à Kibana en vous montrant comment utiliser son interface pour filtrer et visualiser les messages de journal collectés par une pile Elasticsearch ELK. Nous aborderons les principaux composants de l'interface et démontrerons comment créer des recherches, des visualisations et des tableaux de bord.

Prérequis

Ce tutoriel est la troisième partie de la série Journalisation centralisée avec Logstash et Kibana.

Il suppose que vous disposez d'une configuration ELK fonctionnelle. Les exemples supposent que vous collectez des journaux syslog et des journaux d'accès Nginx. Si vous ne collectez pas ces types de journaux, vous devriez être en mesure de modifier les démonstrations pour qu'elles fonctionnent avec vos propres messages de journal.

Si vous voulez suivre ce tutoriel exactement comme présenté, vous devriez avoir la configuration suivante, en suivant les deux premiers tutoriels de cette série :

  • Une pile ELK collectant des syslogs : Comment installer Elasticsearch, Logstash et Kibana 4 sur Ubuntu 14.04
  • Journaux d'accès Nginx et filtres : Ajouter des filtres Logstash pour améliorer la centralisation des journaux

Lorsque vous êtes prêt à passer à autre chose, examinons un aperçu de l'interface Kibana.

Aperçu de l'interface Kibana

L'interface de Kibana est divisée en quatre sections principales :

  • Découvrir
  • Visualiser
  • Tableau de bord
  • Paramètres

Nous passerons en revue les bases de chaque section, dans l'ordre indiqué, et nous démontrerons comment chaque élément de l'interface peut être utilisé.

Découverte Kibana

Lorsque vous vous connectez pour la première fois à Kibana 4, vous serez dirigé vers la page Discover. Par défaut, cette page affichera tous les journaux les plus récemment reçus de votre pile ELK. Ici, vous pouvez filtrer et trouver des messages de journal spécifiques en fonction des requêtes de recherche, puis réduire les résultats de la recherche à une plage de temps spécifique avec le filtre temporel.

Voici une répartition des éléments de l'interface Discover de Kibana :

  • Barre de recherche : Juste sous le menu de navigation principal. Utilisez-la pour rechercher des champs spécifiques et/ou des messages entiers
  • Filtre temporel : En haut à droite (icône d'horloge). Utilisez ceci pour filtrer les journaux en fonction de différentes plages de temps relatives et absolues
  • Sélecteur de champ : À gauche, sous la barre de recherche. Sélectionnez les champs pour modifier ceux qui sont affichés dans la Vue du journal
  • Histogramme de dates : Graphique en barres sous la barre de recherche. Par défaut, cela montre le nombre de tous les journaux, par rapport au temps (axe x), correspondant à la recherche et au filtre de temps. Vous pouvez cliquer sur les barres, ou cliquer-glisser, pour restreindre le filtre de temps
  • Vue du journal : En bas à droite. Utilisez ceci pour consulter les messages de journal individuels et afficher les données du journal filtrées par champs. Si aucun champ n’est sélectionné, les messages de journal complets sont affichés

Cette animation montre quelques-unes des principales fonctionnalités de la page Découvrir :

Voici une description étape par étape de ce qui est effectué :

  1. Sélectionné le champ « type », qui limite ce qui est affiché pour chaque enregistrement de journal (en bas à droite) — par défaut, le message complet du journal est affiché
  2. Recherché type: "nginx-access", qui ne correspond qu'aux journaux d'accès Nginx
  3. Agrandir le journal d'accès Nginx le plus récent pour l'examiner plus en détail

Notez que les résultats sont limités aux « 15 dernières minutes ». Si vous n'obtenez aucun résultat, assurez-vous qu'il y a eu des journaux correspondant à votre requête de recherche générés pendant la période spécifiée.

Les messages de journal qui sont recueillis et filtrés dépendent de vos configurations Logstash et Logstash Forwarder. Dans notre exemple, nous recueillons les journaux syslog et les journaux d'accès Nginx, et les filtrons par « type ». Si vous recueillez des messages de journal mais ne filtrez pas les données en champs distincts, les interroger sera plus difficile car vous ne pourrez pas interroger des champs spécifiques.

Syntaxe de recherche

La recherche offre un moyen simple et puissant de sélectionner un sous-ensemble spécifique de messages journaux. La syntaxe de recherche est assez explicite et permet l'utilisation d'opérateurs booléens, de caractères génériques et de filtrage par champ. Par exemple, si vous souhaitez trouver les journaux d'accès Nginx générés par des utilisateurs Google Chrome, vous pouvez rechercher type: "nginx-access" AND agent: "chrome". Vous pouvez également rechercher par hôtes spécifiques ou plages d'adresses IP des clients, ou toute autre donnée contenue dans vos journaux.

Lorsque vous avez créé une requête de recherche que vous souhaitez conserver, vous pouvez le faire en cliquant sur l'icône Enregistrer la recherche puis sur le bouton Enregistrer, comme dans cette animation :

Les recherches enregistrées peuvent être ouvertes à tout moment en cliquant sur l'icône Charger la recherche enregistrée, et elles peuvent également être utilisées lors de la création de visualisations.

Nous allons enregistrer la recherche type: "nginx-access" sous le nom « type nginx access », et l'utiliser pour créer une visualisation.

Visualiser Kibana

La page Visualize de Kibana est l'endroit où vous pouvez créer, modifier et consulter vos propres visualisations personnalisées. Il existe plusieurs types de visualisations, allant des graphiques en barres verticales et en camembert aux cartes de tuiles (pour afficher des données sur une carte) et aux tables de données. Les visualisations peuvent également être partagées avec d'autres utilisateurs ayant accès à votre instance Kibana.

Si c'est la première fois que vous utilisez les visualisations Kibana, vous devez recharger votre liste de champs avant de continuer. Les instructions pour le faire sont couvertes dans la sous-section Recharger les données des champs, sous la section Paramètres de Kibana.

Créer un graphique à barres verticales

Pour créer une visualisation, cliquez d'abord sur l'élément de menu Visualiser.

Décidez du type de visualisation que vous souhaitez et sélectionnez-le. Nous allons créer un diagramme en barres verticales, qui est un bon point de départ.

Vous devez maintenant sélectionner une source de recherche. Vous pouvez soit créer une nouvelle recherche, soit utiliser une recherche enregistrée. Nous allons opter pour cette dernière méthode et sélectionner la recherche type nginx access que nous avons créée précédemment.

Au début, le graphique d'aperçu, sur le côté droit, sera une barre solide (en supposant que votre recherche ait trouvé des messages de journal) car il ne consiste qu'en un axe des Y de « Comptage ». C'est-à-dire qu'il affiche simplement le nombre de journaux qui ont été trouvés avec la requête de recherche spécifiée.

Pour rendre la visualisation plus utile, ajoutons-lui de nouveaux seaux.

Tout d'abord, ajoutez un bucket de l'axe X, puis cliquez sur le menu déroulant Agrégation et sélectionnez “Histogramme de dates”. Si vous cliquez sur le bouton Appliquer, la barre unique se divisera en plusieurs barres le long de l'axe X. Maintenant, le nombre est affiché sous forme de plusieurs barres, réparties en intervalles de temps (qui peuvent être modifiés en sélectionnant un intervalle dans le menu déroulant)—similaire à ce que vous verriez sur la page Découvrir.

Si nous voulons rendre le graphique un peu plus intéressant, nous pouvons cliquer sur le bouton Ajouter une sous-agrégation. Sélectionnez le type de compartiment Scinder les barres. Cliquez sur le menu déroulant Sous-agrégation et sélectionnez « Termes significatifs », puis cliquez sur le menu déroulant Champ et sélectionnez « clientip.raw », ensuite cliquez sur le champ Taille et entrez « 10 ». Cliquez sur le bouton Appliquer pour créer le nouveau graphique.

Voici une capture d'écran de ce que vous devriez voir à ce stade :

Si les journaux visualisés ont été générés par plusieurs adresses IP (c'est-à-dire que plus d'une personne accède à votre site), vous verrez que chaque barre sera divisée en segments colorés. Chaque segment coloré représente le nombre de journaux générés par une adresse IP spécifique (c'est-à-dire un visiteur particulier de votre site), et le graphique affichera jusqu'à 10 segments différents (en raison du paramètre Taille). Vous pouvez survoler avec la souris et cliquer sur n'importe quel élément du graphique pour accéder aux messages de journal spécifiques.

Lorsque vous êtes prêt à sauvegarder votre visualisation, cliquez sur l'icône Sauvegarder la visualisation, près du haut, puis nommez-la et cliquez sur le bouton Sauvegarder.

Créer une autre visualisation

Avant de passer à la section suivante, où nous allons démontrer comment créer un tableau de bord, vous devriez créer au moins une visualisation supplémentaire. Essayez d'explorer les différents types de visualisation.

Par exemple, vous pourriez créer un diagramme circulaire de vos 5 principaux (avec le plus grand nombre) types de journaux. Pour ce faire, cliquez sur Visualiser puis sélectionnez Diagramme circulaire. Ensuite, utilisez une nouvelle recherche, et laissez la recherche comme * (c.-à-d. tous vos journaux). Puis, sélectionnez le compartiment Diviser les tranches. Cliquez sur le menu déroulant Agrégation et sélectionnez « Termes significatifs », cliquez sur le menu déroulant Champ et sélectionnez « type.raw », puis cliquez sur le champ Taille et entrez « 5 ». Maintenant, cliquez sur le bouton Appliquer et enregistrez la visualisation sous « Top 5 ».

Voici une capture d'écran des paramètres qui viennent d'être décrits :

Parce que, dans notre exemple, nous ne collectons que des journaux système et des journaux d'accès Nginx, il n'y aura que deux parts dans le diagramme circulaire.

Une fois que vous avez terminé de créer des visualisations, passons à la création d'un tableau de bord Kibana.

Tableau de bord Kibana

La page du tableau de bord Kibana est l'endroit où vous pouvez créer, modifier et visualiser vos propres tableaux de bord personnalisés. Avec un tableau de bord, vous pouvez combiner plusieurs visualisations sur une seule page, puis les filtrer en fournissant une requête de recherche ou en sélectionnant des filtres en cliquant sur des éléments dans la visualisation. Les tableaux de bord sont utiles lorsque vous souhaitez obtenir un aperçu de vos journaux et établir des corrélations entre diverses visualisations et journaux.

Créer le tableau de bord

Pour créer un tableau de bord Kibana, cliquez d'abord sur l'élément de menu Tableau de bord.

Si vous n’avez jamais créé de tableau de bord auparavant, vous verrez une page principalement vide qui dit « Prêt à commencer ? ». Si vous ne voyez pas cet écran (c’est-à-dire qu’il y a déjà des visualisations sur le tableau de bord), appuyez sur l’icône Nouveau tableau de bord (à droite de la barre de recherche) pour y accéder.

Cette animation montre comment vous pouvez ajouter des visualisations à votre tableau de bord :

Voici une répartition des étapes qui sont en cours d'exécution :

  1. Cliqué sur Ajouter l'icône de visualisation
  2. Ajouté le graphique circulaire « Comptes de journal » et l'histogramme « Nginx : Top 10 des adresses IP client »
  3. A réduit le menu Ajouter une visualisation
  4. Réorganisé et redimensionné les visualisations sur le tableau de bord
  5. Cliqué sur l'icône Enregistrer le tableau de bord

Choisissez un nom pour votre tableau de bord avant de l'enregistrer.

Cela devrait vous donner une bonne idée de la manière de créer un tableau de bord. Allez-y et créez tous les tableaux de bord que vous pensez vouloir. Nous aborderons l'utilisation des tableaux de bord ensuite.

Utiliser le tableau de bord

Les tableaux de bord peuvent être filtrés davantage en saisissant une requête de recherche, en modifiant le filtre temporel ou en cliquant sur les éléments de la visualisation.

Par exemple, si vous cliquez sur un segment de couleur particulier dans l'histogramme, Kibana vous permettra de filtrer sur le terme significatif que représente le segment. Voici une capture d'écran illustrant l'application d'un filtre à un tableau de bord :

Assurez-vous de cliquer sur le bouton Postuler maintenant pour filtrer les résultats et redessiner les visualisations du tableau de bord. Les filtres peuvent être appliqués et retirés selon les besoins.

Les filtres de recherche et de temps fonctionnent exactement comme sur la page Discover, sauf qu'ils ne sont appliqués qu'aux sous-ensembles de données présentés dans le tableau de bord.

Paramètres de Kibana

La page des paramètres de Kibana vous permet de modifier diverses choses comme les valeurs par défaut ou les modèles d'index. Dans ce tutoriel, nous garderons les choses simples et nous concentrerons sur les sections Indices et Objets.

Recharger les données du champ

Lorsque vous ajoutez de nouveaux champs à vos données Logstash, par exemple si vous ajoutez un filtre pour un nouveau type de journal, vous devrez peut-être recharger votre liste de champs. Il est nécessaire de recharger la liste des champs si vous n’arrivez pas à trouver les champs filtrés dans Kibana, car ces données ne sont mises en cache que périodiquement.

Pour ce faire, cliquez sur l’élément de menu Paramètres, puis cliquez sur “logstash-* ” (sous Modèles d’index) :

Puis cliquez sur le bouton jaune Recharger la liste des champs. Appuyez sur le bouton OK pour confirmer.

Modifier les objets sauvegardés

La section Objets vous permet de modifier, afficher et supprimer n'importe lequel de vos tableaux de bord, recherches et visualisations enregistrés.

Pour y arriver, cliquez sur l'élément de menu Paramètres, puis sur le sous-menu Objets.

Ici, vous pouvez sélectionner les onglets pour trouver les objets que vous souhaitez modifier, consulter ou supprimer :

Dans la capture d'écran, nous avons sélectionné une visualisation en double. Elle peut être modifiée, visualisée ou supprimée en cliquant sur le bouton approprié.

Conclusion

Si vous avez suivi ce tutoriel, vous devriez avoir une bonne compréhension de la façon d'utiliser Kibana 4. Vous devriez savoir comment rechercher vos messages de journal et créer des visualisations et des tableaux de bord.

Assurez-vous de consulter le prochain tutoriel de cette série, Comment cartographier l'emplacement des utilisateurs avec GeoIP et ELK

Si vous avez des questions ou des suggestions, veuillez laisser un commentaire !