26S02h

Young-Kyoo Kim·4일 전

MinIO에서 버킷별 레이턴시나 처리량을 추적할 때 사용하는 v2/v3 메트릭 네임스페이스 기준으로 수정이 필요합니다.

minio_cluster_usage_buckets_* 계열은 레이턴시가 아니라 용량 및 객체 수(Usage/Capacity) 관련 메트릭입니다:

  • minio_cluster_usage_buckets_total_bytes: 버킷별 총 사용 바이트
  • minio_cluster_usage_buckets_objects_count: 버킷별 객체 수

버킷별로 가장 느린 버킷(Slowest Bucket Ranking)을 레이턴시 기반으로 집계하려면, 버킷 레이블(bucket)이 포함된 S3 API 레이턴시 메트릭을 사용해야 합니다.

MinIO 프로메테우스 스크랩 엔드포인트에 따라 두 가지 경로가 지원됩니다.

1. API 레이턴시 기반 순위 쿼리 (권장)

MinIO의 API 지연 시간 메트릭(minio_api_requests_ttfb_seconds_bucket 또는 minio_api_requests_duration_seconds_bucket)에는 bucket 레이블이 붙어 있어 버킷별 레이턴시 백분위수를 계산할 수 있습니다.

버킷별 TTFB(Time To First Byte) p99 상위 정렬:

topk(10,
  histogram_quantile(0.99,
    sum by (le, bucket) (
      rate(minio_api_requests_ttfb_seconds_bucket{bucket!=""}[5m])
    )
  )
)

버킷별 평균 API 소요 시간(Duration) 상위 정렬:

topk(10,
  sum by (bucket) (rate(minio_api_requests_duration_seconds_sum{bucket!=""}[5m]))
  /
  sum by (bucket) (rate(minio_api_requests_duration_seconds_count{bucket!=""}[5m]))
)

2. 버킷별 I/O 스피드 / 지연 추적 메트릭 비교

버킷 레벨에서 수집되는 관련 메트릭 정리입니다.

메트릭 명목적포함 레이블
minio_api_requests_ttfb_seconds_bucket버킷별 TTFB 레이턴시 히스토그램 (Slowest 감지용)bucket, api, le
minio_api_requests_duration_seconds_bucket버킷별 전체 요청 완료 시간 히스토그램bucket, api, le
minio_bucket_traffic_sent_bytes / received_bytes버킷별 네트워크 전송량 추적bucket, server
minio_cluster_usage_buckets_total_bytes버킷별 총 용량 (Usage 집계용)bucket
minio_cluster_usage_buckets_objects_count버킷별 객체 개수 (Usage 집계용)bucket

레이턴시 테이블 패널에서는 빈 버킷명(bucket="")을 필터링(bucket!="")한 후, histogram_quantile(0.99, ...) 또는 rate(..._sum) / rate(..._count)를 적용해야 정확한 지연 순위가 출력됩니다.

0개의 댓글