이 문서에서는 Google Cloud Managed Service for Prometheus를 사용하여 히스토그램 측정항목에 대한 Prometheus 예시를 수집하는 방법을 설명합니다. 다음 중 하나를 사용해야 합니다.
- Managed Service for Prometheus 관리형 컬렉션 버전 0.7.0 이상
- Managed Service for Prometheus 자체 배포 컬렉션 버전 2.35.0-gmp.5-gke.0 이상
- OpenTelemetry Collector
예시는 일반적으로 trace 식별자를 시간 간격에 따라 수집되는 측정항목 데이터와 연결하는 데 사용되지만, 비측정항목 데이터를 수집한 측정항목과 연결하는 데 사용할 수도 있습니다. trace 정보를 측정항목 데이터와 함께 저장하면 측정항목 값의 급격한 변화와 연관된 trace를 빠르게 식별할 수 있습니다. 측정항목 데이터가 기록될 때 애플리케이션에서 발생한 결과를 식별하기 위해 타임스탬프를 사용하여 trace 정보와 측정항목 데이터를 수동으로 교차 참조할 필요가 없습니다.
Managed Service for Prometheus 예시는 Cloud Trace 및 Grafana Tempo와 같은 서드 파티 trace 도구 모두와 호환됩니다.
다음 스크린샷은 하나의 예시가 펼쳐진 히스토그램 버킷 및 관련 예시 모음의 Grafana 차트를 보여줍니다.
Managed Service for Prometheus의 Prometheus 예시
예시는 OpenMetrics 설명 형식을 통해 Prometheus에서 지원됩니다. OpenMetrics 예시 구조는 다음과 같습니다.
- 예시 값은 정수이거나 64비트 부동 소수점 수여야 합니다.
- (선택사항) 타임스탬프: 유닉스 시간 초여야 하며 음수일 수 있습니다.
- Go 애플리케이션에서는 예시의 라벨 몇 가지(일반적으로
trace_id
및span_id
값 포함), 모든 라벨 이름과 값의 총 길이는 UTF-8 기준 128자, rune 기준 128자를 초과할 수 없습니다.
Google Cloud Managed Service for Prometheus는 히스토그램 측정항목에 연결된 예시만 수집할 수 있습니다. 카운터 측정항목에 연결된 예시는 수집할 수 없습니다. Prometheus 히스토그램 측정항목은 예시를 지원하는 유사한 Cloud Monitoring Distribution
유형으로 변환됩니다.
Cloud Monitoring의 비분산 측정항목에서는 예시를 지원하지 않습니다.
예시는 24개월 동안 쿼리에 사용할 수 있습니다. 데이터가 메모리 내에 존재하는 동안(일반적으로 14일 미만)만 예시가 보관되는 업스트림 Prometheus와 이 보관 기간을 비교합니다. Managed Service for Prometheus는 시계열과 함께 예시를 저장하므로 예시는 시계열의 보관 정책에 따라 보관됩니다. Cloud Monitoring의 데이터 보관에 대한 자세한 내용은 데이터 보관을 참조하세요.
예시 수집 사용 설정
관리형 컬렉션 버전 0.7.0 이상에서 Managed Service for Prometheus를 사용하면 예시 수집이 자동으로 사용 설정됩니다.
자체 배포 컬렉션으로 Managed Service for Prometheus를 사용하는 경우 서버를 시작할 때 다음 기능 플래그를 지정하여 예시 수집을 사용 설정해야 합니다.
--enable-feature=exemplar-storage
예시가 있는 측정항목 작성
각 Prometheus 클라이언트에는 해당 클라이언트의 예시를 올바르게 사용하기 위한 자체 안내가 포함되어 있습니다. 애플리케이션이 애플리케이션의 /metrics
엔드포인트에서 스크래핑할 수 있도록 하는 Prometheus용 OpenMetrics 형식의 측정항목을 노출하도록 다음 안내를 따르세요. 예를 들어 다음을 참조하세요.
- OpenTelemetry Java 예시
- Prometheus Java 클라이언트
- Prometheus Python 클라이언트
- Prometheus Go 클라이언트
Cloud Trace와 통합
Cloud Trace와 호환되는 예시를 사용하여 Prometheus 히스토그램을 작성할 수 있습니다. Cloud Monitoring 히트맵 차트에 예시를 포함한 데이터를 표시하고 예시를 사용해 관련 trace 스팬에 대한 세부정보를 볼 수 있습니다. Trace에서 trace 데이터를 분석할 수도 있습니다. 자세한 내용은 히트맵 차트에 예시 표시 및 trace 세부정보 보기를 참조하세요.
Trace와 호환되는 예시를 만들려면 Prometheus 예시에 다음 라벨이 포함되어야 합니다.
project_id
trace_id
span_id
예시에 이 3개의 라벨이 포함된 경우 라벨이 Cloud Monitoring Distribution
버킷용으로 만든 예시에 연결된 Trace 호환 SpanContext
객체를 만드는 데 사용됩니다.
전체 SpanContext
를 구성하는 라벨을 제외한 모든 라벨은 Distribution
버킷의 예시에 연결된 DroppedLabels
객체에 추가됩니다.
예시가 있는 쿼리 측정항목
Prometheus API는 예시를 쿼리할 수 있도록 api/v1/query_exemplars
엔드포인트를 노출합니다.
Google Cloud Managed Service for Prometheus와 상호작용하도록 설정된 쿼리 인터페이스에는 예시 쿼리가 자동으로 포함됩니다. 쿼리 인터페이스 설정에 대한 자세한 내용은 Grafana를 사용하여 쿼리 또는 Prometheus API 또는 UI를 사용하여 쿼리를 참조하세요.