Kibana (gratuit) : tout sur l'outil de dataviz open source
[KIBANA] Outil de data visualisation intégré à Elasticsearch, Kibana est conçu pour monitorer des logs et métriques métiers. Au programme de ses fonctionnalités : découverte et exploration de données, tableau de bord, partage...
Kibana, qu'est-ce que c'est ?
Portée par l'éditeur américain Elastic, Kibana est une interface web de data visualisation open source. Cet outil fait partie de la plateforme de traitement et d'analyse de données Elasticsearch (elle-aussi open source) développée par même fournisseur.
Le 14 janvier 2020, Elastic a annoncé que Kibana passait d'une licence Apache 2.0 vers une double licence Server Side Public Licence (SSPL) et Elastic Licence. Objectif affiché par le Californien : éviter que d'autres fournisseurs informatiques vende sa technologie, par exemple sous la forme d'un service cloud, sans contrepartie. Ce qui était jusqu'ici le cas d'AWS. En réaction à cette décision, le cloud d'Amazon a immédiatement annoncé son intention de forker Kibana. C'est-à-dire développer sa propre distribution de l'application à partir du code source de celle-ci. Juridiquement, rien ne l'empêche de le faire.
Pour l'immense majorité des utilisateurs de Kibana, qui recourent à cette technologie pour des besoins internes, ce changement de licence n'aura aucun impact. En parallèle, Elastic commercialise des déclinaisons payantes son application open source. Elles intègrent des fonctions supplémentaires autour de la gestion d'alerte (Alerting) et de l'intégration à des systèmes tiers (Actions).
Pourquoi utiliser Kibana ?
Kibana permet la recherche et la data visualisation de contenus indexés par le moteur de recherche Elasticsearch. Utilisant le langage de programmation JavaScript, cette application est parfaitement adaptée à la création de tableaux de bord interactifs et personnalisés combinant différents types de graphiques : diagrammes à barres, courbes chronologiques, cartes... Le tout mis à jour en temps réel.
Kibana répond à plusieurs scénarios d'usage. Sur le terrain du monitoring ou de l'observabilité informatique, cet outil est notamment utilisé pour analyser les logs et la cybersécurité, mais aussi pour mesurer la performance des infrastructures de containers logiciels et des applications. En dehors de la sphère IT, les entreprises y ont également recours pour le traitement de données métiers et le reporting. Au programme : suivi de l'audience des canaux digitaux, des ventes, des résultats financiers, des opérations de terrain (avec la possibilité d'une cartographie des données géospatiales) ou encore des indicateurs clés de résultat de l'entreprise.
Comment installer un serveur Kibana ?
Pour installer Kibana, la première étape consiste à télécharger le pack Elasticsearch, disponible sur le site web d'Elastic. L'opération nécessite un environnement Java 64 bits. Pour faire fonctionner le serveur, il faut exécuter le fichier bin/kibana.bat (sous Windows) ou bin/kibana (sous Linux ou MacOS). Il convient ensuite de sélectionner "localhost" dans le navigateur, et de redémarrer Elasticsearch pour finaliser l'installation du serveur Kibana.
Comment créer un dashboard Kibana ?
Une fois Elasticsearch et Kibana installés, on peut commencer à réaliser l’intégration des données et la configuration des mappings via l’outil Console. Dans le menu de gauche, trois entrées intitulées "Discover", "Visualize" et "Dashboard" vont permettre la création d’un dashboard interactif.
Mis à jour en temps réel, un dashboard Kibana permet d'associer plusieurs catégories de graphiques : diagrammes à barres, camemberts, courbes chronologiques, cartographie, etc. Pour disposer de tous les détails relatifs à l’installation et au paramétrage d'un tableau de bord Kibana, une documentation complète est disponible sur le site d'Elastic.
Qu'est-ce qu'Elasticsearch Logstash Kibana (ELK) ?
La suite ELK (pour Elasticsearch, Logstash et Kibana) est l’une des plateformes open source de gestion de logs les plus utilisées. En amont, la brique Logstash se charge de fédérer les logs en provenance de multiples systèmes informatiques (clouds publics, clouds privés, serveurs one-premise, edge computing, IoT...). Puis, elle les formate avant de les transmettre à la base NoSQL sur laquelle s'adosse le moteur de recherche et d'exploitation de données Elasticsearch.
En aval, Kibana va puiser les données de logs dans Elasticsearch et les met en musique sous forme de dashboards graphiques. Objectif : aboutir une présentation claire et détaillée des journaux d'événements collectés.
Comment télécharger Kibana ?
Les liens de téléchargement de Kibana sont accessibles sur le site officiel d’Elasticsearch. Disponible pour Windows, Mac et Linux, Kibana peut tourner sur une infrastructure Kubernetes en cas de besoin, via le Kibana Helm Chart.
Comment utiliser Kibana avec Docker ?
Il est possible de configurer la suite Elasticsearch avec Docker, et ainsi de faire tourner cette dernière dans des containers logiciels. Elastic propose un tutoriel sur son site présentant pas à pas la manière de procéder.
Kibana vs Grafana
Kibana et Grafana sont très proches en matière de configurations et de design. Mais leur finalité diffère. Kibana se spécialise dans visualisation des données de logs fournies par Elasticsearch. Quant à Grafana, il est centré sur la génération de graphiques et tableaux de bord à partir de bases de données de séries temporelles (Time Series Database) telles Graphite, InfluxDB ou OpenTSDB
Les API Kibana
Les API de Kibana permettent d'accéder en temps réel aux analyses des logs collectés. L’interface propose un ensemble de fonctionnalités pour personnaliser un dashboard, avec des graphiques de types différents (en barre, en ligne, en histogramme, en nuages de points...) et la possibilité d'appliquer des filtres pour les données. Son interface se révèle fonctionnelle et particulièrement efficace grâce au puissant moteur de recherche Elasticsearch.
Tutoriels et documentation sur Kibana
Sur son site web, Kibana propose une documentation très complète, avec des séries de tutoriels clés en anglais pour prendre en main l'outil de data visualisation :