클라우드 모니터링

클라우드 모니터링 (Cloud monitoring)

ClickHouse Cloud의 모니터링 및 옵저버빌리티 기능을 프로덕션 배포 관점에서 소개하는 가이드예요.

출처: 문서

본문

이 가이드는 ClickHouse Cloud를 평가하는 엔터프라이즈 팀에게 프로덕션 배포용 모니터링 및 옵저버빌리티 기능에 대한 종합적인 정보를 제공해요. 엔터프라이즈 고객은 종종 기본 제공 모니터링 기능, Datadog와 AWS CloudWatch 같은 도구를 포함한 기존 옵저버빌리티 스택과의 통합, 그리고 ClickHouse 모니터링이 자체 호스팅 배포와 어떻게 비교되는지에 대해 묻곤 해요.

고급 옵저버빌리티 대시보드

ClickHouse Cloud는 Monitoring 섹션을 통해 접근할 수 있는 내장 대시보드 인터페이스를 통해 종합적인 모니터링을 제공해요. 이 대시보드들은 추가 설정 없이 실시간으로 시스템과 성능 메트릭을 시각화하며, ClickHouse Cloud 내 실시간 프로덕션 모니터링의 주요 도구로 기능해요.

  • 고급 대시보드 (Advanced Dashboard): Monitoring → Advanced dashboard로 접근하는 메인 대시보드 인터페이스로, 쿼리 속도, 리소스 사용, 시스템 상태, 스토리지 성능에 대한 실시간 가시성을 제공해요. 이 대시보드는 별도의 인증이 필요 없고, 인스턴스가 유휴 상태가 되는 것을 막지 않으며, 프로덕션 시스템에 쿼리 부하를 추가하지 않아요. 각 시각화는 커스터마이즈 가능한 SQL 쿼리로 구동되며, 기본 제공 차트는 ClickHouse 특정, 시스템 상태, Cloud 특정 메트릭으로 그룹화돼요. SQL 콘솔에서 직접 커스텀 쿼리를 만들어 모니터링을 확장할 수 있어요.

이 메트릭에 접근해도 기본 서비스에 쿼리를 발행하지 않으며 유휴 서비스를 깨우지 않아요.

시각화를 확장하려는 사용자는 ClickHouse Cloud의 dashboards 기능을 사용해 시스템 테이블을 직접 조회할 수 있어요.

  • 네이티브 고급 대시보드: Monitoring 섹션 내의 "You can still access the native advanced dashboard"를 통해 접근하는 대체 대시보드 인터페이스예요. 인증이 있는 별도 탭에서 열리며 시스템과 서비스 상태 모니터링을 위한 대체 UI를 제공해요. 이 대시보드는 기본 SQL 쿼리를 수정할 수 있는 고급 분석을 허용해요.

두 대시보드 모두 외부 의존성 없이 서비스 상태와 성능에 대한 즉각적인 가시성을 제공해, ClickStack 같은 외부 디버깅 중심 도구와 구별돼요. 상세 대시보드 기능과 사용 가능한 메트릭은 고급 대시보드 문서를 참고하세요.

쿼리 인사이트 및 리소스 모니터링

ClickHouse Cloud는 추가 모니터링 기능을 포함해요:

  • Query Insights: 쿼리 성능 분석과 문제 해결을 위한 내장 인터페이스
  • Resource Utilization Dashboard: 메모리, CPU 할당, 데이터 전송 패턴 추적. CPU 사용량과 메모리 사용량 그래프는 특정 기간의 최대 사용률 메트릭을 보여줘요. CPU 사용량 그래프는 시스템 수준의 CPU 사용률 메트릭을 보여줘요(ClickHouse CPU 사용률 메트릭이 아님).

상세 기능은 query insightsresource utilization 문서를 참고하세요.

Prometheus 호환 메트릭 엔드포인트

ClickHouse Cloud는 Prometheus 엔드포인트를 제공해요. 이를 통해 현재 워크플로를 유지하고 기존 팀 전문성을 활용하며, Grafana, Datadog 및 기타 Prometheus 호환 도구를 포함한 엔터프라이즈 모니터링 플랫폼에 ClickHouse 메트릭을 통합할 수 있어요. 조직 수준 엔드포인트는 모든 서비스의 메트릭을 통합(페더레이션)하고, 서비스별 엔드포인트는 세밀한 모니터링을 제공해요. 주요 기능:

  • 필터링된 메트릭 옵션: 선택적 filtered_metrics=true 매개변수는 1000개 이상의 사용 가능한 메트릭에서 125개의 '핵심(mission critical)' 메트릭으로 페이로드를 줄여 비용 최적화하고 모니터링 집중을 쉽게 해줘요
  • 캐시된 메트릭 전달: 프로덕션 시스템의 쿼리 부하를 최소화하기 위해 매분 새로고침되는 머티어리얼라이즈드 뷰 사용

이 접근 방식은 서비스가 쿼리를 적극적으로 처리하지 않을 때 비용 최적화를 허용하는 서비스 유휴 동작을 존중해요. 이 API 엔드포인트는 ClickHouse Cloud API 자격 증명에 의존해요. 완전한 엔드포인트 구성 세부 사항은 클라우드 Prometheus 문서를 참고하세요.

통합 예시

외부 통합을 통해 조직은 기존 모니터링 워크플로를 유지하고, 친숙한 도구에 대한 기존 팀 전문성을 활용하며, 현재 프로세스를 중단하거나 상당한 재교육 투자를 요구하지 않고 ClickHouse 모니터링을 더 넓은 인프라 옵저버빌리티와 통합할 수 있어요. 팀은 기존 경고 규칙과 에스컬레이션 절차를 ClickHouse 메트릭에 적용하면서, 통합된 옵저버빌리티 플랫폼 내에서 데이터베이스 성능을 애플리케이션 및 인프라 상태와 상관시킬 수 있어요. 이 접근 방식은 현재 모니터링 설정의 ROI를 극대화하고 통합 대시보드와 친숙한 도구 인터페이스를 통해 더 빠른 문제 해결을 가능하게 해요.

Grafana Cloud 모니터링

Grafana는 직접 플러그인 통합과 Prometheus 기반 접근 방식 모두를 통해 ClickHouse 모니터링을 제공해요. Prometheus 엔드포인트 통합은 기존 Grafana Cloud 인프라 내 시각화를 가능하게 하면서 모니터링과 프로덕션 워크로드 사이의 운영 분리를 유지해요. 구성 지침은 Grafana의 ClickHouse 문서를 참고하세요.

Datadog 모니터링

Datadog는 서비스 유휴 동작을 존중하면서 적절한 클라우드 서비스 모니터링을 제공할 전용 API 통합을 개발 중이에요. 그 사이 팀은 운영 분리와 비용 효율적 모니터링을 위해 ClickHouse Prometheus 엔드포인트를 통한 OpenMetrics 통합 접근 방식을 사용할 수 있어요. 구성 지침은 Datadog의 Prometheus 및 OpenMetrics 통합 문서를 참고하세요.

ClickStack

ClickStack은 ClickHouse가 스토리지 엔진인 심층 시스템 분석과 디버깅을 위한 ClickHouse의 권장 옵저버빌리티 솔루션이며, 로그, 메트릭, 트레이스를 위한 통합 플랫폼을 제공해요. 이 접근 방식은 ClickHouse 인스턴스 내부의 시스템 테이블에 직접 연결하는 ClickStack UI인 HyperDX에 의존해요. HyperDX는 Selects, Inserts, Infrastructure 탭이 있는 ClickHouse 중심 대시보드를 제공해요. 팀은 Lucene 또는 SQL 구문으로 시스템 테이블과 로그를 검색하고, Chart Explorer로 커스텀 시각화를 만들어 상세 시스템 분석을 할 수 있어요. 이 접근 방식은 실시간 프로덕션 경고보다 복잡한 문제 디버깅, 성능 분석, 심층 시스템 인트로스펙션에 이상적이에요.

HyperDX가 시스템 테이블을 직접 조회하므로 이 접근 방식은 유휴 서비스를 깨운다는 점에 유의하세요.

ClickStack 배포 옵션

  • ClickHouse Cloud의 HyperDX(비공개 프리뷰): HyperDX는 모든 ClickHouse Cloud 서비스에서 시작할 수 있어요.
  • Helm: Kubernetes 기반 디버깅 환경에 권장. ClickHouse Cloud와의 통합을 지원하고 values.yaml을 통한 환경별 구성, 리소스 한도, 확장을 허용해요.
  • Docker Compose: 각 컴포넌트(ClickHouse, HyperDX, OTel collector, MongoDB)를 개별적으로 배포해요. ClickHouse Cloud와 통합할 때 미사용 컴포넌트, 특히 ClickHouse와 Open Telemetry Collector를 제거하도록 compose 파일을 수정할 수 있어요.
  • HyperDX Only: 독립 실행형 HyperDX 컨테이너.

완전한 배포 옵션과 아키텍처 세부 사항은 ClickStack 문서데이터 수집 가이드를 참고하세요.

OpenTelemetry Collector를 통해 ClickHouse Cloud Prometheus 엔드포인트에서 메트릭을 수집하고 별도의 ClickStack 배포로 전달해 시각화할 수도 있어요.

직접 Grafana 플러그인 통합

Grafana용 ClickHouse 데이터 소스 플러그인은 시스템 테이블을 사용해 ClickHouse에서 데이터를 직접 시각화하고 탐색할 수 있게 해줘요. 이 접근 방식은 성능 모니터링과 상세 시스템 분석용 커스텀 대시보드 생성에 잘 작동해요. 플러그인 설치와 구성 세부 사항은 ClickHouse 데이터 소스 플러그인을 참고하세요. 사전 구축된 대시보드와 경고 규칙이 있는 Prometheus-Grafana mix-in을 사용한 완전한 모니터링 설정은 새 Prometheus-Grafana mix-in으로 ClickHouse 모니터링하기를 참고하세요.

직접 Datadog 통합

Datadog는 에이전트용 ClickHouse Monitoring 플러그인을 제공하며, 이는 시스템 테이블을 직접 조회해요. 이 통합은 clusterAllReplicas 기능을 통한 클러스터 인지를 포함한 종합적인 데이터베이스 모니터링을 제공해요.

이 통합은 비용 최적화 유휴 동작과의 비호환성 및 클라우드 프록시 계층의 운영 제한 때문에 ClickHouse Cloud 배포에는 권장되지 않아요.

시스템 테이블 직접 사용

ClickHouse 시스템 테이블, 특히 system.query_log에 연결해 직접 조회함으로써 심층 쿼리 성능 분석을 수행할 수 있어요. SQL 콘솔이나 clickhouse client를 사용해 팀은 느린 쿼리를 식별하고, 리소스 사용을 분석하고, 조직 전체의 사용 패턴을 추적할 수 있어요. 쿼리 성능 분석 시스템 테이블 쿼리 로그를 사용해 Query Performance Analysis를 수행할 수 있어요. 예시 쿼리: 모든 클러스터 레플리카에서 가장 오래 실행된 상위 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 커뮤니티는 인기 있는 옵저버빌리티 스택과 통합되는 종합적인 모니터링 솔루션을 개발했어요. ClickHouse Monitoring은 사전 구축된 대시보드가 있는 완전한 모니터링 설정을 제공해요. 이 오픈소스 프로젝트는 확립된 모범 사례와 검증된 대시보드 구성으로 ClickHouse 모니터링을 구현하려는 팀에게 빠른 시작 접근 방식을 제공해요.

다른 직접 데이터베이스 모니터링 접근 방식과 마찬가지로, 이 솔루션은 ClickHouse 시스템 테이블을 직접 조회해서 인스턴스가 유휴 상태가 되는 것을 막고 비용 최적화에 영향을 미쳐요.

시스템 영향 고려 사항

위의 모든 접근 방식은 Prometheus 엔드포인트에 의존하거나, ClickHouse Cloud가 관리하거나, 시스템 테이블을 직접 조회하는 것의 혼합을 사용해요. 후자의 옵션은 프로덕션 ClickHouse 서비스 조회에 의존해요. 이는 관찰 대상 시스템에 쿼리 부하를 추가하고 ClickHouse Cloud 인스턴스가 유휴 상태가 되는 것을 막아 비용 최적화에 영향을 미쳐요. 또한 프로덕션 시스템이 실패하면 둘이 결합되어 있으므로 모니터링도 영향을 받을 수 있어요. 이 접근 방식은 심층 인트로스펙션과 디버깅에 잘 작동하지만 실시간 프로덕션 모니터링에는 덜 적합해요. 직접 Grafana 통합과 다음 섹션에서 논의하는 외부 도구 통합 접근 방식을 평가할 때 상세 시스템 분석 능력과 운영 오버헤드 사이의 트레이드오프를 고려하세요.

더 알아보기 (Learn more)