De nouvelles technologies de stockage sont apparues au cours des deux dernières décennies pour mieux répondre aux problématiques liées à l’analyse de données et au big data.
L’une de ces technologies est la suite Elastic, composée de différents modules, notamment ElasticSearch et Kibana, qui est l’interface qui va nous intéresser dans cet article.
Tandis qu’Elasticsearch est le cœur technologique de la suite Elastic, son moteur, Kibana, est la partie visible, c’est le tableau de bord.
Qu’est-ce que la suite Elastic ?
Commençons déjà par décrire la suite Elastic pour donner du contexte à ceux qui ne seraient pas familiers avec cette technologie.
La suite Elastic est à la base une technologie de stockage de données de type NoSQL. Cette technologie est connue et réputée pour deux types d’applications :
- la recherche dite « full-text » permettant de faire des recherches complexes sur des corpus vastes : regex, recherche approximative (c’est-à-dire avec des fautes d’orthographe ou avec un nom au singulier plutôt qu’au pluriel)… ;
- la récupération, la gestion et l’analyse de logs au sein d’une infrastructure informatique.
Il s’agit de la quatrième technologie de stockage la plus plébiscitée selon l’enquête annuelle Stack Overflow. Selon cette même enquête, elle se trouve dans le top 10 des solutions de stockage les plus utilisées, alors que la version 1.0 date seulement de 2014, ce qui en fait l’une des technologies les plus récentes de ce top, avec Firebase.
Au cours des années, la suite Elastic s’est étoffée avec de nombreux modules, notamment Logstash et Beats, permettant de collecter des logs depuis n’importe quelle source, ainsi que Kibana, que nous allons maintenant aborder plus en détail.
Kibana, la tour de contrôle de votre infrastructure
Kibana se présente sous la forme d’une application web à laquelle vous pouvez vous connecter depuis votre navigateur. Cette application est en quelque sorte la porte d’entrée vers votre cluster Elastic et les données qu’il héberge.
Bien sûr, vous n’avez pas l’obligation de passer par Kibana pour accéder à vos données. Vous pouvez par exemple utiliser l’API Elastic pour connecter une application directement à votre cluster.
Le rôle de Kibana est de proposer une interface graphique et de rassembler au même endroit les outils et les informations nécessaires pour analyser vos données et surveiller votre infrastructure.
Visualisation et tableaux de bord
L’aspect clé de Kibana est de pouvoir visualiser les données traitées par Logstash et ElasticSearch. Kibana propose toutes sortes de visualisations, avec de nombreuses fonctionnalités, pour analyser en profondeur vos données et en tirer de nouvelles connaissances.
Malgré toutes ses fonctionnalités, l’outil reste relativement facile d’utilisation et la courbe d’apprentissage est très progressive. C’est par ailleurs le cas de Kibana en général, qui réussit l’exploit de s’adresser aux utilisateurs débutants comme aux experts techniques.
Vous pouvez ensuite regrouper plusieurs visualisations au sein d’un tableau de bord (via Canvas). Chaque tableau de bord reste constamment à jour et est accessible en quelques clics.
Alerte automatique et collaboration
Kibana d’Elasticsearch offre aussi des fonctionnalités de collaboration, utiles notamment pour partager vos visualisations et vos tableaux de bord.
Au-delà du simple partage, Kibana permet la mise en place des systèmes d’alertes permettant d’être prévenu en direct via différents canaux (email, Slack, Jira…).
Cette fonctionnalité est l’un des points forts de Kibana. En effet, comme nous l’avons mentionné plus haut, la suite Elastic est une solution idéale pour la gestion de logs. Ainsi, Elastic vous permet de centraliser tous les signaux en provenance de votre infrastructure informatique pour mesurer la « santé » de vos systèmes.
Il est par exemple très facile de créer une alerte si le nombre de requêtes aboutissant à une erreur serveur (code http 5xx) dépasse un certain seuil.
Machine learning
Cependant, il est parfois difficile de définir des alertes pertinentes tout en gardant des règles simples et claires.
Par exemple, si le nombre d’erreurs http augmente de 50 %, mais que dans le même temps, le trafic a augmenté de 40 %, est-ce vraiment problématique ?
Rapidement, on peut faire l’erreur de créer trop d’alertes, au risque d’être submergé et de ne pas remarquer les plus critiques, ou à l’inverse, ne pas créer suffisamment d’alertes, au risque de ne pas être prévenu lorsqu’un événement critique survient.
Kibana propose une solution à ce problème via le module « Machine learning ». Ce module permet de créer facilement des modèles de machine learning dont l’objectif est de détecter les anomalies en agrégeant divers signaux provenant de votre infrastructure.
Ces modèles sont entraînés directement avec vos données. Ils « apprennent » à comprendre le comportement de vos systèmes informatiques et sont capables d’analyser la criticité d’une anomalie via un score sur 100.
Kibana est donc un élément clé dans l’écosystème Elastic, qui est lui-même un outil incontournable dans le paysage de la data. Pour cette raison, nous avons fait le choix de proposer ElasticSearch comme l’une des technologies auxquelles notre suite DataOps Saagie peut se connecter.