본문으로 건너뛰기

MXQL

노트

MXQL을 사용하기 전에 메트릭스의 개념을 먼저 확인하세요. 메트릭스에 대한 자세한 내용은 다음 문서를 참조하세요.

MXQL이란?​

MXQL은 와탭의 성능 데이터(메트릭스)를 유연하게 조회하기 위한 쿼리 언어입니다. 하나의 프로젝트에 포함된 여러 에이전트에서 수집한 메트릭스를 통합 조회하고 활용할 때 사용합니다.

MXQL과 SQL의 차이​

SQL과 비교해 MXQL의 개념을 설명합니다.

용어​

SQL의 데이터 저장 구조와 용어는 다음과 같습니다.

SQL의 데이터 저장 구조

위 그림의 whatap 데이터베이스(Database)에는 product 테이블(Table)이 포함되어 있습니다. product 테이블(Table)에는 id와 description, 두 개의 컬럼(Column)이 있습니다. SQL의 Database, Table, Column에 대응하는 MXQL의 용어는 각각 database, category, field입니다.

저장방식MXQLSQL
대분류DatabaseDatabase
중분류CategoryTable
소분류FieldColumn

쿼리(Query)​

MXQL과 SQL의 샘플 쿼리입니다. 각 줄 오른쪽의 주석을 참조하세요.

SQL query
SELECT time, pcode  -- Column 선택(time, pcode 컬럼만 조회하도록 설정합니다.)
FROM app_counter -- Table 선택(app_counter 테이블에서 데이터를 조회합니다.)
WHERE tx_count = 1 -- 데이터 필터링(tx_count column의 값이 1인 데이터만 조회하도록 설정합니다.)
MXQL query
CATEGORY app_counter                 -- app_counter 카테고리에서 데이터를 조회하도록 설정합니다.
TAGLOAD -- 데이터를 조회합니다.
SELECT [ time, pcode ] -- 조회된 전체 컬럼 중에서 time, pcode 필드만 선택합니다.
FILTER { key : tx_count, value : 5} -- tx_count 필드의 값이 5인 데이터만 남깁니다.

실행 결과​

MXQL 쿼리를 수행하면 선택한 카테고리에서 선택한 필드의 메트릭스를 조회합니다.

app_counter 카테고리에서 tx_count, tx_error 지표를 조회하는 쿼리는 다음과 같습니다.

MXQL
CATEGORY app_counter                   -- app_counter 카테고리에서 데이터를 조회하도록 설정합니다.
TAGLOAD -- 데이터를 조회합니다.
SELECT [time, oid, tx_count, tx_error] -- 조회하고 싶은 필드의 이름을 설정합니다.

쿼리를 수행하면 다음과 같이 메트릭스를 조회합니다.

MXQL 실행 결과 예시

메트릭스에는 항상 time, oid 값이 포함되므로 MXQL 쿼리에서도 time, oid 필드를 항상 포함해 조회할 것을 권장합니다. 최종 조회한 데이터가 언제(time) 어떤 에이전트(oid)에서 수집한 메트릭스인지 확인할 수 있습니다.