ClickHouse 플러그인에서는 모든 쿼리를 실행할 수 있습니다.
쿼리 빌더는 간단한 쿼리에는 편리하지만, 복잡한 쿼리에는 SQL Editor를 사용해야 합니다.
쿼리 빌더의 모든 쿼리에는 쿼리 유형이 있으며, 최소 1개의 컬럼을 선택해야 합니다.
사용 가능한 쿼리 유형은 다음과 같습니다.
- 테이블: 데이터를 테이블 포맷으로 표시하는 가장 단순한 쿼리 유형입니다. 집계 함수를 포함한 단순한 쿼리와 복잡한 쿼리 모두에 두루 적합합니다.
- 로그: 로그용 쿼리를 작성하는 데 최적화되어 있습니다. 기본 설정이 적용된 Explore 뷰에서 가장 효과적입니다.
- 시계열: 시계열 쿼리를 작성할 때 가장 적합합니다. 전용 시간 컬럼을 선택하고 집계 함수를 추가할 수 있습니다.
- 트레이스: 트레이스를 검색하고 조회하는 데 최적화되어 있습니다. 기본 설정이 적용된 Explore 뷰에서 가장 효과적입니다.
- SQL Editor: 쿼리를 완전히 제어해야 할 때 SQL Editor를 사용할 수 있습니다. 이 모드에서는 모든 SQL 쿼리를 실행할 수 있습니다.
Query Type 설정은 현재 작성 중인 쿼리 유형에 맞게 쿼리 빌더의 레이아웃을 변경합니다.
또한 쿼리 유형에 따라 데이터를 시각화할 때 사용할 패널도 결정됩니다.
가장 유연한 쿼리 유형은 테이블 쿼리입니다. 이는 단순 쿼리와 집계 쿼리를 처리하도록 설계된 다른 쿼리 빌더를 모두 포괄하는 유형입니다.
이 쿼리 유형은 데이터를 테이블로 표시합니다.
로그 쿼리 유형은 로그 데이터 쿼리에 특화된 쿼리 빌더를 제공합니다.
기본값은 데이터 소스의 로그 구성에서 설정할 수 있으며, 이를 통해 쿼리 빌더를 기본 데이터베이스/테이블과 컬럼으로 미리 채울 수 있습니다.
또한 OpenTelemetry를 활성화하면 스키마 버전에 따라 컬럼을 자동으로 선택할 수 있습니다.
기본적으로 Time 및 Level 필터가 추가되며, Time 컬럼에 대한 ORDER BY도 함께 추가됩니다.
이 필터는 각각 해당 필드와 연결되어 있으며, 컬럼이 변경되면 함께 업데이트됩니다.
기본적으로 Level 필터는 SQL에서 제외되며, IS ANYTHING 옵션을 다른 값으로 변경하면 활성화됩니다.
로그 쿼리 유형은 데이터 링크를 지원합니다.
이 쿼리 유형은 데이터를 로그 패널에 렌더링하고, 상단에는 로그 히스토그램 패널도 함께 표시합니다.
쿼리에서 선택한 추가 컬럼은 확장된 로그 행에서 확인할 수 있습니다:
시계열 쿼리 유형은 table과 비슷하지만, 시계열 데이터에 더 중점을 둡니다.
두 뷰는 대부분 동일하지만, 다음과 같은 눈에 띄는 차이점이 있습니다:
- 전용 Time 필드가 있습니다.
- Aggregate 모드에서는 Time 필드에 대한 Group By와 함께 시간 인터벌 매크로가 자동으로 적용됩니다.
- Aggregate 모드에서는 “Columns” 필드가 숨겨집니다.
- Time 필드에는 시간 범위 필터와 Order By가 자동으로 추가됩니다.
시각화에 데이터가 누락되어 있습니까?경우에 따라 시계열 패널이 잘린 것처럼 보일 수 있는데, 이는 limit의 기본값이 1000이기 때문입니다.LIMIT 절을 0으로 설정해 제거해 보십시오(데이터셋에서 허용하는 경우).
이 쿼리 유형은 데이터를 시계열 패널로 표시합니다.
트레이스 쿼리 유형은 트레이스를 쉽게 검색하고 확인할 수 있도록 쿼리 빌더를 제공합니다.
이 기능은 OpenTelemetry 데이터용으로 설계되었지만, 다른 스키마의 트레이스를 표시하도록 컬럼을 선택할 수도 있습니다.
기본값은 데이터 소스의 트레이스 구성에서 설정할 수 있으며, 이를 통해 쿼리 빌더를 기본 데이터베이스/테이블 및 컬럼으로 미리 채울 수 있습니다. 기본값이 설정되어 있으면 컬럼 선택은 기본적으로 접힌 상태로 표시됩니다.
또한 OpenTelemetry를 활성화하여 스키마 버전에 따라 컬럼을 자동 선택할 수도 있습니다.
기본 필터는 최상위 스팬만 표시하도록 추가됩니다.
Time 및 Duration Time 컬럼에 대한 ORDER BY도 함께 포함됩니다.
이 필터는 각각 해당 필드에 연결되어 있으므로, 컬럼이 변경되면 함께 업데이트됩니다.
Service Name 필터는 기본적으로 SQL에서 제외되며, IS ANYTHING 옵션이 아닌 다른 값으로 변경하면 활성화됩니다.
트레이스 쿼리 유형은 데이터 링크를 지원합니다.
이 쿼리 유형은 Trace Search 모드에서는 데이터를 테이블 뷰로, Trace ID 모드에서는 트레이스 패널로 표시합니다.
쿼리 빌더로 처리하기에 너무 복잡한 쿼리의 경우 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 뷰의 새 탭에서 링크가 열립니다.
쿼리 유형을 서로 전환할 때(로그에서 트레이스로, 트레이스에서 로그로) logs와 traces 모두에 대한 기본값이 구성되어 있어야 합니다. 동일한 쿼리 유형의 링크를 열 때는 쿼리를 그대로 복사하면 되므로 기본값이 필요하지 않습니다.
로그 쿼리(왼쪽 패널)에서 트레이스(오른쪽 패널)를 보는 예시
매크로는 쿼리에 동적 SQL을 추가하는 간단한 방법입니다.
쿼리가 ClickHouse 서버로 전송되기 전에 플러그인이 매크로를 확장하여 전체 표현식으로 대체합니다.
SQL Editor와 Query Builder에서 작성한 쿼리 모두 매크로를 사용할 수 있습니다.
매크로는 쿼리의 어느 위치에든 포함할 수 있으며, 필요에 따라 여러 번 사용할 수도 있습니다.
다음은 $__timeFilter 매크로 사용 예시입니다:
입력:
최종 쿼리 결과:
이 예시에서는 Grafana 대시보드의 시간 범위가 log_time 컬럼에 적용됩니다.
플러그인은 중괄호 {}를 사용하는 표기법도 지원합니다. 매개변수 내에서 쿼리가 필요한 경우 이 표기법을 사용하세요.
다음은 플러그인에서 사용할 수 있는 모든 매크로 목록입니다.