자가 관리형 모니터링
이 가이드는 ClickHouse 오픈 소스 버전을 평가하는 엔터프라이즈 팀을 대상으로, 프로덕션 배포 환경에서 필요한 모니터링 및 관측성(observability) 기능에 대한 포괄적인 정보를 제공합니다. 엔터프라이즈 고객은 기본 제공 모니터링 기능, Datadog 및 AWS CloudWatch와 같은 도구를 포함한 기존 관측성(observability) 스택과의 통합 방법, 그리고 ClickHouse의 모니터링이 자가 관리형 배포와 어떻게 비교되는지에 대해 자주 문의합니다.
Prometheus 기반 통합 아키텍처
ClickHouse는 배포 방식에 따라 서로 다른 엔드포인트를 통해 Prometheus 호환 메트릭을 노출하며, 각 방식은 고유한 운영 특성을 가집니다:
자가 관리형/OSS ClickHouse
표준 /metrics 엔드포인트를 통해 ClickHouse 서버에 직접 접근할 수 있는 Prometheus 엔드포인트를 제공합니다. 이 방식은 다음과 같은 이점을 제공합니다:
- 완전한 메트릭 노출: 내장 필터링 없이 사용 가능한 ClickHouse 메트릭 전체 범위 제공
- 실시간 메트릭: 스크레이핑 시 시스템 테이블에서 직접 생성
직접 시스템 접근
운영 시스템 테이블에 대한 쿼리를 수행하므로 모니터링 부하가 증가하고, 비용 절감을 위한 유휴 상태 전환을 방해합니다
통합 예시
외부 통합을 사용하면 조직은 기존에 구축한 모니터링 워크플로를 유지하면서 익숙한 도구에 대한 팀의 전문성을 그대로 활용하고, 현재 프로세스를 방해하거나 과도한 재교육 비용을 들이지 않고도 ClickHouse 모니터링을 더 넓은 인프라 관측성과 통합할 수 있습니다. 팀은 기존의 알림 규칙과 에스컬레이션 절차를 ClickHouse 메트릭에 적용하는 한편, 통합된 관측성 플랫폼 내에서 데이터베이스 성능을 애플리케이션 및 인프라 상태와 연관 지을 수 있습니다. 이러한 접근 방식은 현재 모니터링 구성에 대한 투자 수익률(ROI)을 극대화하고, 통합 대시보드와 익숙한 도구 인터페이스를 통해 문제 해결 속도를 높이는 데 도움이 됩니다.
Grafana Cloud 모니터링
Grafana는 직접 플러그인 통합과 Prometheus 기반 방식을 통해 ClickHouse 모니터링을 제공합니다. Prometheus 엔드포인트 통합은 모니터링 워크로드와 프로덕션 워크로드 간의 운영 상의 분리를 유지하면서, 기존 Grafana Cloud 인프라 내에서 시각화를 가능하게 합니다. 구성 방법은 Grafana의 ClickHouse 문서를 참고하십시오.
Datadog 모니터링
Datadog은 서비스의 유휴(idle) 상태 동작을 고려하면서 적절한 Cloud 서비스 모니터링을 제공하는 전용 API 통합을 개발 중입니다. 그동안에는 운영 분리와 비용 효율적인 모니터링을 위해 ClickHouse Prometheus 엔드포인트를 활용한 OpenMetrics 통합 방식을 사용할 수 있습니다. 구성에 대한 안내는 Datadog의 Prometheus 및 OpenMetrics 통합 문서를 참고하십시오.
ClickStack
ClickStack는 시스템 심층 분석과 디버깅을 위한 ClickHouse 권장 관측성 솔루션으로, ClickHouse를 스토리지 엔진으로 사용하는 로그, 메트릭, 트레이스를 위한 통합 플랫폼을 제공합니다. 이 방식은 ClickStack UI인 HyperDX가 ClickHouse 인스턴스 내부의 시스템 테이블에 직접 연결하는 것에 기반합니다. HyperDX는 Selects, Inserts, Infrastructure 탭을 포함하는 ClickHouse 중심 대시보드를 기본으로 제공합니다. 팀은 Lucene 또는 SQL 구문을 사용하여 시스템 테이블과 로그를 검색할 수 있으며, Chart Explorer를 통해 맞춤형 시각화를 생성하여 상세한 시스템 분석을 수행할 수 있습니다. 이 방식은 실시간 운영 환경 알림보다는 복잡한 문제 디버깅, 성능 분석, 심층적인 시스템 내부 분석에 적합합니다.
HyperDX가 시스템 테이블을 직접 쿼리하므로 이 방식은 유휴 상태의 서비스도 활성화될 수 있습니다.
ClickStack 배포 옵션
- Helm: Kubernetes 기반 디버깅 환경에서 사용하는 것을 권장합니다.
values.yaml을 통해 환경별 구성, 리소스 제한, 스케일링을 설정할 수 있습니다. - Docker Compose: 각 구성 요소(ClickHouse, HyperDX, OTel collector, MongoDB)를 개별적으로 배포합니다.
- HyperDX Only: 단독 HyperDX 컨테이너입니다.
전체 배포 옵션과 아키텍처에 대한 자세한 내용은 ClickStack 문서와 데이터 수집 가이드를 참조하십시오.
Grafana 플러그인 직접 통합
Grafana용 ClickHouse 데이터 소스 플러그인은 system 테이블을 활용하여 ClickHouse의 데이터를 직접 시각화하고 탐색할 수 있게 해줍니다. 이 방식은 성능을 모니터링하고 상세한 시스템 분석을 위한 사용자 정의 대시보드를 만드는 데 적합합니다. 플러그인 설치 및 구성에 대한 자세한 내용은 ClickHouse data source plugin을 참조하십시오. 미리 구성된 대시보드와 알림 규칙이 포함된 Prometheus-Grafana mix-in을 사용하여 완전한 모니터링 구성을 설정하는 방법은 Monitor ClickHouse with the new Prometheus-Grafana mix-in을 참조하십시오.
Datadog 직접 통합
Datadog은 에이전트용 ClickHouse Monitoring 플러그인을 제공하며, 이 플러그인은 시스템 테이블을 직접 조회합니다. 이 통합 방식은 clusterAllReplicas 기능을 통해 클러스터 인지 기능(cluster awareness)을 포함한 포괄적인 데이터베이스 모니터링을 제공합니다.
이 통합 방식은 비용 최적화를 위한 유휴 상태 동작과 Cloud 프록시 계층의 운영상 제약으로 인해 호환되지 않으므로, ClickHouse Cloud 배포 환경에서는 권장되지 않습니다.
시스템 테이블을 직접 사용하기
특히 system.query_log와 같은 ClickHouse 시스템 테이블에 연결해 직접 쿼리하면 쿼리 성능을 심층적으로 분석할 수 있습니다. SQL 콘솔이나 clickhouse client를 사용하여 느린 쿼리를 식별하고, 리소스 사용량을 분석하며, 조직 전체의 사용 패턴을 추적할 수 있습니다.
쿼리 성능 분석(Query Performance Analysis)
시스템 테이블의 쿼리 로그를 사용하여 쿼리 성능 분석(Query Performance Analysis)을 수행할 수 있습니다.
예제 쿼리: 클러스터의 모든 레플리카에서 오래 실행되는 쿼리 상위 5개를 조회:
커뮤니티 모니터링 솔루션
ClickHouse 커뮤니티에서는 인기 있는 관측성 스택과 통합되는 종합적인 모니터링 솔루션을 개발했습니다. ClickHouse Monitoring은 미리 구성된 대시보드를 포함한 완전한 모니터링 환경을 제공합니다. 이 오픈 소스 프로젝트는 검증된 모범 사례와 대시보드 구성을 기반으로 ClickHouse 모니터링을 도입하려는 팀을 위한 빠르게 시작할 수 있는 방법을 제공합니다.
다른 데이터베이스 직접 모니터링 방식과 마찬가지로, 이 솔루션은 ClickHouse 시스템 테이블을 직접 쿼리하므로 인스턴스가 유휴 상태가 되는 것을 방지하고, 그 결과 비용 최적화에 영향을 줄 수 있습니다.