Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickHouse의 system 데이터베이스 쿼리하기

모든 ClickHouse 인스턴스에는 system 데이터베이스에 포함된 시스템 테이블 집합이 있으며, 여기에는 다음과 같은 정보가 담겨 있습니다.

  • 서버 상태, 프로세스 및 환경
  • 서버 내부 프로세스
  • ClickHouse 바이너리를 빌드할 때 사용된 옵션

이러한 테이블을 직접 쿼리하면 ClickHouse 배포를 모니터링하는 데 유용하며, 특히 심층적인 내부 검사와 디버깅에 도움이 됩니다.

ClickHouse Cloud 콘솔 사용하기

ClickHouse Cloud 콘솔에는 시스템 테이블을 쿼리할 때 사용할 수 있는 SQL 콘솔대시보드 도구가 함께 제공됩니다. 예를 들어, 아래 쿼리는 지난 2시간 동안 새 파트가 얼마나 많이, 그리고 얼마나 자주 생성되었는지 보여줍니다:

SELECT
    count() AS new_parts,
    toStartOfMinute(event_time) AS modification_time_m,
    table,
    sum(rows) AS total_written_rows,
    formatReadableSize(sum(size_in_bytes)) AS total_bytes_on_disk
FROM clusterAllReplicas(default, system.part_log)
WHERE (event_type = 'NewPart') AND (event_time > (now() - toIntervalHour(2)))
GROUP BY
    modification_time_m,
    table
ORDER BY
    modification_time_m ASC,
    table DESC

기본 제공 고급 관측성 대시보드

ClickHouse에는 $HOST:$PORT/dashboard에서 접근할 수 있는 기본 제공 고급 관측성 대시보드 기능이 있으며(사용자 이름과 비밀번호 필요), system.dashboards에 포함된 Cloud Overview 메트릭을 표시합니다.

네이티브 고급 관측성 대시보드

사용 가능한 시각화와 이를 문제 해결에 활용하는 방법에 관한 자세한 내용은 고급 대시보드 문서를 참조하십시오.

노드와 버전 전반에서 쿼리하기

전체 cluster를 종합적으로 살펴보려면 clusterAllReplicas 함수를 merge 함수와 함께 사용할 수 있습니다. clusterAllReplicas 함수는 "default" cluster 내 모든 레플리카의 시스템 테이블을 쿼리할 수 있게 해 주며, 노드별 데이터를 하나의 결과로 통합합니다. 여기에 merge 함수를 함께 사용하면 cluster에서 특정 table과 관련된 모든 system data를 대상으로 쿼리할 수 있습니다.

예를 들어, 지난 1시간 동안 모든 레플리카에서 가장 오래 실행된 쿼리 상위 5개를 찾으려면 다음과 같습니다.

SELECT
    type,
    event_time,
    query_duration_ms,
    query,
    read_rows,
    tables
FROM clusterAllReplicas(default, system.query_log)
WHERE event_time >= (now() - toIntervalMinute(60)) AND type = 'QueryFinish'
ORDER BY query_duration_ms DESC
LIMIT 5
FORMAT VERTICAL

이 방식은 클러스터 전반의 작업을 모니터링하고 디버깅하는 데 특히 유용하며, 사용자가 ClickHouse Cloud 배포 환경의 상태와 성능을 효과적으로 분석할 수 있도록 합니다.

자세한 내용은 노드 간 쿼리를 참조하십시오.

시스템 관련 고려 사항

운영 환경과 분리된 실시간 프로덕션 모니터링이 필요하다면 Prometheus-compatible metrics endpoint 또는 Cloud Console dashboards를 사용하는 것을 고려하십시오. 둘 다 미리 스크레이프된 메트릭을 사용하므로, 기본 서비스에 쿼리를 실행하지 않습니다.

Navigation