본문으로 바로가기
본문으로 바로가기

ClickStack 기반 시각화 및 대시보드

ClickStack는 이벤트 시각화를 지원하며, ClickStack UI(HyperDX)에 차트 작성 기능이 기본 제공됩니다. 이러한 차트는 대시보드에 추가하여 다른 사용자와 공유할 수 있습니다.

시각화는 트레이스, 메트릭, 로그 또는 사용자 정의 와이드 이벤트 스키마를 기반으로 생성할 수 있습니다.

시각화 생성하기

HyperDX의 Chart Explorer 인터페이스를 사용하면 메트릭, 트레이스, 로그를 시간 흐름에 따라 시각화하여 데이터 분석을 위한 빠른 시각화를 쉽게 만들 수 있습니다. 이 인터페이스는 대시보드를 만들 때에도 재사용됩니다. 다음 섹션에서는 Chart Explorer를 사용해 시각화를 만드는 과정을 단계별로 설명합니다.

각 시각화는 데이터 소스를 선택하는 것에서 시작하여, 그 다음 메트릭을 선택하고, 선택적으로 필터 표현식GROUP BY 필드를 설정합니다. 개념적으로 HyperDX의 시각화는 내부적으로 SQL GROUP BY 쿼리에 매핑됩니다. 사용자는 선택한 차원 전반에 걸쳐 집계할 메트릭을 정의합니다.

예를 들어, 서비스 이름별로 그룹화된 에러 개수(count())를 차트로 표시할 수 있습니다.

아래 예제에서는 "Remote Demo Dataset" 가이드에서 설명하는 sql.clickhouse.com의 원격 데이터셋을 사용합니다. play-clickstack.clickhouse.com에 접속하여 이 예제를 재현할 수도 있습니다.

왼쪽 메뉴에서 Chart Explorer를 선택합니다.

Chart Explorer

시각화 생성

아래 예제에서는 서비스 이름별로 시간에 따른 평균 요청 지연 시간을 차트로 표시합니다. 이를 위해 메트릭, 컬럼(SQL 표현식일 수도 있음), 집계 필드를 지정해야 합니다.

상단 메뉴에서 Line/Bar 시각화 유형을 선택한 다음, Traces(또는 play-clickstack.clickhouse.com을 사용하는 경우 Demo Traces) 데이터셋을 선택합니다. 다음 값을 입력합니다:

  • Metric: Average
  • Column: Duration/1000
  • Where: <empty>
  • Group By: ServiceName
  • Alias: Average Time
단순 시각화

SQL WHERE 절 또는 Lucene 문법을 사용해 이벤트를 필터링할 수 있으며, 이벤트를 시각화할 시간 범위를 설정할 수 있습니다. 여러 시리즈도 지원됩니다.

예를 들어, 필터 ServiceName:"frontend"를 추가하여 서비스 frontend로 필터링합니다. Add Series를 클릭하여 Count라는 별칭을 가진, 시간에 따른 이벤트 개수 시리즈를 두 번째 시리즈로 추가합니다.

단순 시각화 2
참고

시각화는 메트릭, 트레이스, 로그 등 어떤 데이터 소스에서든 생성할 수 있습니다. ClickStack은 이 모든 데이터를 와이드 이벤트(wide event)로 취급합니다. 숫자형 컬럼은 시간에 따른 차트로 표시할 수 있으며, 문자열, 날짜, 숫자형 컬럼은 그룹화에 사용할 수 있습니다.

이 통합된 방식 덕분에 일관되고 유연한 모델을 활용하여 다양한 텔레메트리 유형 전반에 걸친 대시보드를 구축할 수 있습니다.

대시보드 생성

대시보드는 관련 시각화를 그룹화하여 메트릭을 비교하고 패턴을 나란히 탐색하면서 시스템의 잠재적인 근본 원인을 식별할 수 있는 수단을 제공합니다. 이러한 대시보드는 애드혹(ad-hoc) 조사를 위해 사용하거나, 지속적인 모니터링을 위해 저장해 둘 수 있습니다.

전역 필터는 대시보드 수준에서 적용할 수 있으며, 해당 대시보드 내 모든 시각화에 자동으로 전파됩니다. 이를 통해 차트 전반에서 일관된 드릴다운이 가능해지고, 서비스 및 텔레메트리 타입 간 이벤트 상관관계 분석이 단순해집니다.

아래에서는 로그와 트레이스 데이터 소스를 사용해 두 개의 시각화가 포함된 대시보드를 생성합니다. 이 단계는 play-clickstack.clickhouse.com에서 그대로 따라 하거나, 가이드 "Remote Demo Dataset"에 설명된 대로 sql.clickhouse.com에 호스팅된 데이터셋에 로컬에서 연결해 재현할 수 있습니다.

왼쪽 메뉴에서 Dashboards를 선택합니다.

대시보드 생성

기본적으로 대시보드는 애드혹(ad-hoc) 조사를 지원하기 위해 임시로 생성됩니다.

자체 HyperDX 인스턴스를 사용하는 경우 Create New Saved Dashboard를 클릭해 이 대시보드를 나중에 저장할 수 있도록 설정할 수 있습니다. 읽기 전용 환경인 play-clickstack.clickhouse.com을 사용하는 경우에는 이 옵션을 사용할 수 없습니다.

시각화 생성 – 서비스별 평균 요청 시간

시각화 생성 패널을 열기 위해 Add New Tile을 선택합니다.

상단 메뉴에서 Line/Bar 시각화 타입을 선택한 뒤, Traces (또는 play-clickstack.clickhouse.com을 사용하는 경우 Demo Traces) 데이터셋을 선택합니다. 이후 아래 값을 설정해 서비스 이름별 평균 요청 지속 시간을 시간 경과에 따라 표시하는 차트를 생성합니다:

  • Chart Name: Average duration by service
  • Metric: Average
  • Column: Duration/1000
  • Where: <empty>
  • Group By: ServiceName
  • Alias: Average Time

Save를 클릭하기 전에 재생(play) 버튼을 클릭합니다.

대시보드 시각화 생성

시각화의 크기를 조정하여 대시보드의 전체 너비를 차지하도록 합니다.

시각화가 포함된 대시보드

시각화 생성 – 서비스별 시간 경과에 따른 이벤트

시각화 생성 패널을 열기 위해 Add New Tile을 선택합니다.

상단 메뉴에서 Line/Bar 시각화 타입을 선택한 뒤, Logs (또는 play-clickstack.clickhouse.com을 사용하는 경우 Demo Logs) 데이터셋을 선택합니다. 이후 아래 값을 설정해 서비스 이름별 시간 경과에 따른 이벤트 개수를 표시하는 차트를 생성합니다:

  • Chart Name: Event count by service
  • Metric: Count of Events
  • Where: <empty>
  • Group By: ServiceName
  • Alias: Count of events

Save를 클릭하기 전에 재생(play) 버튼을 클릭합니다.

대시보드 시각화 2

시각화의 크기를 조정하여 대시보드의 전체 너비를 차지하도록 합니다.

시각화가 포함된 대시보드 2

대시보드 필터링

Lucene 또는 SQL 필터와 시간 범위는 대시보드 수준에서 적용할 수 있으며, 모든 시각화에 자동으로 전파됩니다.

필터가 적용된 대시보드

예시로, 대시보드에 Lucene 필터 ServiceName:"frontend"를 적용하고 시간 범위를 최근 3시간(Last 3 hours)으로 변경합니다. 그러면 시각화에는 이제 frontend 서비스의 데이터만 표시됩니다.

대시보드는 자동으로 저장됩니다. 대시보드 이름을 설정하려면 제목을 선택한 후 수정한 다음 Save Name을 클릭합니다.

대시보드 저장

대시보드 - 시각화 편집

시각화를 삭제, 편집 또는 복제하려면 시각화 위에 커서를 올린 후 표시되는 작업 버튼을 사용하십시오.

Dashboard edit

대시보드는 왼쪽 메뉴에서 열 수 있고, 내장 검색 기능을 통해 특정 대시보드를 빠르게 찾을 수 있습니다.

Dashboard search

대시보드 - 태그 지정

대시보드와 저장된 검색에 태그를 추가하면 보다 체계적으로 관리할 수 있습니다. 태그는 필요에 따라 분류하고 필터링할 수 있도록 해 주는 유연한 수단입니다.

태그의 동작 방식

  • 정리: 태그는 왼쪽 사이드바에 표시되며, 대시보드와 저장된 검색은 지정된 태그별로 그룹화됩니다.
  • 다중 태그: 더 나은 분류를 위해 하나의 항목에 하나 이상의 태그를 추가할 수 있습니다.
  • 자동 생성: 아직 존재하지 않는 태그를 지정하면 태그가 자동으로 생성됩니다.
  • 간편한 관리: 정리 구조를 조정할 수 있도록 언제든지 태그를 추가하거나 제거할 수 있습니다.

이를 통해 관련 항목을 쉽게 찾고, 수집된 항목이 늘어나더라도 정돈된 작업 공간을 유지할 수 있습니다.

저장된 검색에서의 태그

여러 태그를 선택해 서로 다른 범주의 항목을 필터링하고 조회할 수도 있습니다:

대시보드에서 선택된 여러 태그

사전 설정

HyperDX는 기본 대시보드를 포함해 배포됩니다.

ClickHouse 대시보드

이 대시보드는 ClickHouse 모니터링을 위한 시각화를 제공합니다. 이 대시보드로 이동하려면 왼쪽 메뉴에서 선택하면 됩니다.

ClickHouse 대시보드

이 대시보드는 탭을 사용하여 Selects, Inserts, ClickHouse Infrastructure별 모니터링을 구분합니다.

필수 시스템 테이블 접근 권한

이 대시보드는 핵심 메트릭을 표시하기 위해 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_log

GRANT SHOW COLUMNS, SELECT(active, database, partition, rows, table) ON system.parts

GRANT 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_log

GRANT SHOW COLUMNS, SELECT(event_date, event_time, hostname, metric, value) ON system.transposed_metric_log

Services 대시보드

Services 대시보드는 트레이스 데이터를 기반으로 현재 활성화된 서비스를 표시합니다. 이를 위해서는 트레이스를 수집하고 유효한 Traces 데이터 소스를 구성해야 합니다.

서비스 이름은 트레이스 데이터에서 자동으로 감지되며, HTTP Services, Database, Errors 세 가지 탭에 걸쳐 사전 정의된 여러 시각화를 제공합니다.

시각화는 Lucene 또는 SQL 문법을 사용해 필터링할 수 있으며, 집중 분석을 위해 시간 범위를 조정할 수 있습니다.

ClickHouse services

Kubernetes 대시보드

이 대시보드는 OpenTelemetry를 통해 수집된 Kubernetes 이벤트를 탐색할 수 있습니다. Kubernetes 파드, 배포, 노드 이름, 네임스페이스, 클러스터별로 필터링할 수 있는 고급 필터 옵션과 자유 형식 텍스트 검색 기능을 제공합니다.

Kubernetes 데이터는 쉽게 탐색할 수 있도록 파드, 노드, 네임스페이스 세 개의 탭으로 구성됩니다.

ClickHouse Kubernetes