21 juin 2018 Technique

Le langage de requête de Kibana fait peau neuve

Par Matt Bargar

​Dans la version 6.0, nous avions introduit un nouveau langage expérimental pour la barre de requête de Kibana. Depuis, nous avons été attentifs à vos commentaires, qui nous ont aidés à l’améliorer. Comme dans toutes les expériences, certaines idées étaient bonnes à prendre et d’autres étaient à laisser. Voyons ce qui change avec la version 6.3 : jetons un œil aux nouveautés et touchons un mot de nos futurs projets.

Les débuts

La première itération du langage de requête de Kibana nous avait donné du fil à retordre. Nous voulions unifier les barres de requête et de filtre. Le nouveau langage devait donc prendre en charge tous les types de filtres existants. Nous voulions aussi conserver la simplicité d’utilisation de la syntaxe de requête Lucene que nous utilisions. Finalement, nous tentions d’associer une syntaxe fonctionnelle avancée et une syntaxe de requête de base en un seul langage. Résultat, les nouveaux utilisateurs étaient décontenancés, ne sachant plus dans quel cas utiliser une syntaxe plutôt que l’autre.

Simplification de la syntaxe

Dans la version 6.3, nous avons considérablement simplifié le langage. Plutôt que de vouloir tout faire entrer dans un seul langage à tout prix, nous avons cette fois donné la priorité à la simplicité d’utilisation. Exit, la syntaxe fonctionnelle. Reste la syntaxe de base, que nous avons améliorée. Si vous avez l’habitude de la syntaxe de requête Lucene actuellement utilisée par défaut dans Kibana, vous parlerez ce nouveau langage comme votre langue maternelle. Les deux sont quasiment identiques, à quelques ajustements et quelques améliorations près. Par exemple, nous avons légèrement modifié les opérateurs de plage et avons intégré la prise en charge des champs pré-écrits (scripted fields), déjà présents dans la première itération du nouveau langage. Pour tout savoir sur la nouvelle syntaxe, consultez la documentation.

Nous avons donc un nouveau langage quasiment identique à l’ancien langage de requête Lucene. “Mais encore ?” me direz-vous. C’est très simple : le grand avantage d’avoir développé un langage dédié à Kibana, c’est que Kibana le comprend. Avec un langage qui se prête à l’analyse et à l’introspection, nous pouvons développer une foule de fonctionnalités intéressantes. Et c’est précisément ce que nous avons commencé à faire.

Saisie semi-automatique

Kibana autocomplete

Dans la version 6.3, la barre de requête de Kibana intègre la saisie semi-automatique. Il vous suffit de commencer votre saisie, et la barre de requête vous propose des suggestions de champs, d’opérateurs de requête et de valeurs (pour les champs de mots-clés). Inutile de tout saisir, ni de se souvenir du nom de chaque champ et de la façon de l’orthographier. Lancer des recherches d’une seule main ? C’est possible aussi. Désormais, vous pouvez même construire une requête avec la souris. Je ne vous en dis pas plus : il ne vous reste plus qu’à essayer. Mais attention, la plupart de ceux qui ont testé la saisie semi-automatique nous disent qu’ils ne pourront plus jamais revenir à l’ancienne version de Kibana.

À vous de jouer

J’espère vous avoir donné envie d’essayer le nouveau langage de Kibana. La syntaxe de requête Lucene reste le langage par défaut de Kibana, car nous en sommes encore à la phase d’expérimentation. Mais opter pour le nouveau langage n’a jamais été aussi simple. Plus aucune modification à apporter aux paramètres avancés de Kibana. Il vous suffit maintenant de cliquer sur “Options” dans la barre de requête et d’activer “Turn on query features” (Activer les fonctionnalités de requête) comme illustré ci-dessous.

Kibana query enhancement opt in

Et lorsque vous aurez essayé le nouveau langage de Kibana, n’hésitez pas à nous dire ce que vous en pensez. Vous pouvez publier des messages sur nos forums ou chatter avec nous sur IRC. N’hésitez pas non plus à remplir des rapports de bug ou à nous envoyer des demandes d’amélioration via Github. C’est aux utilisateurs et à leurs commentaires que nous devons la majorité des modifications que nous avons apportées depuis la version 6.0. Et nous leur en sommes reconnaissants. Mais la saisie semi-automatique n’est que la partie visible de l’iceberg. Nous avons des tas d’autres idées en stock pour le nouveau langage de requête de Kibana. Peut-être ce langage d’avant-garde fera-t-il même son apparition en solo dans quelque temps. 😎