이 문서에서는 서로 다른 Google Cloud 프로젝트와 클러스터에서 자체 배포 수집기를 관리 수집기와 혼합하는 환경을 설정하는 방법을 설명합니다.
모든 Kubernetes 환경에 관리형 컬렉션을 사용하는 것이 좋습니다. 이렇게 하면 클러스터 내에서 Prometheus 수집기 실행 오버헤드가 사실상 제거됩니다. 같은 클러스터 내에서 관리형 및 자체 배포 수집기를 실행할 수 있습니다. 모니터링에 일관된 방식을 사용하는 것이 좋지만 이 문서에 설명된 대로 푸시 게이트웨이 호스팅과 같은 특정 사용 사례에 따라 배포 방법을 혼합할 수도 있습니다.
다음 다이어그램에서는 Google Cloud 프로젝트 2개와 클러스터 3개를 사용하고 관리형 및 자체 배포 컬렉션을 혼합하는 구성을 보여줍니다. 관리형 또는 자체 배포 컬렉션만 사용하는 경우에도 이 다이어그램을 적용할 수 있습니다. 사용하지 않는 컬렉션 스타일을 무시해도 됩니다.
다이어그램과 같은 구성을 설정하고 사용하려면 다음 사항에 유의하세요.
클러스터에 필요한 내보내기 도구를 설치해야 합니다. Google Cloud Managed Service for Prometheus는 사용자를 대신하여 내보내기 도구를 설치하지 않습니다.
프로젝트 1에는 노드 에이전트로 실행되는 관리형 컬렉션이 실행되는 클러스터가 있습니다. 수집기는 네임스페이스 내에서 대상을 스크래핑할 수 있는 PodMonitoring 리소스와 클러스터 전체에서 대상을 스크래핑할 수 있는 ClusterPodMonitoring 리소스로 구성됩니다. PodMonitoring은 측정항목을 수집하려는 모든 네임스페이스에 적용되어야 합니다. ClusterPodMonitoring은 클러스터당 한 번만 적용됩니다.
프로젝트 1에서 수집된 모든 데이터는 프로젝트 1의 Monarch에 저장됩니다. 이 데이터는 기본적으로 데이터가 생성된 Google Cloud 리전에 저장됩니다.
프로젝트 2에는 prometheus-operator를 통해 자체 배포 컬렉션이 독립형 서비스로 실행되는 클러스터가 있습니다. 이 클러스터는 포드나 VM에서 내보내기 도구를 스크래핑할 수 있는 prometheus-operator PodMonitor 또는 ServiceMonitor를 사용하도록 구성됩니다.
또한 프로젝트 2는 푸시 게이트웨이 사이드카를 호스팅하여 임시 워크로드에서 측정항목을 수집합니다.
프로젝트 2에서 수집된 모든 데이터는 프로젝트 2의 Monarch에 저장됩니다. 이 데이터는 기본적으로 데이터가 생성된 Google Cloud 리전에 저장됩니다.
프로젝트 1에는 Grafana와 데이터 소스 동기화를 실행하는 클러스터도 있습니다. 이 예시에서 이러한 구성요소는 독립형 클러스터에서 호스팅되지만 단일 클러스터에서 호스팅될 수 있습니다.
데이터 소스 동기화는 scoping_project_A를 사용하도록 구성되며, 기본 서비스 계정에는 scoping_project_A에 대한 Monitoring 뷰어 권한이 있습니다.
사용자가 Grafana에서 쿼리를 실행하면 Monarch에서 scoping_project_A를 구성된 모니터링 프로젝트로 확장하고 모든 Google Cloud 리전에서 Project 1과 Project 2 모두의 결과를 반환합니다. 모든 측정항목은 그룹화 및 필터링 목적으로 원래
project_id
및location
(Google Cloud 리전) 라벨을 보관합니다.
클러스터가 Google Cloud 내에서 실행되지 않는 경우 project_id
및 location
라벨을 수동으로 구성해야 합니다. 이러한 값 설정에 대한 자세한 내용은 Google Cloud 외부에서 Managed Service for Prometheus 실행을 참조하세요.
Managed Service for Prometheus를 사용할 때는 제휴하지 마세요. Monarch로 데이터를 보내기 전에 데이터를 '롤업'하여 카디널리티와 비용을 줄이려면 대신 로컬 집계를 사용합니다. 자세한 내용은 로컬 집계 구성을 참조하세요.