サンプル AQL 照会

Ariel 照会言語 (AQL) の照会を使用して、特定の基準に基づいて Ariel データベースからデータを取得します。

AQL 照会を作成するときは、次の照会構文を使用し、節の順序に従ってください。
[SELECT *, column_name, column_name]
[FROM table_name]
[WHERE search clauses]
[GROUP BY column_reference*]
[HAVING clause]
[ORDER BY column_reference*]
[LIMIT numeric_value] 
[TIMEFRAME]
注: GROUP BY 節または ORDER BY 節を使用して情報をソートする場合は、既存の SELECT ステートメントからのみ column_names を参照できます。
注: デフォルトでは、 TIMEFRAME 値が指定されていない場合、照会は Ariel データの最後の 5 分間に対して実行されます。
リテラル値または変数を指定するには、必ず単一引用符を使用してください。スペースまたは非 ASCII 文字を含む列名の場合は、必ず二重引用符を使用してください。
単一引用符
ストリングの始まりと終わりを参照する場合は、単一引用符を使用します。以下に例を示します。
username LIKE '%User%'
sourceCIDR= '192.0.2.0'
TEXT SEARCH = 'VPN Authenticated user'
QIDNAME(qid) AS 'Event Name'
二重引用符
列名がスペースまたは非 ASCII 文字を含む場合は、二重引用符で囲みます。以下に例を示します。
カスタムのプロパティー名のうち、スペースを含むもの。例: "Account Security ID"
非 ASCII 文字を含む値。

単純な AQL 照会

表 1. 単純な AQL 照会
基本的な AQL コマンド コメント
SELECT * FROM events LAST 10 MINUTES
イベント・テーブルのうち、過去 10 分間に送信されたすべてのフィールドを返します。
SELECT sourceip,destinationip FROM events 
LAST 24 HOURS
イベント・テーブルのうち、過去 24 時間に送信された sourceip および destinationip を返します。
SELECT * FROM events START '2017 01 01 9:00:00' 
STOP '2017 01 01 10:20:00'
イベント・テーブルのうち、その時間間隔中のすべてのフィールドを返します。
SELECT * FROM events limit 5 LAST 24 HOURS
イベント・テーブルのうち、過去 24 時間におけるすべてのフィールドを返します。ただし、出力を結果 5 件に制限します。
SELECT * FROM events ORDER BY magnitude DESC 
LAST 24 HOURS
イベント・テーブルのうち、過去 24 時間に送信されたすべてのフィールドを返します。このとき、出力をマグニチュードの大きい順にソートします。
SELECT * FROM events WHERE magnitude >= 3 
LAST 24 HOURS
イベント・テーブルのうち、過去 24 時間における、マグニチュードが 3 未満のすべてのフィールドを返します。
SELECT * FROM events WHERE sourceip = '192.0.2.0' 
AND destinationip = '198.51.100.0' START '2017 01 01 
9:00:00' STOP '2017 01 01 10:20:00'
イベント・テーブルのうち、指定された時間内で、指定された送信元 IP および宛先 IP を持つすべてのフィールドを返します。
SELECT * FROM events WHERE INCIDR('192.0.2.0/24',
sourceip)
イベント・テーブルのうち、送信元 IP アドレスが指定の CIDR IP 範囲内にあるすべてのフィールドを返します。
SELECT * FROM events WHERE username LIKE '%roul%'
イベント・テーブルのうち、ユーザー名にストリング例が含まれるすべてのフィールドを返します。 パーセント記号 (%) は、ユーザー名が 0 文字以上のストリングに一致することを示します。
SELECT * FROM events WHERE username ILIKE '%ROUL%'
イベント・テーブルのうち、ユーザー名にストリング例が含まれるすべてのフィールドを返します。結果では大/小文字を区別しません。 パーセント記号 (%) は、ユーザー名が 0 文字以上のストリングに一致することを示します。
SELECT sourceip,category,credibility FROM events 
WHERE (severity > 3 AND category = 5018)OR 
(severity < 3 AND credibility > 8)
イベント・テーブルのうち、特定の重大度レベル、特定のカテゴリー、および特定の信頼性レベルである sourceipcategory、および credibility フィールドを返します。 AND 節では、必要な結果の種類を示す複数のストリングを指定できます。
SELECT * FROM events WHERE TEXT SEARCH 'firewall'
イベント・テーブルのうち、指定のテキストが出力に存在するすべてのフィールドを返します。
SELECT * FROM events WHERE username ISNOT NULL
イベント・テーブルのうち、username の値がヌルでないすべてのフィールドを返します。