Estrutura de consulta AQL

Use o Ariel Query Language (AQL) para extrair, filtrar e executar ações em dados de eventos e fluxo que você extrai do banco de dados Ariel em IBM® QRadar®. É possível usar AQL para obter dados que podem não estar facilmente acessíveis na interface com o usuário.

O diagrama a seguir mostra o fluxo de uma consulta AQL.

Figura 1. Fluxo de consulta AQL
Fluxo de consulta AQL

Estrutura de uma instrução AQL

Use a instrução SELECT para selecionar campos a partir de eventos ou fluxos no banco de dados Ariel, que são exibidos como colunas. Por exemplo, a consulta a seguir retorna os resultados que são mostrados na tabela a seguir:

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

Tabela 1. Resultados da consulta 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

As consultas da AQL começam com uma instrução SELECT para selecionar dados de eventos ou fluxo do banco de dados Ariel. Você pode refinar a saída de dados da instrução SELECT usando o WHERE, GROUP BY, ORDER, ORDER BY, LIMIT e cláusulas LAST.

SELECT

Use a instrução SELECT para selecionar campos a partir de eventos ou fluxos. Por exemplo, selecione todos os campos a partir de eventos ou fluxos digitando:

SELECT * FROM events, ou SELECT * FROM flows

Use as cláusulas a seguir para filtrar e manipular os dados retornados pela instrução SELECT:
WHERE

Use a cláusula WHERE para inserir uma condição que filtra a saída, por exemplo, WHERE logsourceid='65'.

AGRUPAR POR
Use a cláusula GROUP BY para agrupar os resultados por uma ou mais colunas que você especificar na consulta, por exemplo, GROUP BY logsourceid.
HAVING
Use a cláusula HAVING para especificar uma condição após a cláusula GROUP BY , por exemplo, HAVING MAG > 3.
Ordenar por
Use a cláusula ORDER BY para ordenar os resultados para uma coluna na consulta AQL em uma ordem crescente ou decrescente, por exemplo, ORDER BY username DESC.
Limite
Use uma cláusula LIMIT para limitar o número de resultados que são retornados a um número específico, por exemplo LIMIT 50 para limitar a saída a 50 resultados.
ÚLTIMO
Use uma cláusula LAST para especificar um intervalo de tempo para a consulta, por exemplo LAST 1 HOURS.

O exemplo a seguir incorpora todas as cláusulas que estão descritas na lista:

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