Dicas para criar consultas AQL para gráficos de painel

As dicas para ajudá-lo a criar consultas de AQL e gráficos de painel mais facilmente abrangem aliases, formatos de horário e data e funções de consulta de transformação.

  • Qualquer instrução AQL que contenha um critério de tempo pode usar o parâmetro SYSTEM:timerange predefinido Em seguida, quando o widget é usado em um painel, um seletor de tempo permite que o usuário exiba um intervalo de tempo específico em gráficos baseados em tempo no painel... A tabela a seguir compara exemplos de consultas AQL que contêm critérios de tempo usando intervalos de tempo específicos versus usando o parâmetro SYSTEM:timerange :
    Tabela 1. Exemplos de instruções AQL que contêm critérios de tempo, usando intervalos de tempo específicos e o parâmetro SYSTEM:timerange
    Exemplos de AQL que contêm um intervalo de tempo específico
    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' 
    Dica: STOP representa o horário atual.
  • Qualquer instrução AQL que não contenha critérios de tempo como START, STOPou LAST retorna dados que representam os últimos 5 minutos.
  • Use os formatos adequados de data e ano em suas consultas, especialmente em um GLOBALVIEW. As datas não são anexadas automaticamente; por exemplo, use StartTime, 'YYYY-MM-dd HH:mm'.
  • Use o formato de tempo de milissegundos no Tempo na consulta AQL; por exemplo, starttime-starttime%60000.
  • Não use uma função de consulta de transformação em um operador IN em uma cláusula WHERE. O operador IN especifica vários valores na cláusula WHERE, mas pode causar problemas de desempenho quando você executa a consulta. Por exemplo, a consulta a seguir pode causar problemas de desempenho:
    Where logsourcetypename(deviceType) IN ('a','b')
  • Sempre use aliass para assegurar que seus nomes de campo não variem de uma versão do QRadar® para outra versão. Por exemplo, na consulta a seguir, Active Offense Sum é um alias para o campo 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
  • Os gráficos da região de dispersão exibem locais geográficos para indicar a origem e o destino de IP das atividades maliciosas detectadas. Para coletar essas informações, use a opção geo_json da função AQL GEO::LOOKUP. Por exemplo:
    GEO::LOOKUP(sourceip, 'geo_json') AS 'geoSource',
    GEO::LOOKUP(destinationip, 'geo_json') AS 'geoDest',
  • Os gráficos do Choropleth são sombreados em proporção à quantidade de atividade maliciosa detectada em cada região geográfica. Para coletar essas informações, use a opção country da função AQL GEO::LOOKUP. Por exemplo:
    GEO::LOOKUP(sourceip, 'country') AS 'geoCountry',

    Configure o 'Tipo de local' como 'País/Região' para corresponder com o que o banco de dados MaxMind GeoIP usa.

  • Acesse o IBM® QRadar Knowledge Center. Na seção Ariel Query Language (AQL) do capítulo Referência, consulte os tópicos a seguir: "Visão geral do Ariel Query Language", "Operadores de comparação e lógicos de AQL", "Exemplos de consulta de desempenho do sistema", "Exemplos de consulta de eventos e fluxos", "Exemplos de consulta de dados de referência" e "Exemplos de consulta de monitoramento de usuário e de rede".