Wskazówki dotyczące tworzenia zapytań AQL dla wykresów panelu kontrolnego

Wskazówki ułatwiające tworzenie zapytań AQL i wykresów panelu kontrolnego, które łatwiej obejmują aliasy, formaty daty i godziny oraz funkcje wyszukiwania transformacji.

  • Każda instrukcja AQL, która zawiera kryteria czasowe, może korzystać z predefiniowanego parametru SYSTEM:time range . Następnie, gdy widget jest używany w panelu kontrolnym, selektor czasu umożliwia użytkownikowi wyświetlanie konkretnego zakresu czasu na wykresach czasowych na panelu kontrolnym. W poniższej tabeli porównano przykłady zapytań AQL, które zawierają kryteria czasu przy użyciu konkretnych zakresów czasu, z użyciem parametru SYSTEM:time range :
    Tabela 1. Przykłady instrukcji AQL, które zawierają kryteria czasu, z użyciem konkretnych zakresów czasu i parametru SYSTEM:time range
    Przykłady kodu AQL, które zawierają konkretny zakres czasu Przykłady kodu AQL zawierające parametr SYSTEM:time range
    SELECT *
    FROM events WHERE userName IS NULL 
     LAST 1 HOURS 
    SELECT *
    FROM events WHERE userName IS NULL 
     {SYSTEM:timerange} 
    SELECT *
    FROM events WHERE userName IS NULL 
     START '2014-04-25 15:51:20' 
    STOP '2014-04-25 17:00:20' 
    SELECT *
    FROM events WHERE userName IS NULL 
     {SYSTEM:timerange} 
    https://ibmid.acrolinx.cloud/
  • Każda instrukcja AQL, która nie zawiera kryteriów czasowych, takich jak START, STOPlub LAST , jest uruchamiana tylko przez 5 minut.
  • W zapytaniach należy używać odpowiednich formatów daty i roku, szczególnie w GLOBALVIEW. Daty nie są dopisywane automatycznie, na przykład StartTime, 'YYYY-MM-dd HH:mm'.
  • Należy użyć formatu milisekund w polu Godzina w zapytaniu AQL, na przykład starttime-starttime%60000.
  • Nie należy używać funkcji wyszukiwania transformacji w operatorze IN w klauzuli WHERE. Operator IN określa wiele wartości w klauzuli WHERE, ale może powodować problemy z wydajnością podczas uruchamiania zapytania. Na przykład następujące zapytanie może powodować problemy z wydajnością:
    Where logsourcetypename(deviceType) IN ('a','b')
  • Zawsze należy używać aliasów, aby upewnić się, że nazwy pól nie różnią się w zależności od wersji produktu QRadar ® . Na przykład w poniższym zapytaniu Active Offense Sum jest aliasem pola 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
  • Wykresy punktowe przedstawiają położenia geograficzne wskazujące źródło i miejsce docelowe wykrytych szkodliwych działań. Aby zebrać te informacje, należy użyć opcji geo_json funkcji AQL GEO::LOOKUP . Na przykład:
    GEO::LOOKUP(sourceip, 'geo_json') AS 'geoSource',
    GEO::LOOKUP(destinationip, 'geo_json') AS 'geoDest',
  • Wykresy kartogramu są zacieniowane proporcjonalnie do ilości szkodliwej aktywności wykrytej w każdym regionie geograficznym. Aby zebrać te informacje, należy użyć opcji country funkcji AQL GEO::LOOKUP . Na przykład:
    GEO::LOOKUP(sourceip, 'country') AS 'geoCountry',

    Ustaw wartość 'Typ lokalizacji' na 'Kraj/region ', aby była zgodna z wartością używaną przez bazę danych MaxMind GeoIP .

  • Przejdź do Centrum WiedzyIBM® QRadar. W sekcji Ariel Query Language (AQL) rozdziału Skorowidz zapoznaj się z następującymi tematami: "Przegląd języka Ariel Query Language", "Operatory logiczne i porównania AQL", "Przykłady zapytań o wydajność systemu", "Przykłady zapytań o zdarzenia i przepływy", "Przykłady zapytań o dane odniesienia" i "Przykłady zapytań monitorowania użytkowników i sieci".