MXQL Open API
Open API를 이용해 MXQL 데이터를 조회하는 방법을 제공합니다.
노트
MXQL에 대한 자세한 내용은 다음 문서를 참조하세요.
MXQL Open API 종류
MXQL을 사용하는 방법은 다음과 같습니다.
- 직접 MXQL 쿼리를 작성해서 데이터를 조죄하는 방법
- 다음 문서에서와 같이 'SaaS 서비스에서 제공하는 사전에 정의된 MXQL 쿼리 목록'으로 데이터를 조회하는 방법
따라서 각각의 경우에 사용하는 API의 path가 달라집니다.
MXQL 활용 방법 | API |
---|---|
직접 MXQL 쿼리를 작성하는 경우 | MXQL text API |
'SaaS 서비스에서 제공하는 사전에 정의된 MXQL 쿼리 목록'을 사용하는 경우(다음 문서 참조) | MXQL path API |
MXQL Open API 호출하기
Open API 호출 시 헤더에 포함하는 내용은 다음과 같습니다.
구분 | 키 | 설정 값 | 비고 |
---|---|---|---|
헤더 | x-whatap-token | API 토큰 {{PROJECT API TOKEN}} | 프로젝트 API토큰: 프로젝트 선택 > 관리 > 프로젝트 관리 > API토큰 |
x-whatap-pcode | 프로젝트 코드 {{projectCode}} | 프로젝트 코드: 프로젝트 선택 > 관리 > 프로젝트 관리 > 프로젝트 코드 |
주의
MXQL Open API 제한사항
한 번의 요청으로 조회할 수 있는 기간은 최대 31일입니다.
MXQL text API
다음 이미지는 MXQL 실행 결과 예시입니다.
POST https://api.whatap.io/open/api/flush/mxql/text
Request
curl --location 'https://api.whatap.io/open/api/flush/mxql/text' \
-H 'x-whatap-token: {{PROJECT API TOKEN}}' \
-H 'x-whatap-pcode: {{projectCode}}' \
-H 'Content-Type: application/json' \
-d '{
"stime": 1639016640000,
"etime": 1639016940000,
"mql": "CATEGORY app_counter\nOID [ $oidFirst, $oidSecond ]\nTAGLOAD\nSELECT\nINJECT sortByOidDesc",
"limit": 2,
"pageKey": "mxql",
"inject": {
"sortByOidDesc": "ORDER {key : [oid], sort :[desc]}"
},
"param": {
"$oidFirst": "1499132250",
"$oidSecond": "1670734023"
}
}'
Key | Value |
---|---|
stime | 데이터 조회 시작 시간 |
etime | 데이터 조회 끝 시간 |
mql | 직접 작성한 MXQL 쿼리 |
limit | 최대 데이터 조회 수 |
pageKey | 문자열 mxql 고정값 |
inject | Optional 다음 문서 참조 예시, { "default": "ORDER {key : [oid], sort : [desc] }"} |
param | Optional 다음 문서 참조 예시 : { "$oidFirst": "520111224", "$oidSecond": "1031483086" } |
노트
요청 본문에 stime
, etime
, $oidFirst
, $oidSecond
항목은 사용자 환경에 맞는 시간, oid 값으로 적용해야 합니다.
-
조회된 데이터가 없는 경우
ResponseBody Example 1[]
-
조회된 데이터가 있는 경우
ResponseBody Example 2[
{
"time": 1639016640000,
"pcode": 101,
"pname": "Virtual",
"okind": -1085056726,
"onode": 334634079,
"oname": "22136-8075",
"okindName": "ote-virtual-1",
"onodeName": "node-1",
"host_ip": "192.168.1.57",
"container": "ote-8075.service",
"pid": 22206,
"type": "java",
"containerKey": 1876424218,
"tx_count": 58,
"tx_error": 0,
"tx_time": 1643.9138,
"apdex_satisfied": 41,
"apdex_tolerated": 16,
"apdex_total": 58,
"tx_dbc_time": 13.655172,
"tx_sql_time": 222.15517,
"tx_httpc_time": 717.4138,
"sql_count": 129,
"sql_error": 0,
"sql_time": 101.387596,
"sql_fetch_count": 37621,
"sql_fetch_time": 4.5187527E-4,
"httpc_count": 41,
"httpc_error": 0,
"httpc_time": 1073.4878,
"active_tx_count": 20,
"active_tx_0": 19,
"active_tx_3": 1,
"active_tx_8": 0,
"tps": 13.833333,
"resp_time": 1628,
"arrival_rate": 12.6,
"pack_dropped": 110,
"metering": 4,
"_clock_delta_": 180,
"oid": 1670734023
},
{
"time": 1639016640000,
"pcode": 101,
"pname": "Virtual",
"okind": -933992004,
"onode": 1693789385,
"oname": "22134-8074",
"okindName": "ote-virtual-0",
"onodeName": "node-0",
"host_ip": "192.168.1.57",
"container": "ote-8074.service",
"pid": 22202,
"type": "java",
"containerKey": 2024596057,
"tx_count": 56,
"tx_error": 0,
"tx_time": 1545.4464,
"apdex_satisfied": 37,
"apdex_tolerated": 18,
"apdex_total": 56,
"tx_dbc_time": 13.375,
"tx_sql_time": 209.01785,
"tx_httpc_time": 661.3214,
"sql_count": 125,
"sql_error": 0,
"sql_time": 77.808,
"sql_fetch_count": 41112,
"sql_fetch_time": 3.162094E-4,
"httpc_count": 39,
"httpc_error": 0,
"httpc_time": 1138.1538,
"active_tx_count": 18,
"active_tx_0": 14,
"active_tx_3": 4,
"active_tx_8": 0,
"tps": 10,
"resp_time": 2924,
"arrival_rate": 10.8,
"pack_dropped": 35,
"metering": 4,
"_clock_delta_": 128,
"oid": 1499132250
}
]
MXQL path API
POST https://api.whatap.io/open/api/flush/mxql/path
Request
# INJECT로 _pk_ 컬럼 추가, param은 사용하지 않음
curl --location 'https://api.whatap.io/open/api/flush/mxql/path' \
-H 'x-whatap-token: {{PROJECT API TOKEN}}' \
-H 'x-whatap-pcode: {{projectCode}}' \
-H 'Content-Type: application/json' \
-d '{
"stime": 1639016640000,
"etime": 1639016940000,
"mql": "/app/act_tx/agent_with_tx",
"limit": 2,
"pageKey": "mxql",
"inject": {
"default": "CREATE {key : _pk_, value : okindName}"
},
"param": {
}
}'
Key | Value |
---|---|
stime | 데이터 조회 시작 시간 |
etime | 데이터 조회 끝 시간 |
mql | 다음 문서 참조 |
limit | 최대 데이터 조회 수 |
pageKey | 문자열 mxql 고정값 |
inject | Optional 다음 문서 참조 예시 : { "default": "ORDER {key : [oid], sort : [desc] }" } |
노트
요청 본문에 stime
, etime
항목은 사용자 환경에 맞는 시간으로 적용해야 합니다.
-
조회된 데이터가 없는 경우
ResponseBody Example 1[]
-
조회된 데이터가 있는 경우
ResponseBody Example 1[
{
"pcode": 101,
"pname": "Virtual",
"oid": -1348176005,
"oname": "22137-8071",
"otype": "ap",
"okind": -1085056726,
"okindName": "ote-virtual-1",
"onode": 334634079,
"onodeName": "node-1",
"type": "ap",
"subtype": "java",
"version": "2.1.0 20211207u",
"os_name": "Linux",
"ip": "192.168.1.57",
"container_id": 842770198,
"metering": 4,
"status": "ok",
"normal": 12,
"slow": 1,
"verySlow": 0,
"total": 13,
"_pk_": "okindName"
},
{
"pcode": 101,
"pname": "Virtual",
"oid": -883058050,
"oname": "22141-8070",
"otype": "ap",
"okind": -933992004,
"okindName": "ote-virtual-0",
"onode": 1693789385,
"onodeName": "node-0",
"type": "ap",
"subtype": "java",
"version": "2.1.0 20211207u",
"os_name": "Linux",
"ip": "192.168.1.57",
"container_id": 624997205,
"metering": 4,
"status": "ok",
"normal": 19,
"slow": 1,
"verySlow": 0,
"total": 20,
"_pk_": "okindName"
}
]