AQL 照会構造

Ariel 照会言語 (AQL) を使用して、Ariel データベースから抽出したイベント・データおよびフロー・データに対して、IBM® QRadar® で抽出、フィルター、およびアクションの実行を行います。 AQL を使用することで、ユーザー・インターフェースからは簡単にアクセスできない場合があるデータを取得できます。

以下の図に、AQL 照会のフローを示します。

図 1. AQL 照会フロー
AQL 照会フロー

AQL ステートメントの構造

SELECT ステートメントを使用して、Ariel データベース内のイベントまたはフローからフィールドを選択します。これらは列として表示されます。 例えば、以下の照会により、次の表に表示されている結果が返されます。

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

表 1. 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

AQL 照会は、Ariel データベースからイベント・データまたはフロー・データを選択する SELECT ステートメントで始まります。 SELECT ステートメントのデータ出力を詳細化するために、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT、および LAST の各節を使用できます。

SELECT

SELECT ステートメントを使用して、イベントまたはフローからフィールドを選択します。 例えば、イベントまたはフローからすべてのフィールドを選択するには、以下のように入力します。

SELECT * FROM events または SELECT * FROM flows

SELECT ステートメントから返されるデータをフィルタリングおよび操作するには、以下の節を使用します。
ここで、

WHERE 節を使用して、出力をフィルターに掛ける条件を挿入します。例: WHERE logsourceid='65'

GROUP BY
GROUP BY 節を使用して、照会で指定する 1 つ以上の列により結果をグループ化します。例: GROUP BY logsourceid
HAVING
HAVING句を使用して、GROUP BY句の後に条件を指定します(例:HAVING MAG > 3)。
ORDER BY
ORDER BY 節を使用して、AQL 照会内の列の結果を昇順または降順で並べ替えます。例: ORDER BY username DESC
LIMIT
LIMIT 節を使用して、返される結果の数を特定の数に制限します。例えば、LIMIT 50 により出力が 50 件の結果に制限されます。
LAST
LAST句で、クエリ時間フレームを指定します (例: LAST 1 HOURS)。

以下の例は、リストで説明されたすべての節が組み込まれています。

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