Structure de requête AQL

Utilisez AQL (Ariel Query Language) pour extraire, filtrer et manipuler des données d'événement et de flux de la base de données Ariel dans IBM® QRadar®. Vous pouvez utiliser AQL pour obtenir des données auxquelles il n'est pas toujours facile d'accéder à partir de l'interface utilisateur.

Le diagramme suivant illustre le flux d'une requête AQL.

Figure 1 : Flux d'une requête AQL
Flux d'une requête AQL

Structure d'une instruction AQL

Utilisez l'instruction SELECT pour sélectionner des zones d'événements ou de flux dans la base de données Ariel, affichées sous forme de colonnes. Par exemple, la requête suivante renvoie les résultats présentés dans le tableau suivant :

SELECT sourceip, destinationip, username, protocolid, eventcount FROM events

Tableau 1. Résultats de la requête AQL
sourceip destinationip Username Protocolid eventcount
192.0.2.21 198.51.100.21 Joe Ariel 233 1
192.0.2.22 198.51.100.24 Jim Ariel 233 1

Les requêtes AQL commencent par l'instruction SELECT pour sélectionner des données d'événement ou de flux dans la base de données Ariel. Vous pouvez affiner la sortie de données de l'instruction SELECT à l'aide des clauses WHERE, GROUP BY, HAVING, ORDER BY, LIMIT et LAST.

SÉLECTIONNER

Utilisez l'instruction SELECT pour sélectionner des zones à partir d'événements ou de flux. Par exemple, sélectionnez tous les champs des événements ou des flux en saisissant :

SELECT * FROM events ou SELECT * FROM flows

Utilisez les clauses suivantes pour filtrer et manipuler les données renvoyées par l'instruction SELECT :
LIEU

Utilisez la clause WHERE pour insérer une condition qui filtre la sortie, par exemple WHERE logsourceid='65'.

REGROUPER PAR
Utilisez la clause GROUP BY pour regrouper les résultats par une ou plusieurs colonnes que vous spécifiez dans la requête (par exemple, GROUP BY logsourceid).
HAVING
Utilisez la clause HAVING pour spécifier une condition après la clause GROUP BY, par exemple HAVING MAG > 3.
TRIER PAR
Utilisez la clause ORDER BY pour trier les résultats d'une colonne de la requête AQL dans un ordre croissant ou décroissant (par exemple, ORDER BY username DESC).
LIMIT
Utilisez la clause LIMIT pour limiter le nombre de résultats renvoyés à un nombre spécifique (par exemple, LIMIT 50 pour limiter la sortie à 50 résultats).
LAST
Utilisez une clause LAST pour spécifier un intervalle de temps pour la requête, par exemple LAST 1 HOURS.

L'exemple suivant intègre toutes les clauses décrites dans la liste :

SELECT sourceip, destinationip, username 
FROM events 
WHERE username = 'test name' 
GROUP by sourceip, destinationip 
ORDER BY sourceip DESC 
LIMIT 10 
LAST 2 DAYS