SQL 기반 시각화 만들기
- 쿼리를 실행할 ClickHouse 연결을 선택합니다.
- 필요에 따라 Source를 선택합니다. 이렇게 하면
$__filters매크로를 통해 대시보드 수준 필터를 차트에 적용할 수 있습니다. - 편집기에서 SQL 쿼리를 작성하고, 쿼리 매개변수와 매크로를 사용해 대시보드 시간 범위 및 필터와 연동합니다.
- 실행 버튼을 클릭해 결과를 미리 본 다음 저장합니다.
쿼리 매개변수
{paramName:Type}을 사용합니다.
사용 가능한 매개변수
Table, Pie 및 Number 차트:
매크로
$__ 접두사가 붙으며, 쿼리가 ClickHouse로 전송되기 전에 치환됩니다.
시간 경계 매크로
시간 필터 매크로
WHERE 절 조각을 생성합니다.
$__timeFilter(TimestampTime)의 예시 확장:
시간 인터벌 매크로
SELECT 및 GROUP BY 절에 사용됩니다. 이 매크로는 Line 및 Stacked-bar 시각화에서만 사용할 수 있습니다.
$__timeInterval(TimestampTime)의 확장 예시:
대시보드 필터 매크로
차트에서 Source가 선택되어 있고 대시보드 필터가 활성화되어 있으면
$__filters는 해당 SQL WHERE 조건으로 확장됩니다. Source가 선택되지 않았거나 적용된 필터가 없으면 (1=1)로 확장되므로 WHERE 절에 포함해도 항상 안전합니다.
쿼리 결과가 차트에 표시되는 방법
Line 및 Stacked Bar 차트
파이 차트
숫자 차트
테이블 차트
예시
필수 system table 접근 권한play-clickstack.clickhouse.com에서 다음 예시를 실행하려면
otel_v2.otel_logs 또는 otel_v2.otel_traces를 지정해야 합니다.라인 차트 — 서비스별 시간대별 로그 수
ts(DateTime)는 x축 타임스탬프로 사용됩니다.count(numeric)는 시리즈 값으로 표시됩니다.ServiceName(string)은 서비스마다 별도의 선을 생성합니다.
라인 차트 — 매크로 사용
Stacked Bar 차트 — 심각도별 오류 건수
테이블 차트 — 가장 느린 엔드포인트 상위 10개
파이 차트 — 서비스별 요청 분포
request_count(숫자형)은 각 조각의 크기를 결정합니다.ServiceName(문자열)은 각 조각의 레이블을 지정합니다.
숫자 차트 — 전체 오류 수
total_errors가 표시됩니다.
참고 사항
- SQL 기반 시각화는
readonly모드가 활성화된 상태로 실행되며,SELECT쿼리만 허용됩니다. - SQL 기반 시각화에는 SQL 쿼리가 정확히 하나만 포함되어야 하며, 여러 쿼리는 지원되지 않습니다.
- SQL Editor는 쿼리 매개변수와 매크로 모두에 대해 자동 완성 제안을 제공합니다.
- 대시보드 필터를 SQL 기반 시각화에 적용하려면 Source를 선택해야 합니다. 정확하게 필터링되도록 Source는 조회하는 테이블과 일치해야 합니다.