AQL 조회 구조

AQL (Ariel Query Language) 을 사용하여 IBM® QRadar®의 Ariel 데이터베이스에서 추출하는 이벤트 및 플로우 데이터에 대한 조치를 추출, 필터링 및 수행합니다. 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문으로 시작합니다. 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절을 사용하여 조회에서 지정한 하나 이상의 컬럼으로 결과를 그룹화합니다(예: GROUP BY logsourceid).
HAVING
HAVING절을 사용하여 GROUP BY절 뒤에 조건을 지정합니다(예: HAVING MAG > 3).
ORDER BY
ORDER BY절을 사용하여 AQL 조회의 컬럼에 대한 결과를 오름차순 또는 내림차순으로 정렬합니다(예: ORDER BY username DESC).
LIMIT
LIMIT절을 사용하여 리턴되는 결과의 수를 특정 숫자로 제한합니다(예를 들어, 출력을 50개 결과로 제한하려면 LIMIT 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