MXQL Open API

필요한 배경 지식

MXQL Open API 종류

MXQL을 사용하는 방법은 두 가지가 있습니다.

  1. 직접 MXQL 쿼리를 작성해서 데이터를 조죄하는 방법

  2. SaaS 서비스에서 제공하는 사전에 정의된 MXQL 쿼리 목록으로 데이터를 조회하는 방법

따라서 각각의 경우에 사용하는 API의 path가 달라집니다.

MXQL 활용 방법

API

직접 MXQL 쿼리를 작성하는 경우

MXQL text API

SaaS 서비스에서 제공하는 사전에 정의된 MXQL 쿼리 목록을 사용하는 경우

MXQL path API

MXQL Open API 제한사항

  • 한 번의 요청으로 조회할 수 있는 기간은 최대 31일입니다.

MXQL text API

Table 1. mxql text API

method

POST

path

https://service.whatap.io/open/api/flush/mxql/text

open api mxql text example
Figure 1. MXQL 실행 결과 예시
RequestBody example
{
    "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"
    }
}
Table 2. RequestBody 설명

Key

Value

stime

데이터 조회 시작 시간

etime

데이터 조회 끝 시간

mql

직접 작성한 MXQL 쿼리

limit

최대 데이터 조회 수

pageKey

문자열 "mxql" 고정값

inject

Optional, 참고 : INJECT, 예시 : { "default": "ORDER {key : [oid], sort :[desc] }"}

param

Optional, 참고 : 파라미터, 예시 : { "$oidFirst": "520111224", "$oidSecond": "1031483086" }

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

Table 3. mxql path API

method

POST

path

https://service.whatap.io/open/api/flush/mxql/path

Request Body example (INJECT로 pk 컬럼 추가, param은 사용하지 않음)
{
    "stime": 1639016640000,
    "etime": 1639016940000,
    "mql": "/app/act_tx/agent_with_tx",
    "limit": 2,
    "pageKey": "mxql",
    "inject": {
      "default": "CREATE {key : _pk_, value : okindName}"
    },
    "param": {
    }
}
Request Body example (INJECT로 pk 컬럼 추가, 사용하지 않은 param은 생략한 경우)
{
    "stime": 1639016640000,
    "etime": 1639016940000,
    "mql": "/app/act_tx/agent_with_tx",
    "limit": 2,
    "pageKey": "mxql",
    "inject": {
      "default": "CREATE {key : _pk_, value : okindName}"
    }
}
Table 4. RequestBody 설명

Key

Value

stime

데이터 조회 시작 시간

etime

데이터 조회 끝 시간

mql

참고 : SaaS 서비스에서 제공하는 사전에 정의된 MXQL 쿼리 목록

limit

최대 데이터 조회 수

pageKey

문자열 "mxql" 고정값

inject

Optional, 참고 : INJECT, 예시 : { "default": "ORDER {key : [oid], sort :[desc] }" }

param

Optional, 참고 : 파라미터, 예시 : { "$oidFirst": "520111224", "$oidSecond": "1031483086" }

ResponseBody Example 1 (조회된 데이터가 없는 경우)
[]
ResponseBody Example 2 (조회된 데이터가 있는 경우)
[
    {
        "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"
    }
]