데이터 보존

최종 수정: 2026. 1. 16.

데이터 보존 설정

데이터 보존 기간(TTL)을 설정하고 관리하는 방법을 안내합니다.


개요

Skuber+ Observability는 ClickHouse의 TTL(Time To Live) 기능을 사용하여 데이터를 자동으로 정리합니다.

기본 보존 기간

데이터 유형 기본 보존 기간 설명
메트릭 7일 시계열 메트릭 데이터
로그 7일 애플리케이션 로그
트레이스 7일 분산 트레이스 데이터
네트워크 플로우 7일 Service Map 데이터

UI에서 설정

보존 기간 변경

  1. Skuber+ Observability UI에 접속
  2. Settings > General 메뉴 선택
  3. 각 데이터 유형별 보존 기간 설정
  4. Save 버튼 클릭

설정 옵션

옵션 설명 범위
Metrics TTL 메트릭 보존 기간 Hour, Day, Month
Logs TTL 로그 보존 기간 Hour, Day, Month
Traces TTL 트레이스 보존 기간 Hour, Day, Month

데이터 유형별 고려사항

메트릭

  • 장기 보존 권장: 트렌드 분석에 유용
  • 롤업 테이블 활용: 상세 데이터는 짧게, 집계 데이터는 길게 보존
  • 권장 설정:
    metrics:
      raw_ttl_days: 7      # 원시 데이터
      hourly_ttl_days: 30  # 시간별 집계
      daily_ttl_days: 365  # 일별 집계

로그

  • 디버깅 용도: 7-14일 권장
  • 규정 준수: 조직 정책에 따라 30-365일
  • 필터링 고려: 중요한 로그만 장기 보존

트레이스

  • 성능 분석: 7-14일이면 충분
  • 문제 추적: 특정 트레이스 ID로 검색
  • 샘플링 적용: 장기 보존 시 100% 저장은 비효율

네트워크 플로우

  • Service Map 용도: 7일 권장
  • 의존성 분석: 더 긴 기간이 필요할 수 있음

문제 해결

아래 명령어는 ClickHouse VM 서버에서 실행합니다.

TTL이 적용되지 않음

  1. ClickHouse 서버에 SSH 접속:

    ssh <user>@<clickhouse-vm-ip>
  2. TTL 설정 확인:

    clickhouse-client --password '<password>' --query="
      SHOW CREATE TABLE signoz_logs.logs_v2
    "
  3. TTL 머지 강제 실행:

    clickhouse-client --password '<password>' --query="
      OPTIMIZE TABLE signoz_logs.logs_v2 FINAL
    "

디스크 공간이 해제되지 않음

ClickHouse는 비동기적으로 데이터를 정리합니다:

  1. 머지 상태 확인:

    clickhouse-client --password '<password>' --query="
      SELECT * FROM system.merges
    "
  2. 강제 머지 실행:

    clickhouse-client --password '<password>' --query="
      SYSTEM START MERGES
    "
  3. 디스크 사용량 확인:

    clickhouse-client --password '<password>' --query="
      SELECT
        database,
        table,
        formatReadableSize(sum(bytes_on_disk)) as size
      FROM system.parts
      GROUP BY database, table
      ORDER BY sum(bytes_on_disk) DESC
    "

다음 단계