Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Maîtriser KQL pour des Requêtes Efficaces
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Infrastructure

Maîtriser KQL pour des Requêtes Efficaces

L'Équipe Alphorm Par L'Équipe Alphorm 15 novembre 2024
Partager
13e lecture en min
Partager

Filtrer efficacement les données dans Elasticsearch peut être complexe pour de nombreux utilisateurs.

Sans les bons outils, trier et accéder aux données pertinentes devient fastidieux et chronophage.

Le Kibana Query Language (KQL) offre une approche simplifiée et intuitive pour créer des requêtes efficaces, rendant le filtrage de données accessible même aux débutants.

Table de matière
Kibana Query Language (KQL) expliquéExemple simple de requête KQLRecherche par motif avec KQLOpérateurs logiques dans KQLKQL : Filtrer par plages de valeursFiltrage manuel dans KibanaFAQConclusion

Formation Elastic : Maitriser les fondamentaux - Formation Complète

Devenez expert dans l'utilisation d'Elastic pour analyser les données !

Découvrir cette formation

Kibana Query Language (KQL) expliqué

Le Kibana Query Language (KQL) est une syntaxe simple permettant de filtrer les données dans Elasticsearch en utilisant soit une recherche en texte libre, soit une recherche basée sur des champs spécifiques. Il est conçu pour être accessible et intuitif, même pour ceux qui ne sont pas experts en requêtes.

  • KQL est uniquement utilisé pour filtrer les données et ne gère ni le tri ni l’agrégation.
  • Il propose des suggestions automatiques pour les noms de champs, les valeurs, et les opérateurs lors de la saisie, ce qui facilite la construction de requêtes complexes.

Exemple simple de requête KQL

Commençons par une requête simple en recherchant des événements contenant winlogbeat. Il est important de bien configurer la plage de temps pour être certain que les logs que vous recherchez sont dans la période sélectionnée. Voici un exemple :

Interface Kibana avec recherche log

Le terme winlogbeat sera mis en évidence dans les résultats et affiché en jaune.

Recherche par motif avec KQL

Il est possible d’utiliser un joker (*) pour rechercher tout ce qui commence par un terme particulier, comme dans cet exemple ( win*), Cela affichera tous les éléments qui commencent par win, tels que windows ou winlogbeat :

Interface Kibana affichant des résultats de recherche

KQL fournit des suggestions automatiques pendant que vous tapez votre requête, ce qui peut vous aider à trouver rapidement le champ ou la valeur correcte.

Liste d'autocomplétion de Kibana Query Language

Opérateurs logiques dans KQL

Vous pouvez affiner vos requêtes en utilisant des opérateurs spécifiques . Par exemple, pour chercher des systèmes d’exploitation, vous pouvez écrire une requête sur un champ particulier, tel que host.os.family, et utiliser des opérateurs comme :, and, or :

Fenêtre de syntaxe KQL avec termes de recherche

On va choisir host.os.family : windows et aura ces résultats : Le résultat montrera uniquement les documents où le champ host.os.family est égal à « windows ».

Capture écran Kibana avec requête Windows

Les résultats affichés respectent strictement les critères définis dans la requête.

KQL : Filtrer par plages de valeurs

Opérateurs Kibana Query Language pour filtrer

Pour tester des requêtes KQL sur des données spécifiques, vous pouvez injecter manuellement des documents dans Elasticsearch via l’API DevTools . Par exemple, voici une série de requêtes pour ajouter des documents avec différents ports de destination :

				
					
     POST /your_index/_bulk
{ "index" : { "_index" : "your_index", "_id" : "1" } }
{ "source.ip": "192.168.1.1", "destination.port": 80, "event.time": "2024-10-12T12:00:00" }
{ "index" : { "_index" : "your_index", "_id" : "2" } }
{ "source.ip": "192.168.1.2", "destination.port": 443, "event.time": "2024-10-12T13:00:00" }
{ "index" : { "_index" : "your_index", "_id" : "3" } }
{ "source.ip": "192.168.1.3", "destination.port": 8080, "event.time": "2024-10-12T14:00:00" }
    
				
			

Et voici comment on peut visualiser les destination.port ajouté :

Affichage Kibana avec requête des ports réseau

Maintenant on va essayer de plus filtrer par le choix d’un interval dans la recherche avec

destination.port >= 80 and destination.port <1000

Interface Kibana affichant des requêtes de port et IP

Cela affichera uniquement les logs où le port de destination est compris entre 80 et 999.

Filtrage manuel dans Kibana

En plus de KQL, Kibana permet d’appliquer des filtres manuellement. Pour filtrer les résultats par destination.port, vous pouvez :

  1. Cliquer sur le bouton « + » à côté de destination.port.
  2. Sélectionner « Add filter ».
  3. Configurer manuellement les conditions du filtre.
Champs Kibana avec une flèche bleue

Le filtrage manuel vous permet d’obtenir les mêmes résultats que ceux générés par une requête KQL, mais avec une interface graphique intuitive.

Filtre Kibana pour plages de ports 50 à 5500

Grâce à ces différentes approches, vous pouvez explorer efficacement vos données, que ce soit via des requêtes KQL ou des filtres manuels dans Kibana.

Résultats de requête Kibana montrant des ports et IP

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment fonctionne le Kibana Query Language (KQL) ?
Le Kibana Query Language (KQL) est conçu pour filtrer des données dans Elasticsearch en utilisant une syntaxe simple. Il permet d’effectuer des recherches en texte libre ou basées sur des champs spécifiques, avec des suggestions automatiques pour les noms de champs, les valeurs, et les opérateurs. KQL est idéal pour les utilisateurs qui souhaitent construire des requêtes complexes sans être des experts en requêtes.
Quelles sont les fonctionnalités de KQL pour les requêtes ?
KQL offre plusieurs fonctionnalités clés pour simplifier les requêtes. Il se limite au filtrage des données sans gérer le tri ou l’agrégation. Les suggestions automatiques aident à choisir les bons noms de champs et valeurs, et des opérateurs comme :, and, or permettent d’affiner les recherches. En utilisant des jokers tels que *, les utilisateurs peuvent facilement rechercher des motifs spécifiques.
Comment écrire une requête simple avec KQL ?
Pour écrire une requête simple avec KQL, commencez par spécifier le terme ou le champ que vous voulez rechercher. Par exemple, pour trouver des événements contenant ‘winlogbeat’, vous pouvez simplement entrer ‘winlogbeat’ dans la requête. Assurez-vous de configurer la plage de temps correctement pour inclure les logs pertinents. KQL mettra en évidence les résultats correspondants, facilitant l’identification des données recherchées.
Comment utiliser les opérateurs dans KQL ?
Les opérateurs dans KQL permettent de créer des requêtes plus précises en combinant des conditions. Par exemple, pour cibler un système d’exploitation spécifique, vous pouvez utiliser le champ ‘host.os.family’ avec un opérateur :, comme ‘host.os.family: windows’. Des opérateurs logiques comme ‘and’ et ‘or’ peuvent également être utilisés pour combiner plusieurs conditions dans une requête, rendant les recherches plus granulaires.
Comment filtrer les données manuellement dans Kibana ?
En plus des requêtes KQL, Kibana offre une option de filtrage manuel via son interface. Les utilisateurs peuvent ajouter des filtres directement en cliquant sur le bouton ‘+’ à côté d’un champ, puis en configurant les conditions souhaitées. Cette méthode intuitive permet d’appliquer des filtres sans écrire de requête, tout en obtenant des résultats similaires à ceux générés par KQL, avec une interface utilisateur graphique.

Conclusion

En maîtrisant KQL, vous pouvez transformer votre manière de filtrer et d’explorer les données dans Elasticsearch. Comment allez-vous intégrer ces techniques dans vos projets actuels ?

ÉTIQUETÉ : Elastic
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Maîtriser KQL pour des Requêtes Efficaces

© Alphorm - Tous droits réservés