Query Manager
Query Manager는 exemONE 수집 DB(ClickHouse, PostgreSQL)에서 요건에 맞는 쿼리를 직접 작성해 데이터를 조회하고, 조회 결과를 지표로 저장해 대시보드 위젯·알람·알림에 활용할 수 있는 화면입니다.
좌측 메뉴에서 Tool > Query Manager를 선택하세요.

화면은 Query List, 쿼리 편집 영역, Collection(실행 결과) 영역 세 부분으로 구성됩니다.
Select Database에서 조회할 데이터베이스 선택하기
Select Database 드롭다운에서 쿼리를 실행할 데이터베이스를 선택합니다.

- ClickHouse (Data Storage): 대상 서버에서 수집한 지표·로그 데이터가 저장되는 DB입니다.
- PostgreSQL (Metadata): 관리용 메타데이터가 저장되는 DB입니다.
PostgreSQL 조회는 exemone-api v3.0.508.27 이상에서 지원합니다.
알람 등록은 ClickHouse(Repository) 조회 데이터만 지원합니다. PostgreSQL 조회 데이터는 알람으로 등록할 수 없습니다.
쿼리 작성하고 실행하기
[New Query] 버튼을 클릭하면 새 쿼리 편집 화면이 열립니다. 가운데 편집기에 쿼리를 작성한 뒤 [Run Query]를 클릭하면 실행 결과가 하단 Collection 영역에 표시됩니다.

- DB Table Reference: 활성화하면 조회 가능한 테이블 목록을 좌측에서 검색해 확인할 수 있습니다.
- Select Schema: 조회할 스키마를 선택합니다.
- Query Timeout: 쿼리 실행 제한 시간(초)입니다.
- [Formatting]: 작성한 쿼리를 보기 좋게 정렬합니다. [Clear All]: 편집기 내용을 모두 지웁니다.
- [Save] / [Save As…]: 쿼리를 저장합니다. [Reset]: 작성 중인 쿼리를 초기화합니다.
쿼리 실행 결과에 에러가 발생하면 저장할 수 없습니다. 오류를 수정한 후 다시 실행하고 저장하세요.
Set Stat Variable로 지표 변수 설정하기
Set Stat Variable을 활성화하면 대시보드 위젯이나 알람에서 쿼리를 실행할 때 동적으로 값을 채워 넣을 변수를 설정할 수 있습니다.

Set Stat Variable은 Front v3.0.508.137 이상에서 지원합니다.
토글 옆의 [Set Stat Variable Guide] 버튼을 클릭하면 우측(또는 팝업)에 가이드 패널이 열립니다. Metric Type / Current Type / Scatter Type / Table Type / Common 탭으로 구성되어 있으며, 각 탭에서 지표 타입별 필수 필드, 지표 변수, 쿼리 예약 함수, 샘플 쿼리를 바로 확인할 수 있습니다.

Set Stat Variable Guide 패널의 제목·탭·버튼 라벨(Metric Type, Variable Name, Add Variable 등)은 접속 언어를 따라 표시됩니다. 다만 English 접속 시에는 본문 설명 문장이 번역되지 않고 한국어로 표시되는 반면, 日本語 접속 시에는 본문까지 정상적으로 번역되어 표시됩니다.
지표 변수·쿼리 예약 함수의 최신 목록과 타입별 필수 필드는 화면의 [Set Stat Variable Guide] 버튼을 클릭해 실시간으로 확인하는 것을 권장합니다. 자주 쓰이는 항목은 다음과 같습니다.
지표 변수 예약어
| 변수명 | 설명 |
|---|---|
fromTime | 데이터 조회 시작 시간 / 알람 적용 시 집계 범위 시작 시간 |
toTime | 데이터 조회 종료 시간 / 알람 적용 시 집계 범위 종료 시간 |
targetIds | 범례 위젯에 필터된 대상 태그 바인딩용 변수(범례 위젯 사용 시 필수) / 알람 적용 시 타겟 설정 |
clickedTime | 타임시리즈 차트에서 특정 시간을 클릭했을 때 해당 시간을 참조하는 변수(트리 그리드에서 사용) |
쿼리 예약 함수
| 함수 | 설명 |
|---|---|
$_get_targets_from_tags({category}, {tag}) | target id 추출 함수입니다. 대시보드 변수 필터 사용 시 반드시 사용합니다. 사용자 권한에 포함된 대상만 필터됩니다. |
| 파라미터 | 설명 |
|---|---|
category (string) | 대상이 속하는 카테고리입니다. ('host', 'database', 'application' 등) |
tag (string) | target_id로 추출할 대상 태그입니다. (database;tag;* 형식) |
{tag}에는 target_id를 직접 바인딩해서는 안 됩니다. 대시보드 글로벌 변수 필터와 동일한 태그를 지표 변수에 매핑해야 합니다.
Metric 타입
타임시리즈(Timeseries) 차트에 적용할 수 있습니다. SELECT 절에 time(x축 시간값, 필수), value(y축 값, 필수), target_id(대상 id, 필수)를 포함해야 합니다. 범례 위젯 사용 시 targetIds를 반드시 추가합니다.
select target_id, toStartOfInterval(collect_time, INTERVAL '5 s') as time, argMax(value, collect_time) as value
from metric_dist
where data_id like 'host_stat_active_memory_usage'
and collect_time >= fromTime and collect_time < toTime
and target_id in ($_get_targets_from_tags('host', targetIds))
group by target_id, time
Current 타입
누적 바(Stacked Bar), 스코어보드(Scoreboard) 차트에 적용할 수 있습니다. SELECT 절에 value(대상별 값, 필수), target_id(대상 id, 필수)를 포함해야 합니다. 동적 조회 범위 적용 시 fromTime, toTime을 사용하고, 범례 위젯 사용 시 targetIds를 반드시 추가합니다.
SELECT target_id, max(value) as value
FROM metric_dist
WHERE data_id like 'host_stat_active_memory_usage'
AND collect_time >= fromTime
AND collect_time < toTime
AND target_id in ($_get_targets_from_tags('host', targetIds))
GROUP BY target_id
Scatter 타입
스캐터(Scatter) 차트에 적용할 수 있습니다. 최대 10분 범위의 데이터만 표현할 수 있습니다. SELECT 절에 time(x축 시간값, 필수), elapse_time(y축 수행시간 값, 필수), count(동일 x·y축 값을 가지는 수집 데이터 개수, 필수), target_ids(대상 id 리스트, array 필드, 필수)를 포함해야 합니다. 범례 위젯 사용 시 targetIds를 반드시 추가합니다.
SELECT
toStartOfMinute(collect_time) as time,
elapsed_time,
count(*) as count,
groupArray(instance_id) as target_ids
FROM oracle_sql_elapse_dist
WHERE collect_time >= fromTime
AND collect_time < toTime
AND instance_id in ($_get_targets_from_tags('database', targetIds))
GROUP BY time, elapsed_time
Table 타입
이퀄라이저, 트리 그리드, 상위 리스트, 파이(그래프 타입), 필터(셀렉트2 유형) 위젯에 적용할 수 있습니다.
| 상황 | 필수 필드 |
|---|---|
| 필터 위젯 셀렉트2 유형에서 사용 시 | name(대상 이름), value(대상 ID) |
| 범례 위젯 대상 필터 연동 시 | target_id(대상 id) |
지표 변수는 사용 목적에 따라 clickedTime(트리 그리드에서 특정 시간 클릭 시 참조), targetIds(범례 위젯 사용 시 및 알람 Table 유형 지표 사용 시 필수), fromTime/toTime(알람 조회 시간 범위 적용 시)을 참고합니다.
알람 설정 시 범례 위젯 사용 여부와 관계없이 targetIds가 필수이며, 알람 조회 시간 범위 적용 시 fromTime, toTime을 반드시 사용해야 합니다.
필터 위젯 셀렉트2 유형으로 사용하는 샘플 쿼리입니다.
select
distinct
target_id as value,
system_attributes['name'] as name
from target
where target_id in ($_get_targets_from_tags('database','database;tag;*'))
쿼리 저장하고 공유하기
[Save] 또는 [Save As…]를 클릭하면 저장 팝업이 표시됩니다. 대시보드 위젯이나 알람에서 이 쿼리 지표를 사용하려면 Share Query를 활성화하고 Data Setting을 지정해야 합니다.

- Name / Location: 쿼리 이름과 저장 위치(Private/Public 폴더)를 지정합니다. [Create Folder]로 새 폴더를 만들 수도 있습니다.
- Share Query: 활성화하면 Public 폴더에도 함께 저장되어 Data Setting을 지정할 수 있습니다.
- Data ID:
qm_{Data ID}형식으로 exemONE ClickHouse DB의xm_metric테이블에 저장됩니다. - Data Type: Metric / Current / Table / Scatter 중 선택합니다. Table을 1개만 지정하면 Alert Data 토글이 활성화됩니다.
- Alert Data: 활성화하면 알람으로 등록할 수 있습니다. 활성화 시 "Alerts apply only to Metric and Table types." 안내가 표시되며, ClickHouse 조회 지표만 해당합니다.
대시보드 위젯에 지표 연계하기
Query Manager에서 저장한 지표(Share Query 활성화 필요)를 대시보드 위젯의 데이터로 활용할 수 있습니다. 위젯 설정에서 쿼리 정의 지표 사용 옵션을 선택합니다.
Gauge, Action View, Heat Map, Daily Comparison 등 일부 그래프 위젯과 아키텍처 위젯, 비즈니스 위젯은 Query Manager를 지원하지 않습니다.
알람 지표로 등록하기
Query Manager에서 생성한 지표를 알람으로 등록할 수 있습니다. Setting > Alert > User Alert에서 설정합니다.
알람 등록은 exemone-front v3.0.508.32 / exemone-api v3.0.508 / exemone-alerter v3.0.508.11 이상에서 지원합니다.
지표 등록 절차는 다음과 같습니다.
| 단계 | 설명 |
|---|---|
| Step 1 | ClickHouse Repository 데이터로 지표를 생성합니다. |
| Step 2 | SELECT 절에 target_id를 포함합니다. |
| Step 3 | 참조 변수 fromTime, toTime, targetIds를 적용합니다. |
| Step 4 | targetIds 참조 변수 사용 시 태그를 반드시 사용합니다(target_id 직접 바인딩 금지). |
| Step 5 | 지표 저장 시 Share Query를 활성화하고, Data Type을 Table 1개만 지정한 후 Alert Data를 활성화합니다. |
알람 등록은 Setting > Alert > User Alert에서 알람 지표를 선택한 후, Table 유형 알람 등록 절차에 따라 진행합니다.
Notification 파라미터로 활용하기
Query Manager에서 등록한 지표를 알람 Notification 파라미터로 활용할 수 있습니다. Setting > Alert > Notification에서 알림을 추가하거나 편집할 때 설정합니다. 이메일, 슬랙, 텔레그램, 웹훅, 온사이트 알림 유형을 지원합니다(KakaoTalk, SMS 미지원).
Notification 파라미터 사용은 exemone-api v3.0.508.51 / exemone-front v3.0.508.39 이상에서 지원합니다.
- 데이터 전송 방식: 조회 결과의 첫 번째 칼럼의 첫 번째 Row가 파라미터 데이터로 전송됩니다.
- 파라미터 입력 형식:
$qm$qm_{data_id}$형식으로 입력합니다.data_id앞에qm_접두사를 반드시 붙입니다. - 적용 영역:
fixed_contents영역에서만 파라미터를 사용할 수 있습니다.