Google Cloud Managed Service for Prometheus

Google Cloud Managed Service for Prometheus를 사용하면 수동으로 대규모 Prometheus 관리 및 운영을 수행할 필요 없이 Prometheus를 사용하여 워크로드를 모니터링하고 알림을 표시할 수 있습니다.

이 문서에서는 관리형 서비스의 일부 특성을 설명합니다. 업데이트를 받으려면 선택적인 가입 양식을 제출합니다.

Managed Service for Prometheus는 Prometheus 측정항목에 대한 Google Cloud의 완전 관리형 스토리지 및 쿼리 서비스입니다. 이 서비스는 Cloud Monitoring과 동일한 전역 확장 가능한 데이터 저장소인 Monarch를 기반으로 빌드되었습니다. Prometheus의 씬 포크는 기존 Prometheus 배포를 대체하며 사용자 개입 없이 데이터를 관리형 서비스로 전송합니다. 그런 후 관리형 서비스로 지원되는 Prometheus Query API를 통해 PromQL을 사용하여 그리고 기존 Cloud Monitoring 쿼리 메커니즘을 사용하여 이 데이터를 쿼리할 수 있습니다.

Managed Service for Prometheus를 사용하면 Prometheus 및 Cloud Monitoring의 기능에 액세스할 수 있습니다.

이 서비스는 Thanos를 사용할 필요 없이 Prometheus의 삽입형 대체 기능으로 의도되었으며, 기존 Grafana 대시보드, PromQL 기반 알림, 워크플로를 유지할 수 있게 해줍니다. 현재 업스트림 Prometheus가 사용되는 모든 위치에서 관리되는 Prometheus 바이너리를 사용할 수 있습니다. 이 수집기는 로컬 스토리지 및 규칙 평가와 같은 모든 일반적인 Prometheus 기능을 보유합니다.

Managed Service for Prometheus로 데이터 수집

관리 데이터 컬렉션 또는 자체 배포 데이터 컬렉션의 두 가지 모드 중 하나로 Managed Service for Prometheus를 사용할 수 있습니다. 이 문서에서는 이러한 모드 간 차이점을 설명합니다.

Managed Service for Prometheus는 Kubernetes 환경에서 관리 데이터 컬렉션에 대한 연산자를 제공합니다. Prometheus 서버 배포, 확장, 샤딩, 구성, 유지보수의 복잡성을 줄여주므로, 관리 컬렉션을 사용하는 것이 좋습니다. 관리 컬렉션은 GKE 및 비GKE Kubernetes 환경 모두에서 지원됩니다.

자체 배포 데이터 컬렉션을 사용하여 항상 하던대로 Prometheus 설치를 관리합니다. 업스트림 Prometheus의 유일한 차이점은 업스트림 Prometheus 바이너리 대신 Managed Service for Prometheus 삽입형 대체 기능 바이너리를 실행한다는 것입니다.

관리 및 자체 배포 컬렉션 중에서 선택할 때는 다음을 고려하세요.

  • 관리 컬렉션:

    • Kubernetes 환경에 권장되는 방법입니다.
    • kubectl CLI 또는 gcloud CLI를 사용하여 배포됩니다.
    • 스크래핑 구성 생성, 수집 확장, 올바른 데이터로 규칙 범위 지정 등의 Prometheus 작업이 Kubernetes 연산자로 완전히 처리됩니다.
    • 스크래핑 및 규칙은 경량 커스텀 리소스(CR)를 사용하여 구성됩니다.
    • 더 많은 핸드오프 및 완전 관리형 경험을 원하는 경우에 적합합니다.
    • prometheus-operator 구성으로부터 마이그레이션이 직관적입니다.
    • 대부분의 최신 Prometheus 사용 사례를 지원합니다.
  • 자체 배포 컬렉션:

    • Managed Service for Prometheus 바이너리가 업스트림 Prometheus 바이너리를 위한 삽입형 대체 기능입니다.
    • prometheus-operator 또는 수동 배포와 같은 원하는 배포 메커니즘을 사용할 수 있습니다.
    • 주석 또는 prometheus-operator와 같은 원하는 방법을 사용해서 스크래핑을 구성할 수 있습니다.
    • 확장 및 기능 샤딩이 수동으로 수행됩니다.
    • 보다 복잡한 기존 설정에 빠르게 통합해야 할 때 적합합니다. 기존 구성을 재사용하고 업스트림 Prometheus 및 Managed Service for Prometheus를 나란히 실행할 수 있습니다.
    • 카디널리티를 줄이기 위해 로컬 집계와 같은 관리형 컬렉션으로 아직 지원되지 않는 사용 사례를 지원할 수 있습니다.

    Managed Service for Prometheus로 데이터를 스트리밍하려면 추가 리소스가 사용됩니다. 수집기를 수동으로 배포하는 경우 CPU 및 메모리 한도를 5배로 늘리고 실제 사용량에 맞게 조정하는 것이 좋습니다.

Managed Service for Prometheus 및 Google Cloud

Managed Service for Prometheus는 Google Cloud 제품이며 특정 청구 및 할당량이 적용됩니다.

청구

서비스 청구는 주로 스토리지로 수집되는 측정항목 샘플 수를 기준으로 합니다. 읽은 API 호출에 대한 요금도 청구됩니다. Managed Service for Prometheus에서 측정항목 데이터의 스토리지 또는 보관은 청구되지 않습니다. 모든 Managed Service for Prometheus 데이터는 추가 비용 없이 24개월 동안 보관됩니다.

할당량

Managed Service for Prometheus는 수집 및 읽기 할당량을 Cloud Monitoring과 공유합니다. 기본 수집 할당량은 프로젝트당 500 QPS이며, 단일 호출에서 최대 200개 샘플을 지원합니다. 기본 읽기 할당량은 측정항목 범위당 100 QPS입니다.

측정량 및 쿼리 볼륨 지원을 위해 이러한 할당량 증가를 요청할 수 있습니다. 할당량 관리 및 할당량 상향 조정 요청에 대한 자세한 내용은 할당량 작업을 참조하세요.

업스트림 Prometheus 상호 운용성

다음 섹션에서는 몇 가지 일반적인 Prometheus 사용 사례와 Managed Service for Prometheus가 여기에서 어떻게 사용되는지 설명합니다.

기존 Prometheus 배포

Managed Service for Prometheus는 Kubernetes 환경의 관리 수집기를 업스트림 Prometheus에 추가합니다. 관리 컬렉션은 Managed Service for Prometheus의 데이터 수집에 설명된 대로 Prometheus 배포의 설정 및 유지보수를 단순화합니다. 설정 안내는 관리 컬렉션 시작하기를 참조하세요.

자체 배포 컬렉션으로 관리형 서비스를 실행할 수도 있습니다. 기존 배포 구성을 복제하여 Managed Service for Prometheus 컨테이너 이미지 또는 바이너리에 사용할 수 있습니다. 모든 기존 구성 및 워크플로가 계속 작동하고 데이터가 Monarch에 저장됩니다. 설정 안내는 자체 배포 컬렉션 시작하기를 참조하세요.

Google Kubernetes Engine 외부에서 관리형 서비스를 사용하는 경우 일부 추가 구성이 필요할 수 있습니다. 명시적으로 사용자 인증 정보 제공을 참조하세요.

기록 규칙

수집기에서 로컬로 기록 규칙을 계속 평가할 수 있습니다. 기록 규칙의 결과는 직접 수집된 측정항목 데이터와 같이 Monarch에 저장됩니다.

Managed Service for Prometheus는 또한 측정항목 범위에서 액세스할 수 있는 모든 데이터에 대해 기록 및 알림 규칙을 평가하는 독립형 규칙 평가자를 제공합니다. 다중 프로젝트 측정항목 범위에 대해 규칙을 평가하면 단일 Prometheus 서버에서 또는 단일 Google Cloud 프로젝트 내에서 모든 관심 데이터를 같은 위치에 배치할 필요가 없습니다.

내보내는 데이터 제한

많은 데이터의 경우 비용 절감을 위해 일부 시계열이 Managed Service for Prometheus에 전송되지 않도록 방지해야 할 수 있습니다. 필터링을 사용하여 내보내는 데이터를 제한할 수 있습니다. 자세한 내용은 관리 컬렉션 필터링 또는 자체 배포 컬렉션 필터링을 참조하세요.

페더레이션 서버

페더레이션 서버에서는 Managed Service for Prometheus 바이너리를 사용하지 않는 것이 좋습니다. 관리형 서비스는 전역으로 확장 가능한 스토리지를 통해 모든 데이터의 전역 보기를 제공합니다. Prometheus 페더레이션은 일반적으로 이러한 확장 가능한 스토리지 부족을 해결하려고 시도합니다. 따라서 페더레이션 및 관리형 서비스는 측정항목 데이터에 대해 전역 보기를 얻기 위해 두 가지 서로 다른 접근 방법을 제시합니다.

Managed Service for Prometheus는 Monarch로 내보내는 측정항목을 제한하기 위해 필터링을 지원합니다. 내보내기 필터링은 페더레이션과 동일한 구성 시맨틱스를 갖습니다. 따라서 페더레이션을 내보내기 필터링 및 로컬 집계로 바꿔도 동일한 결과를 얻을 수 있습니다. 자세한 내용은 로컬 집계 구성을 참조하세요.

다음 단계