Comment utiliser les tableaux de bord et les visualisations Kibana

introduction

Kibana 4 est une plate-forme d’analyse et de visualisation qui s’appuie sur Elasticsearch pour vous permettre de mieux comprendre vos données. Dans ce didacticiel, nous allons vous familiariser avec Kibana en vous montrant comment utiliser son interface pour filtrer et visualiser les messages de journalisation collectés par une pile Elasticsearch ELK. Nous couvrirons les principaux composants de l’interface et montrerons comment créer des recherches, des visualisations et des tableaux de bord.

Conditions préalables

Ce tutoriel est la troisième partie de la * journalisation centralisée avec les séries Logstash et Kibana *.

Cela suppose que vous avez une configuration ELK qui fonctionne. Les exemples supposent que vous collectez les journaux d’accès Syslog et Nginx. Si vous ne collectez pas ces types de journaux, vous devriez pouvoir modifier les démonstrations pour qu’elles fonctionnent avec vos propres messages de journal.

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

Lorsque vous êtes prêt, voyons un aperçu de l’interface de Kibana.

Vue d’ensemble 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 montrerons comment chaque élément de l’interface peut être utilisé.

Kibana Découvrir

Lorsque vous vous connectez pour la première fois à Kibana 4, vous accédez à la page de découverte. Par défaut, cette page affiche tous les derniers journaux reçus de votre pile ELK. Ici, vous pouvez filtrer et rechercher des messages de journal spécifiques en fonction de * Requêtes de recherche *, puis limiter les résultats de la recherche à une plage de temps spécifique avec le * Filtre temporel *.

Voici un aperçu des éléments de l’interface Kibana Discover:

  • * Barre de recherche: * Directement dans le menu de navigation principal. Utilisez ceci pour rechercher des champs spécifiques et / ou des messages entiers

  • * Filtre de temps: * En haut à droite (icône d’horloge). Utilisez-le pour filtrer les journaux en fonction de différentes plages de temps relatives et absolues

  • * Sélecteur de champs: * Gauche, sous la barre de recherche. Sélectionnez des champs pour modifier ceux qui sont affichés dans le Log View

  • * Histogramme de date: * Graphique à barres sous la barre de recherche. Par défaut, cela affiche le nombre de tous les journaux, en fonction du temps (axe des x), mis en correspondance par le filtre de recherche et le temps. Vous pouvez cliquer sur les barres ou cliquer-glisser pour affiner le filtre temporel

  • * Affichage du journal: * En bas à droite. Utilisez-le pour consulter les messages de journal individuels et afficher les données de journal filtrées par fields. Si aucun champ n’est sélectionné, tous les messages du journal sont affichés.

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

image: https: //assets.digitalocean.com/articles/elk/kibana/1-discover.gif [Comment utiliser Kibana Discover]

Voici une description étape par étape de ce qui est exécuté:

  1. Sélection du champ "type", qui limite ce qui est affiché pour chaque enregistrement de journal (en bas à droite) - par défaut, le message de journal entier est affiché

  2. Recherche dans le type + type:" nginx-access "+, qui correspond uniquement aux journaux d’accès Nginx

  3. Développé 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 existe des journaux, correspondant à votre requête de recherche, générés dans la période spécifiée.

Les messages de journal collectés et filtrés dépendent de vos configurations Logstash et Logstash Forwarder. Dans notre exemple, nous recueillons les journaux d’accès Syslog et Nginx et les filtrons par «type». Si vous collectez des messages de journal sans filtrer les données dans des champs distincts, il sera plus difficile d’interroger ces messages, car vous ne pourrez pas interroger des champs spécifiques.

Syntaxe de recherche

La recherche fournit un moyen simple et puissant de sélectionner un sous-ensemble spécifique de messages de journal. La syntaxe de recherche est assez explicite et autorise les opérateurs booléens, les caractères génériques et le filtrage de champs. Par exemple, si vous souhaitez rechercher les journaux d’accès Nginx générés par les utilisateurs de Google Chrome, vous pouvez rechercher le type + type:" nginx-access "AND agent:" chrome "+. Vous pouvez également rechercher des hôtes spécifiques ou des plages d’adresses IP de 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:

image: https: //assets.digitalocean.com/articles/elk/kibana/2-save-search.gif [Comment enregistrer une recherche Kibana]

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

Nous allons enregistrer le type :" nginx-access " search sous le nom "type nginx access" et l’utiliser pour créer une visualisation.

Kibana Visualise

La page Kibana Visualize est l’endroit où vous pouvez créer, modifier et afficher vos propres visualisations personnalisées. Il existe plusieurs types de visualisations, allant de Vertical Bar and Pie charts à Tile maps (pour afficher des données sur une carte) et à Data tables. Les visualisations peuvent également être partagées avec d’autres utilisateurs ayant accès à votre instance Kibana.

Si vous utilisez des visualisations Kibana pour la première fois, vous devez recharger votre liste de champs avant de continuer. Les instructions pour ce faire sont décrites dans la sous-section * Recharger le champ de données *, sous Kibana Paramètres section.

Créer un graphique à barres verticales

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

Choisissez le type de visualisation que vous souhaitez et sélectionnez-le. Nous allons créer un * diagramme à barres verticales *, ce qui est un bon point de départ.

Maintenant, vous devez sélectionner une source de recherche. Vous pouvez soit créer une nouvelle recherche, soit utiliser une recherche enregistrée. Nous allons utiliser 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 de prévisualisation, sur le côté droit, sera une barre pleine (en supposant que votre recherche a trouvé des messages de journalisation) car il ne consiste qu’en un axe Y de «Compte». En d’autres termes, il affiche simplement le nombre de journaux trouvés avec la requête de recherche spécifiée.

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

Tout d’abord, ajoutez un compartiment * Axe X *, puis cliquez sur le menu déroulant * Agrégation * et sélectionnez «Histogramme de date». Si vous cliquez sur le bouton * Appliquer *, la barre unique sera divisée en plusieurs barres le long de l’axe des abscisses. Le nombre est maintenant affiché sous forme de barres multiples, divisées en intervalles de temps (modifiables en sélectionnant un intervalle dans la liste déroulante), de la même manière que 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 bucket * Split Bars *. Cliquez sur le menu déroulant * Sub Aggregation * et sélectionnez «Termes significatifs», puis cliquez sur le menu déroulant * Field * et sélectionnez «clientip.raw», puis cliquez sur le champ * Size * 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:

image: https: //assets.digitalocean.com/articles/elk/kibana/visualize-nginx-access.png [Paramètres de visualisation Kibana]

Si les journaux en cours de visualisation ont été générés par plusieurs adresses IP (c.-à-d. 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 affiche les 10 segments différents au maximum (en raison du paramètre Taille). Vous pouvez déplacer la souris et cliquer sur l’un des éléments du graphique pour accéder à des messages de journal spécifiques.

Lorsque vous êtes prêt à enregistrer votre visualisation, cliquez sur l’icône * Enregistrer la visualisation * en haut, puis nommez-la et cliquez sur le bouton * Enregistrer *.

Créer une autre visualisation

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

Par exemple, vous pouvez créer un graphique à secteurs de vos 5 types de journaux les plus fréquents (nombre le plus élevé). Pour ce faire, cliquez sur * Visualiser * puis sélectionnez * Graphique à secteurs . Ensuite, utilisez une * nouvelle recherche * et laissez la recherche sous la forme «» (c.-à-d. tous vos journaux). Puis sélectionnez * Split Split trices *. 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 en tant que «Top 5».

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

image: https: //assets.digitalocean.com/articles/elk/kibana/pie-settings.png [Paramètres du graphique à secteurs]

Parce que, dans notre exemple, nous ne recueillons que les journaux syslog et d’accès Nginx, il n’y aura que deux tranches dans le graphique à secteurs.

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

Tableau de bord Kibana

La page Kibana Dashboard est l’endroit où vous pouvez créer, modifier et afficher 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 une vue d’ensemble de vos journaux et effectuer des corrélations entre divers visualisations et journaux.

Créer un 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 pas encore créé de tableau de bord, vous verrez une page presque vierge qui indique «Prêt à démarrer?». Si vous ne voyez pas cet écran (c.-à-d. 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 vous y rendre.

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

image: https: //assets.digitalocean.com/articles/elk/kibana/5-create-dashboard.gif [Créer un tableau de bord Kibana]

Voici un aperçu des étapes effectuées:

  1. Cliqué sur Ajouter à la visualisation icon

  2. Ajout du graphique à secteurs «Log Counts» et de l’histogramme «Nginx: Top 10 client IP»

  3. Réduit le menu Ajouter la visualisation

  4. Réorganisation et redimensionnement des visualisations sur le tableau de bord

  5. Cliquez sur l’icône Save Dashboard

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

Cela devrait vous donner une bonne idée de la façon de créer un tableau de bord. Allez-y et créez tous les tableaux de bord que vous pensez pouvoir vouloir. Nous verrons ensuite à l’aide de tableaux de bord.

Utiliser le tableau de bord

Les tableaux de bord peuvent être filtrés davantage en entrant une requête de recherche, en modifiant le filtre d’heure 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 le terme significatif représenté par le segment. Voici un exemple de capture d’application d’un filtre sur un tableau de bord:

image: https: //assets.digitalocean.com/articles/elk/kibana/filter-dashboard.png [Filtrer un tableau de bord]

Assurez-vous de cliquer sur le bouton * Appliquer maintenant * pour filtrer les résultats et redessiner les visualisations du tableau de bord. Les filtres peuvent être appliqués et supprimés au besoin.

Les filtres de recherche et d’heure fonctionnent comme dans la page Découvrir, à la différence près qu’ils ne s’appliquent qu’aux sous-ensembles de données présentés dans le tableau de bord.

Paramètres Kibana

La page Paramètres Kibana vous permet de modifier diverses choses, telles que les valeurs par défaut ou les modèles d’index. Dans ce tutoriel, nous allons rester simples et nous concentrer sur les sections * Indices * et * Objects *.

Recharger les données de 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. Si vous ne trouvez pas les champs filtrés dans Kibana, il est nécessaire de recharger la liste des champs, 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 sur «logstash- *» (sous * Modèles d’index *):

image: https: //assets.digitalocean.com/articles/elk/kibana/reload-field-list.png [Liste de champs de rechargement]

Cliquez ensuite sur le bouton jaune * Reload Field List *. Appuyez sur le bouton * OK * pour confirmer.

Editer les objets sauvegardés

La section Objets vous permet de modifier, d’afficher et de 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 parmi les onglets pour trouver les objets que vous souhaitez modifier, afficher ou supprimer:

image: https: //assets.digitalocean.com/articles/elk/kibana/settings-objects.png [Modifier les objets enregistrés]

Dans la capture d’écran, nous avons sélectionné une visualisation en double. Il peut être édité, visualisé ou supprimé en cliquant sur le bouton approprié.

Conclusion

Si vous avez suivi ce didacticiel, vous devez bien comprendre comment utiliser Kibana 4. Vous devez savoir rechercher dans 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, https://www.digitalocean.com/community/tutorials/how-to-map-user-location-with-geoip-and-elk-elasticsearch-logstash-and kibana [Comment mapper l’emplacement de l’utilisateur avec GeoIP et ELK]

Si vous avez des questions ou des suggestions, laissez un commentaire!