Google Cloud Managed Service for Prometheus

Google Cloud Managed Service for Prometheus는 Prometheus 측정항목을 위한 Google Cloud의 완전 관리형 멀티 클라우드 프로젝트 간 솔루션입니다. Prometheus를 사용하고, 대규모 Prometheus 관리 및 운영을 수동으로 수행할 필요 없이 워크로드를 모니터링하고 알림을 설정할 수 있습니다.

Managed Service for Prometheus는 Prometheus 내보내기에서 측정항목을 수집하고 PromQL을 사용하여 전역적으로 데이터를 쿼리할 수 있습니다. 즉, 기존의 Grafana 대시보드, PromQL 기반 알림, 워크플로를 계속 사용할 수 있습니다. 또한 하이브리드 및 멀티 클라우드와 호환되고 Cloud Run에서 Kubernetes, VM, 서버리스 워크로드를 모니터링할 수 있으며 24개월 동안 데이터를 보존하고 업스트림 Prometheus와의 호환 상태를 유지하여 이동성을 유지합니다. PromQL을 사용해 Cloud Monitoring에서 무료 GKE 시스템 측정항목을 비롯한 6,500개 이상의 무료 측정항목을 쿼리하여 Prometheus 모니터링을 보완할 수도 있습니다.

이 문서는 관리형 서비스 개요를 제공하며 추가 문서는 서비스를 설정하고 실행하는 방법을 설명합니다. 새로운 기능과 출시 버전에 대한 정기적 업데이트를 받으려면 선택적 가입 양식을 제출합니다.

The Home Depot가 Prometheus용 관리형 서비스를 사용하여 온프렘 Kubernetes 클러스터를 실행하는 저장소 2,200개에서 통합 관측 가능성을 사용하는 방법을 알아봅니다.

시스템 개요

Google Cloud Managed Service for Prometheus를 사용하면 Cloud Monitoring의 글로벌 멀티 클라우드 및 프로젝트 간 인프라를 기반으로 Prometheus를 익숙하게 사용할 수 있습니다.

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

Managed Service for Prometheus는 Google의 자체 모니터링에 사용하는 것과 동일한 전역 확장 가능 데이터 스토어인 Monarch를 기반으로 빌드되었습니다. Managed Service for Prometheus는 Cloud Monitoring과 동일한 백엔드 및 API를 사용하므로 Cloud Monitoring 측정항목과 Managed Service for Prometheus에서 수집한 측정항목 모두 Cloud Monitoring의 PromQL, Grafana, Prometheus API를 읽을 수 있는 기타 도구를 사용하여 쿼리할 수 있습니다.

표준 Prometheus 배포에서 데이터 수집, 쿼리 평가, 규칙 및 알림 평가, 데이터 스토리지 모두 단일 Prometheus 서버 내에서 처리됩니다. Prometheus용 관리형 서비스는 이러한 함수의 책임을 여러 구성요소로 분할합니다.

  • 데이터 수집은 관리형 수집기, 자체 배포 수집기, OpenTelemetry Collector 또는 운영 에이전트에서 처리하며, 이들은 로컬 내보내기 도구를 스크랩하고 수집된 데이터를 Monarch로 전달합니다. 이러한 수집기는 Kubernetes, 서버리스, 기존 VM 워크로드에 사용할 수 있으며 다른 클라우드 및 온프렘 배포를 포함하여 어디서나 실행할 수 있습니다.
  • 쿼리 평가는 모든 Google Cloud 리전 및 최대 1,000개의 Google Cloud 프로젝트에서 결과 쿼리 및 통합을 실행하는 Monarch에서 처리합니다.
  • 규칙 및 알림 평가는 클라우드에서 완전히 실행되는 Cloud Monitoring의 PromQL 알림을 작성하거나 전역 Monarch 데이터 저장소에 대해 규칙 및 알림을 실행하고 발생된 알림을 Prometheus AlertManager로 전달하는 로컬 실행 및 로컬 구성 규칙 평가기 구성요소를 사용하여 처리됩니다.
  • 데이터 스토리지는 추가 비용 없이 24개월 동안 모든 Prometheus 데이터를 저장하는 Monarch에서 처리합니다.

Grafana는 개별 Prometheus 서버에 연결하는 대신 전역 Monarch 데이터 스토어에 연결합니다. 모든 배포에 Prometheus용 관리형 서비스 수집기를 구성한 경우 이 단일 Grafana 인스턴스는 모든 클라우드에 대한 모든 측정항목을 통합해서 보여줍니다.

데이터 수집

관리형 데이터 컬렉션, 자체 배포 데이터 컬렉션, OpenTelemetry Collector 또는 운영 에이전트의 4가지 모드 중 하나로 Managed Service for Prometheus를 사용할 수 있습니다.

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

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

OpenTelemetry Collector는 Prometheus 내보내기를 스크래핑하고 Managed Service for Prometheus에 데이터를 전송하는 데 사용될 수 있습니다. OpenTelemetry는 모든 신호에 대한 단일 에이전트 전략을 지원합니다. 여기에는 모든 환경의 측정항목(모든 Prometheus 측정항목 포함), 로그, trace에 하나의 수집기가 사용될 수 있습니다.

Compute Engine 인스턴스에서 운영 에이전트를 구성하여 Prometheus 측정항목을 스크레이핑하여 전역 데이터 스토어로 보낼 수 있습니다. 에이전트를 사용하면 VM 검색이 대폭 간소화되고 VM 환경에서 Prometheus를 설치, 배포, 구성할 필요성이 사라집니다.

Prometheus 측정항목 또는 OTLP 측정항목을 기록하는 Cloud Run 서비스가 있으면 사이드카 및 Managed Service for Prometheus를 사용해서 측정항목을 Cloud Monitoring에 전송할 수 있습니다.

온프렘 배포 및 모든 클라우드에서 관리형, 자체 배포, OpenTelemetry 수집기를 실행할 수 있습니다. Google Cloud 외부에서 실행되는 수집기는 장기 스토리지와 전역 쿼리의 데이터를 Monarch로 전송합니다.

수집 옵션 중에서 선택할 때는 다음을 고려하세요.

  • 관리 컬렉션:

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

    • 업스트림 Prometheus 바이너리에 대한 삽입형 교체
    • prometheus-operator 또는 수동 배포와 같은 원하는 배포 메커니즘을 사용할 수 있습니다.
    • 스크레이핑은 주석 또는 prometheus-operator와 같은 원하는 메서드를 사용하여 구성됩니다.
    • 확장 및 기능 샤딩이 수동으로 수행됩니다.
    • 보다 복잡한 기존 설정에 빠르게 통합해야 할 때 적합합니다. 기존 구성을 재사용하고 업스트림 Prometheus 및 Managed Service for Prometheus를 나란히 실행할 수 있습니다.
    • 일반적으로 규칙 및 알림은 개별 Prometheus 서버 내에서 실행되며, 로컬 규칙 평가로 인해 네트워크 트래픽이 발생하지 않으므로 에지 배포에 더 적합할 수 있습니다.
    • 카디널리티를 줄이기 위해 로컬 집계와 같은 관리형 컬렉션으로 아직 지원되지 않는 롱테일 사용 사례를 지원할 수 있습니다.
    • Google Cloud 기술 지원의 지원이 제한됩니다.
  • OpenTelemetry Collector:

    • 모든 환경에서 측정항목(Prometheus 측정항목 포함)을 수집하여 호환되는 백엔드로 전송할 수 있는 단일 수집기입니다. 로그와 트레이스를 수집하여 Cloud Logging 및 Cloud Trace를 비롯한 호환되는 모든 백엔드로 전송하는 데도 사용할 수 있습니다.
    • 수동으로 또는 Terraform을 사용하여 모든 컴퓨팅 또는 Kubernetes 환경에 배포됩니다. Cloud Run과 같은 스테이트리스 환경에서 측정항목을 전송하는 데 사용할 수 있습니다.
    • 스크래핑은 수집기의 Prometheus 수신자에서 Prometheus와 비슷한 구성을 사용하여 구성됩니다.
    • 푸시 기반 측정항목 수집 패턴을 지원합니다.
    • 메타데이터는 리소스 감지기 프로세서를 사용하여 모든 클라우드에서 삽입됩니다.
    • Cloud Monitoring 알림 정책 또는 독립형 규칙 평가자를 사용하여 규칙과 알림을 실행할 수 있습니다.
    • 교차 신호 워크플로와 예시 등의 기능을 가장 잘 지원합니다.
    • Google Cloud 기술 지원의 지원이 제한됩니다.
  • 운영 에이전트:

    • Linux 및 Windows 배포판을 포함하여 Compute Engine 환경에서 시작되는 Prometheus 측정항목 데이터를 가장 쉽게 수집하고 전송하는 방법입니다.
    • gcloud CLI, Compute Engine UI 또는 Terraform을 사용하여 배포합니다.
    • 스크래핑은 OpenTelemetry에서 제공하는 에이전트의 Prometheus 수신자에서 Prometheus와 비슷한 구성을 사용하여 구성됩니다.
    • Cloud Monitoring 또는 독립형 규칙 평가자를 사용하여 규칙과 알림을 실행할 수 있습니다.
    • 선택적 Logging 에이전트 및 프로세스 측정항목과 함께 번들로 제공됩니다.
    • Google Cloud 기술 지원의 모든 지원을 받을 수 있습니다. 시작하려면 관리형 컬렉션 시작하기, 자체 배포 컬렉션 시작하기, OpenTelemetry Collector 시작하기 또는 운영 에이전트 시작하기를 참조하세요.

Google Kubernetes Engine 또는 Google Cloud 외부에서 관리형 서비스를 사용하는 경우 일부 추가 구성이 필요할 수 있습니다. Google Cloud 외부에서 관리형 수집 실행, Google Cloud 외부에서 자체 배포된 컬렉션 실행 또는 OpenTelemetry 프로세서 추가를 참조하세요.

쿼리 평가

Managed Service for Prometheus는 Grafana 및 Cloud Monitoring UI를 포함하여 Prometheus 쿼리 API를 호출할 수 있는 모든 쿼리 UI를 지원합니다. 기존 Grafana 대시보드는 로컬 Prometheus에서 Managed Service for Prometheus로 전환할 때 계속 작동하며 인기 있는 오픈소스 저장소 및 커뮤니티 포럼에 있는 PromQL을 계속 사용할 수 있습니다.

Prometheus용 관리형 서비스에 데이터를 보내지 않고도 PromQL을 사용하여 Cloud Monitoring에서 무료 측정항목 6,500개 이상을 쿼리할 수 있습니다. 또한 PromQL을 사용하여 무료 Kubernetes 측정항목, 커스텀 측정항목, 로그 기반 측정항목을 쿼리할 수 있습니다.

Managed Service for Prometheus 데이터를 쿼리하도록 Grafana를 구성하는 방법에 대한 자세한 내용은 Grafana를 사용하여 쿼리를 참조하세요.

PromQL을 사용하여 Cloud Monitoring 측정항목을 쿼리하는 방법은 Cloud Monitoring의 PromQL을 참조하세요.

규칙 및 알림 평가

Managed Service for Prometheus는 완전한 클라우드 기반 알림 파이프라인과 독립형 규칙 평가자를 모두 제공하며 두 가지 모두 측정항목 범위에서 액세스할 수 있는 모든 Monarch 데이터를 기준으로 규칙을 평가합니다. 멀티 프로젝트 측정항목 범위에 대해 규칙을 평가하면 단일 Prometheus 서버에서 또는 단일 Google Cloud 프로젝트 내에서 모든 관심 데이터를 같은 위치에 배치할 필요가 없으며 프로젝트 그룹에 대한 IAM 권한을 설정할 수 있습니다.

모든 규칙 평가 옵션이 표준 Prometheus rule_files 형식을 허용하므로 기존 규칙을 복사하여 붙여넣거나 인기 있는 오픈소스 저장소에서 찾은 규칙을 복사한 후 붙여넣어 Prometheus용 관리형 서비스로 간편하게 마이그레이션할 수 있습니다. 자체 배포 수집기를 사용하는 경우 수집기에서 로컬로 기록 규칙을 계속 평가할 수 있습니다. 기록 규칙과 알림 규칙의 결과는 직접 수집한 측정항목 데이터와 같이 Monarch에 저장됩니다. Cloud Monitoring에서 Prometheus 알림 규칙을 PromQL 기반 알림 정책으로 마이그레이션할 수도 있습니다.

Cloud Monitoring을 사용한 알림 평가에 관한 자세한 내용은 Cloud Monitoring의 PromQL 알림을 참고하세요.

관리형 컬렉션을 사용한 규칙 평가는 관리형 규칙 평가 및 알림을 참조하세요.

자체 배포 컬렉션, OpenTelemetry Collector, 운영 에이전트를 사용한 규칙 평가는 자체 배포 규칙 평가 및 알림을 참조하세요.

자체 배포 수집기의 기록 규칙을 사용하여 카디널리티를 줄이는 방법에 대한 내용은 비용 관리 및 기여 분석을 참조하세요.

데이터 스토리지

모든 Managed Service for Prometheus 데이터는 추가 비용 없이 24개월 동안 저장됩니다.

Managed Service for Prometheus는 최소 5초 스크랩을 지원합니다. 데이터는 1주 동안 완전히 세분화된 상태로 저장되고, 그 다음 5주 동안 1분으로 다운샘플링된 후 10분으로 다운샘플링되어 나머지 보관 기간 동안 저장됩니다.

Managed Service for Prometheus는 활성 시계열 또는 총 시계열 수에 제한이 없습니다.

자세한 내용은 Cloud Monitoring 문서 내 할당량 및 한도를 참조하세요.

결제 및 할당량

Managed Service for Prometheus는 Google Cloud 제품이며 결제 및 사용 할당량이 적용됩니다.

결제

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

할당량

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

이러한 할당량을 늘려 측정항목과 쿼리 볼륨을 지원할 수 있습니다. 할당량 관리와 할당량 상향 조정 요청은 할당량 작업을 참조하세요.

서비스 약관 및 규정 준수

Managed Service for Prometheus는 Cloud Monitoring의 일부이므로 다음을 포함하되 이에 국한되지 않고 Cloud Monitoring의 특정 계약과 인증을 상속합니다.

다음 단계