- 테이블: 데이터를 테이블 포맷으로 표시하는 가장 단순한 쿼리 유형입니다. 집계 함수를 포함한 단순한 쿼리와 복잡한 쿼리 모두에 두루 적합합니다.
- 로그: 로그용 쿼리를 작성하는 데 최적화되어 있습니다. 기본 설정이 적용된 Explore 뷰에서 가장 효과적입니다.
- 시계열: 시계열 쿼리를 작성할 때 가장 적합합니다. 전용 시간 컬럼을 선택하고 집계 함수를 추가할 수 있습니다.
- 트레이스: 트레이스를 검색하고 조회하는 데 최적화되어 있습니다. 기본 설정이 적용된 Explore 뷰에서 가장 효과적입니다.
- SQL Editor: 쿼리를 완전히 제어해야 할 때 SQL Editor를 사용할 수 있습니다. 이 모드에서는 모든 SQL 쿼리를 실행할 수 있습니다.
쿼리 유형
테이블
가장 유연한 쿼리 유형은 테이블 쿼리입니다. 이는 단순 쿼리와 집계 쿼리를 처리하도록 설계된 다른 쿼리 빌더를 모두 포괄하는 유형입니다.
이 쿼리 유형은 데이터를 테이블로 표시합니다.
로그
로그 쿼리 유형은 로그 데이터 쿼리에 특화된 쿼리 빌더를 제공합니다. 기본값은 데이터 소스의 로그 구성에서 설정할 수 있으며, 이를 통해 쿼리 빌더를 기본 데이터베이스/테이블과 컬럼으로 미리 채울 수 있습니다. 또한 OpenTelemetry를 활성화하면 스키마 버전에 따라 컬럼을 자동으로 선택할 수 있습니다. 기본적으로 Time 및 Level 필터가 추가되며, Time 컬럼에 대한 ORDER BY도 함께 추가됩니다. 이 필터는 각각 해당 필드와 연결되어 있으며, 컬럼이 변경되면 함께 업데이트됩니다. 기본적으로 Level 필터는 SQL에서 제외되며,IS ANYTHING 옵션을 다른 값으로 변경하면 활성화됩니다.
로그 쿼리 유형은 데이터 링크를 지원합니다.
이 쿼리 유형은 데이터를 로그 패널에 렌더링하고, 상단에는 로그 히스토그램 패널도 함께 표시합니다. 쿼리에서 선택한 추가 컬럼은 확장된 로그 행에서 확인할 수 있습니다:
시계열
- 전용 Time 필드가 있습니다.
- Aggregate 모드에서는 Time 필드에 대한 Group By와 함께 시간 인터벌 매크로가 자동으로 적용됩니다.
- Aggregate 모드에서는 “Columns” 필드가 숨겨집니다.
- Time 필드에는 시간 범위 필터와 Order By가 자동으로 추가됩니다.
이 쿼리 유형은 데이터를 시계열 패널로 표시합니다.
트레이스
트레이스 쿼리 유형은 트레이스를 쉽게 검색하고 확인할 수 있도록 쿼리 빌더를 제공합니다. 이 기능은 OpenTelemetry 데이터용으로 설계되었지만, 다른 스키마의 트레이스를 표시하도록 컬럼을 선택할 수도 있습니다. 기본값은 데이터 소스의 트레이스 구성에서 설정할 수 있으며, 이를 통해 쿼리 빌더를 기본 데이터베이스/테이블 및 컬럼으로 미리 채울 수 있습니다. 기본값이 설정되어 있으면 컬럼 선택은 기본적으로 접힌 상태로 표시됩니다. 또한 OpenTelemetry를 활성화하여 스키마 버전에 따라 컬럼을 자동 선택할 수도 있습니다. 기본 필터는 최상위 스팬만 표시하도록 추가됩니다. Time 및 Duration Time 컬럼에 대한 ORDER BY도 함께 포함됩니다. 이 필터는 각각 해당 필드에 연결되어 있으므로, 컬럼이 변경되면 함께 업데이트됩니다. Service Name 필터는 기본적으로 SQL에서 제외되며,IS ANYTHING 옵션이 아닌 다른 값으로 변경하면 활성화됩니다.
트레이스 쿼리 유형은 데이터 링크를 지원합니다.
이 쿼리 유형은 Trace Search 모드에서는 데이터를 테이블 뷰로, Trace ID 모드에서는 트레이스 패널로 표시합니다.
SQL Editor
쿼리 빌더로 처리하기에 너무 복잡한 쿼리의 경우 SQL Editor를 사용할 수 있습니다. 이 모드에서는 ClickHouse SQL을 직접 작성하고 실행할 수 있어 쿼리를 완전히 제어할 수 있습니다. 쿼리 편집기 상단에서 “SQL Editor”를 선택하면 SQL Editor를 열 수 있습니다. 이 모드에서도 매크로 함수를 사용할 수 있습니다. 쿼리에 가장 적합한 시각화를 표시하도록 쿼리 유형을 전환할 수 있습니다. 이 전환은 대시보드 보기에도 영향을 주며, 특히 시계열 데이터에서 두드러집니다.데이터 링크
Grafana의 데이터 링크를 사용해 새 쿼리로 연결할 수 있습니다. 이 기능은 트레이스를 로그에 연결하고, 반대로 로그에서 트레이스로 연결할 수 있도록 ClickHouse 플러그인에서 활성화되어 있습니다. 데이터 소스의 구성에서 로그와 트레이스 모두에 대해 OpenTelemetry를 구성하면 가장 효과적으로 작동합니다.테이블의 트레이스 링크 예시
로그의 트레이스 링크 예시
데이터 링크 만들기
traceID라는 이름의 컬럼을 선택하면 데이터 링크를 만들 수 있습니다. 이 이름은 대소문자를 구분하지 않으며, “ID” 앞에 밑줄을 추가하는 것도 허용됩니다. 예시: traceId, TraceId, TRACE_ID, tracE_iD는 모두 유효한 이름입니다.
로그 또는 트레이스 쿼리에서 OpenTelemetry가 활성화되어 있으면 트레이스 ID 컬럼이 자동으로 포함됩니다.
트레이스 ID 컬럼이 있으면 플러그인이 데이터에 “트레이스 보기” 및 “로그 보기” 링크를 추가할 수 있습니다.
토글은 기본적으로 활성화되어 있습니다. 현재 쿼리 유형의 링크에는 기본값을 구성할 필요가 없지만, 교차 신호 링크는 데이터 소스에 대상 신호의 기본값이 구성된 경우에만 표시됩니다. 데이터 소스의 트레이스 및 로그 구성 섹션에 있는 “트레이스 보기” 링크 표시 및 “로그 보기” 링크 표시 토글로 이를 숨길 수 있습니다.
링크 기능
데이터 링크가 있으면 제공된 트레이스 ID를 사용해 트레이스와 로그를 열 수 있습니다. “트레이스 보기”를 클릭하면 트레이스가 분할 패널로 열리고, “로그 보기”를 클릭하면 트레이스 ID로 필터링된 로그 쿼리가 열립니다. 링크를 Explore 뷰가 아니라 대시보드에서 클릭한 경우에는 Explore 뷰의 새 탭에서 링크가 열립니다. 쿼리 유형을 서로 전환할 때(로그에서 트레이스로, 트레이스에서 로그로) 로그와 트레이스 모두에 대한 기본값이 구성되어 있어야 합니다. 동일한 쿼리 유형의 링크를 열 때는 쿼리를 그대로 복사하면 되므로 기본값이 필요하지 않습니다.로그 쿼리(왼쪽 패널)에서 트레이스(오른쪽 패널)를 보는 예시
매크로
매크로 사용
$__timeFilter 매크로 사용 예시입니다:
입력:
log_time 컬럼에 적용됩니다.
플러그인은 중괄호 {}를 사용하는 표기법도 지원합니다. 매개변수 내에서 쿼리가 필요한 경우 이 표기법을 사용하세요.