Conseils pour créer des requêtes AQL pour les graphiques des tableaux de bord

Les conseils pour vous aider à créer plus facilement des requêtes AQL et des tableaux de bord couvrent les alias, les formats d'heure et de date, et les fonctions de recherche de transformation.

  • Toute instruction AQL qui contient un critère de temps peut utiliser le paramètre SYSTEM:timerange prédéfini. Ensuite, lorsque le widget est utilisé dans un tableau de bord, un sélecteur de temps permet à l'utilisateur d'afficher un intervalle de temps particulier dans des graphiques basés sur le temps dans le tableau de bord. Le tableau suivant compare des exemples de requêtes AQL qui contiennent des critères de temps utilisant des intervalles de temps spécifiques par rapport à l'utilisation du paramètre SYSTEM:timerange :
    Tableau 1. Exemples d'instructions AQL contenant des critères de temps, utilisant des intervalles de temps spécifiques et le paramètre SYSTEM:timerange
    Exemples AQL contenant une plage de temps spécifique
    SELECT *
    FROM events WHERE userName IS NULL 
     LAST 1 HOURS 
    SELECT *
    FROM events WHERE userName IS NULL 
     START '2024-04-25 15:51:20' 
    STOP '2024-04-25 17:00:20' 
    Astuce: STOP représente l'heure actuelle.
  • Toute instruction AQL qui ne contient pas de critère de temps tel que START, STOPou LAST renvoie des données représentant les 5 dernières minutes.
  • Utilisez les formats de date et d'année appropriés dans vos requêtes, plus particulièrement dans un élément GLOBALVIEW. Les dates ne sont pas automatiquement ajoutées ; par exemple, utilisez StartTime, 'YYYY-MM-dd HH:mm'.
  • Utilisez le format de temps en millisecondes dans time dans la requête AQL, par exemple, starttime-starttime%60000.
  • N'utilisez pas une fonction de consultation de transformation dans un opérateur IN d'une clause WHERE. L'opérateur IN spécifie plusieurs valeurs dans la clause WHERE, mais il peut entraîner des problèmes de performances lorsque vous exécutez la requête. Par exemple, la requête suivante peut causer des problèmes de performance :
    Where logsourcetypename(deviceType) IN ('a','b')
  • Utilisez toujours des alias pour vous assurer que vos noms de zone ne varient pas d'une version QRadar® à une autre. Par exemple, dans la requête suivante, Active Offense Sum est un alias de la zone SUM_Active Offense Count.
    select ("SUM_Active Offense Count" / 2)  as 'Active Offense Sum',
    ("SUM_Dormant Offense Count" / 2)  as 'Dormant Offense Sum',
    "Time" * 1000 as 'sTime'
    from GLOBALVIEW('Offenses Over Time','NORMAL')
    order by "Time" desc
    last 2 days
  • Les graphiques géographiques à nuage de points affichent les emplacements géographiques pour indiquer la source et la destination IP des activités malveillantes détectées. Pour collecter ces informations, utilisez l'option geo_json de la fonction AQL GEO::LOOKUP . Par exemple :
    GEO::LOOKUP(sourceip, 'geo_json') AS 'geoSource',
    GEO::LOOKUP(destinationip, 'geo_json') AS 'geoDest',
  • Les graphiques choroplèthes sont ombragés en fonction de la quantité d'activités malveillantes détectées dans chaque région géographique. Pour collecter ces informations, utilisez l'option country de la fonction AQL GEO::LOOKUP . Par exemple :
    GEO::LOOKUP(sourceip, 'country') AS 'geoCountry',

    Définissez le 'Type d'emplacement' sur 'Pays/Région' pour correspondre à ce que la base de données GeoIP de MaxMind utilise.

  • Accédez à IBM® QRadar Knowledge Center. Dans la section relative au langage AQL (Ariel Query Language) du Guide de référence, reportez-vous aux rubriques suivantes : "Overview of Ariel Query Language", "AQL logical and comparison operators", "System performance query examples", "Events and flows query examples", "Reference data query examples" et "User and network monitoring query examples".