시각화 만들기
GROUP BY 쿼리에 대응합니다. 즉, 선택한 차원에 대해 집계할 메트릭을 정의합니다.
예를 들어, 서비스 이름별로 그룹화한 오류 수(count())를 차트로 표시할 수 있습니다.
아래 예시에서는 sql.clickhouse.com에서 제공하는 원격 데이터셋을 사용하며, 이에 대한 설명은 가이드 “원격 데모 데이터세트”에 나와 있습니다. 또한 play-clickstack.clickhouse.com에 접속해 이 예시를 그대로 재현할 수도 있습니다.
2
시각화 만들기
아래 예시에서는 서비스 이름별로 시간에 따른 평균 요청 지속 시간을 차트로 표시합니다. 이를 위해서는 메트릭, 컬럼(SQL 표현식일 수 있음), 집계 필드를 지정해야 합니다.상단 메뉴에서
Line/Bar 시각화 유형을 선택한 다음 Traces 데이터셋(Demo Traces는 play-clickstack.clickhouse.com을 사용하는 경우)을 선택합니다. 다음 값을 입력합니다:- Metric:
Average - Column:
Duration/1000 - Where:
<empty> - Group By:
ServiceName - Alias:
Average Time
WHERE 절 또는 Lucene 구문으로 필터링할 수 있으며, 이벤트를 시각화할 시간 범위도 설정할 수 있습니다. 여러 시리즈도 지원됩니다.예를 들어, 필터 ServiceName:\"frontend\"를 추가해 frontend 서비스만 필터링할 수 있습니다. Add Series를 클릭해 별칭을 Count로 지정한 두 번째 시리즈를 추가하면 시간에 따른 이벤트 수도 함께 표시할 수 있습니다.기존 시리즈와 비슷한 시리즈를 만들려면 처음부터 새로 만드는 대신 복제할 수 있습니다. 시리즈 행의 복사 아이콘(Duplicate series)을 클릭하면 바로 아래에 복사본이 삽입됩니다. 복사본은 메트릭, 컬럼, 필터 등 원본 시리즈의 설정을 유지합니다. 이후 달라지는 필드만 변경하고(예: 집계) 복사본에 별도의 별칭을 지정하면 됩니다. 복제 기능은 여러 시리즈를 지원하는 모든 곳에서 사용할 수 있습니다. Number, Pie, Heatmap처럼 하나의 시리즈만 허용하는 시각화 유형에서는 이 기능이 표시되지 않습니다.시각화는 메트릭, 트레이스, 로그 등 모든 데이터 소스에서 만들 수 있습니다. ClickStack은 이 모두를 wide 이벤트로 처리합니다. 모든 numeric 컬럼은 시간에 따라 차트로 표시할 수 있으며, string, date, numeric 컬럼은 그룹화에 사용할 수 있습니다.이 통합된 접근 방식을 통해 텔레메트리 타입 전반에서 일관되고 유연한 모델로 대시보드를 구축할 수 있습니다.
대시보드 만들기
2
시각화 생성 – 서비스별 평균 요청 시간
시각화 생성 패널을 열려면
Add New Tile을 선택합니다.상단 메뉴에서 Line/Bar 시각화 유형을 선택한 다음 Traces 데이터셋(play-clickstack.clickhouse.com을 사용하는 경우 Demo Traces)을 선택합니다. 다음 값을 입력하여 시간 경과에 따른 서비스 이름별 평균 요청 시간을 보여주는 차트를 생성합니다.- 차트 이름:
Average duration by service - 메트릭:
Average - 컬럼:
Duration/1000 - Where:
<empty> - 그룹화 기준:
ServiceName - 별칭:
Average Time
Save를 클릭하기 전에 실행 버튼을 클릭합니다.시각화가 대시보드 전체 너비를 차지하도록 크기를 조정합니다.3
시각화 만들기 – 시간에 따른 서비스별 이벤트 수
시각화 생성 패널을 열려면
Add New Tile을 선택합니다.상단 메뉴에서 Line/Bar 시각화 유형을 선택한 다음 Logs 데이터셋(play-clickstack.clickhouse.com을 사용하는 경우 Demo Logs)을 선택합니다. 서비스 이름별로 시간에 따른 이벤트 수를 보여주는 차트를 만들려면 다음 값을 입력합니다.- 차트 이름:
Event count by service - 메트릭:
Count of Events - 조건:
<empty> - 그룹화 기준:
ServiceName - 별칭:
Count of events
Save를 클릭하기 전에 실행 버튼을 클릭합니다.시각화 크기를 조정해 대시보드 전체 너비를 차지하도록 합니다.4
스팬 지속 시간용 히트맵 타일 추가
히트맵 타일은 각 (시간, 값) 버킷에 속하는 이벤트 수를 색상 격자로 표시합니다. 평균이나 단일 백분위수만 보는 것이 아니라, 시간에 따라 분포의 형태가 어떻게 달라지는지 보고 싶을 때 히트맵을 사용하십시오. 지연 시간 히트맵은 Line 차트에서는 평균값에 가려질 수 있는 이중 봉우리 지속 시간 패턴, 느린 구간의 군집, 또는 갑작스러운 확산을 보여 줍니다.히트맵 타일을 추가하려면 다음과 같이 하십시오.
Add New Tile을 선택합니다.- 상단 메뉴에서
Heatmap시각화 유형을 선택합니다. 데이터 소스 드롭다운에는 소스 유형이Traces인 소스만 표시됩니다. 히트맵에는 traces 소스에서만 제공되는 스팬 지속 시간 컬럼이 필요하므로 logs, metrics, session 소스는 제외됩니다. - traces 소스 중 하나를 이름으로 선택합니다. 이름 자체는 임의이며, 중요한 것은 유형뿐입니다.
- Value: 소스의
Duration Expression이며, 현재 표시 단위에 맞게 조정됩니다(예: 각 이벤트의 스팬 지속 시간을 나노초에서 밀리초로 변환하는(Duration)/1e6) - Count:
count()
- 차트 이름을 설정하고,
Where를 사용해 성능을 관찰하려는 특정 서비스나 작업 집합으로 히트맵 범위를 제한합니다. - 관심 있는 기간에 맞게 시간 범위를 조정합니다. 더 넓은 범위를 사용하면 짧은 구간에서는 보이지 않을 수 있는 분포 변화와 이중 봉우리 지연 시간 패턴을 확인할 수 있습니다.
Run을 클릭해 차트를 미리 확인한 다음 Save를 클릭합니다.저장된 타일은 대시보드에 히트맵으로 표시됩니다. 셀 위에 마우스를 올리면 버킷 경계와 이벤트 수를 확인할 수 있습니다.Event Deltas로 드릴다운
렌더링된 히트맵 타일의 셀을 클릭하면 View in Event Deltas 작업이 열립니다.이 작업을 선택하면 타일의 데이터 소스,Where 절, 시간 범위가 그대로 유지된 상태로 Event Deltas 화면이 열립니다. 여기에서 동일한 분포를 대화형으로 살펴보고, 속성별로 나누어 느린 스팬이 빠른 스팬과 무엇이 다른지 확인할 수 있으며, 쿼리를 수동으로 다시 작성하지 않고도 각 셀에 해당하는 개별 스팬을 조사할 수 있습니다.5
대시보드 필터
시간 범위와 함께 Lucene 또는 SQL 필터를 대시보드 수준에서 적용할 수 있으며, 이 설정은 모든 시각화에 자동으로 반영됩니다.예를 들어, Lucene 필터
ServiceName:"frontend"를 대시보드에 적용하고 시간 윈도우를 최근 3시간으로 변경하십시오. 이제 시각화에 frontend 서비스의 데이터만 반영되는 것을 확인할 수 있습니다.대시보드는 자동으로 저장됩니다. 대시보드 이름을 설정하려면 제목을 선택해 수정한 뒤 Save Name을 클릭하십시오.대시보드 - 시각화 편집
타일 표시 설정
숫자 타일 색상
의미론적 토큰(상태 기반):
숫자가 상태를 나타낼 때는 의미론적 토큰을 사용하십시오(예: 오류 수에는
chart-error, 정상 비율에는 chart-success). 상태를 암시하지 않으면서 관련 KPI 타일을 시각적으로 구분하려면 범주형 토큰을 사용하십시오.
이전 구성에는 legacy 숫자 토큰(chart-1부터 chart-10)이 저장되어 있을 수 있습니다. ClickStack은 대시보드를 로드할 때 이를 위의 색조 이름 토큰에 매핑합니다.
같은 팔레트는 동일한 드로어의 선택적 색상 규칙에도 사용됩니다. 색상 규칙은 표시된 값을 기준으로 순서대로 평가되는 조건이며, 마지막으로 일치한 규칙이 적용됩니다. 일치하는 규칙이 없으면 정적 색상이 적용되고, 그다음 기본 텍스트 색상이 적용됩니다.
숫자 타일 배경 차트
Dashboards API: 숫자 타일 색상
POST / PUT /api/v2/dashboards)를 통해 대시보드를 생성하거나 업데이트할 때는 builder 숫자 타일 구성의 color를 팔레트 토큰으로 설정하십시오. 원시 hex 값은 허용되지 않습니다.
color에는 위의 범주형 및 의미론적 목록에 있는 모든 토큰(예: chart-blue 또는 chart-success)을 사용할 수 있습니다. 선택 사항인 backgroundChart.color는 동일한 토큰 enum을 사용하여 스파크라인 색상을 재정의합니다. authentication 및 기준 URL은 ClickStack API 참조를 참조하십시오.
대시보드 - 목록 및 검색
대시보드 - 태그 지정
- 구성: 태그는 왼쪽 사이드바에 표시되며, 여기서 대시보드와 저장된 검색이 할당된 태그별로 그룹화됩니다
- 여러 태그: 더 세분화해 분류할 수 있도록 하나의 항목에 하나 이상의 태그를 추가할 수 있습니다
- 자동 생성: 아직 존재하지 않는 태그를 할당하면 해당 태그가 자동으로 생성됩니다
- 간편한 관리: 구성 체계를 조정할 수 있도록 언제든지 태그를 추가하거나 제거할 수 있습니다
사용자 지정 필터 및 변수
- Broadcast — 일치하는 타일에 선택 항목을 필터 조건으로 적용합니다. 타일에서 필터를 참조하도록 업데이트할 필요가 없습니다.
- Variable — 선택 항목을
$variableName으로 타일 쿼리에 노출하므로, 각 타일에서 값을 사용할 위치와 방법을 결정합니다.
1
필터 편집 대화상자 열기
저장된 대시보드를 열고 도구 모음에서 Edit Filters and Variables를 선택합니다.
2
새 필터 추가
Add new filter를 클릭합니다. Display Name을 입력하고, 데이터 소스를 선택하고, 필터 표현식(드롭다운을 채울 고유값을 가져오는 SQL 컬럼 또는 표현식)을 입력해 필터를 구성합니다. 그런 다음 Save filter를 클릭합니다.예를 들어, trace 데이터용 서비스 필터를 추가하려면
Traces 데이터 소스에서 ServiceName을 필터 표현식으로 사용합니다. “Dropdown values filter”는 선택 사항이며, 드롭다운에 표시할 값을 제한할 때 사용할 수 있습니다.같은 대화상자에서 필터가 값을 브로드캐스트할지와 변수로 사용할 수 있는지도 제어하며, 두 기능은 아래에서 설명합니다.Filters 모달에는 대시보드에 구성된 모든 필터가 표시됩니다. 여기에서 기존 필터를 편집하거나 삭제하고, 추가 필터를 더 만들 수 있습니다.3
필터 사용
Filters 모달을 닫습니다. 새 드롭다운 필터가 검색창 아래에 표시됩니다. 이를 클릭해 사용 가능한 값을 확인한 다음 하나를 선택하면 대시보드의 모든 시각화에 필터가 적용됩니다.
4
(선택 사항) 필터 값을 기본값으로 저장
필터 선택을 대시보드 기본값으로 유지하려면 대시보드 메뉴에서 Save Query & Filters as Default를 선택합니다. 그러면 이후 대시보드는 선택한 필터가 적용된 상태로 항상 열립니다. 재설정하려면 같은 메뉴에서 Remove Default Query & Filters를 선택합니다.
사용자 지정 드롭다운 필터는 저장된 대시보드에서 사용할 수 있습니다. 이 방식이 실제로 적용된 예시는 Kubernetes 대시보드를 참조하십시오. 이 대시보드에는 파드, 배포, 노드 이름, 네임스페이스, 클러스터용 기본 드롭다운 필터가 제공됩니다.
브로드캐스팅
$__filters 매크로를 포함하고 소스를 선택해야 합니다. ClickStack은 직접 작성한 쿼리에서 조건을 적용할 위치를 자동으로 추론할 수 없기 때문입니다.
변수
$variableName으로 사용할 수 있습니다. Variable name의 기본값은 필터 표시 이름에서 사용할 수 없는 문자를 제거한 값이며, 변경할 수 있습니다. 이름은 문자로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다.
WHERE 조건을 브로드캐스트하지 않으려는 경우 변수를 사용하십시오. 예를 들어 값을 SELECT 표현식, HAVING 절 또는 join key에 사용하거나, 필터 자체의 표현식이 아닌 다른 컬럼을 기준으로 타일을 필터링할 수 있습니다.
변수 참조
아무 항목도 선택되지 않은 상태에서는
$name이 NULL로 렌더링되므로, SQL 프레디케이트가 필요한 곳에서는 다음 매크로를 사용하는 것이 좋습니다. 두 매크로 모두 변수에 선택 항목이 없으면 1=1로 확장되므로 쿼리가 유효하게 유지됩니다.
차트 빌더 타일에서 변수 사용하기
SELECT 컬럼과 시리즈별 표현식, WHERE, GROUP BY, HAVING이 포함됩니다. 편집기는 대시보드 변수를 자동 완성하고, 현재 선택에 따라 각 참조가 어떻게 확장되는지 표시합니다.
SQL 모드에서는 변수 선택값이 비어 있어도 쿼리가 유효하게 유지되도록 $__filter 및 $__conditionalAll 매크로를 사용하는 것이 좋습니다. Lucene 입력에서는 매크로를 사용할 수 없으므로 대신 원시 변수를 참조하십시오(예: ServiceName:$service).
Lucene 입력에서는 변수 참조 자체를 따옴표로 묶는지 여부에 따라 다중 값 선택이 일치하는 방식이 달라집니다. $service에서 a,b를 선택한 경우:
선택한 값이 부분 문자열이 아니라
Field와 정확히 일치해야 하는 경우 변수 참조를 따옴표로 묶으십시오. 즉, Field:"$var" 형식을 사용합니다.
SQL 타일에서 변수 사용
대시보드 변수를 참조하는 타일의 알림은 대시보드에서 선택한 값이 아니라 모든 변수가 비어 있는 상태를 기준으로 평가됩니다.
Search로 드릴다운
- 모든 이벤트 보기 — 선택한 시간 범위의 모든 이벤트를 표시하는 Search 페이지로 이동합니다.
- 그룹으로 필터링 — 특정 시리즈로 필터링된 Search 페이지로 이동합니다.
프리셋
ClickHouse 대시보드
필수 시스템 테이블 액세스이 대시보드는 주요 메트릭을 표시하기 위해 ClickHouse 시스템 테이블을 조회합니다. 다음 권한이 필요합니다.
GRANT SHOW COLUMNS, SELECT(CurrentMetric_MemoryTracking, CurrentMetric_S3Requests, ProfileEvent_OSCPUVirtualTimeMicroseconds, ProfileEvent_OSReadChars, ProfileEvent_OSWriteChars, ProfileEvent_S3GetObject, ProfileEvent_S3ListObjects, ProfileEvent_S3PutObject, ProfileEvent_S3UploadPart, event_time) ON system.metric_logGRANT SHOW COLUMNS, SELECT(active, database, partition, rows, table) ON system.partsGRANT SHOW COLUMNS, SELECT(event_date, event_time, memory_usage, normalized_query_hash, query, query_duration_ms, query_kind, read_rows, tables, type, written_bytes, written_rows) ON system.query_logGRANT SHOW COLUMNS, SELECT(event_date, event_time, hostname, metric, value) ON system.transposed_metric_log