Distributed Cloud(연결형) 모니터링

Google Distributed Cloud(연결형) 워크로드의 상태, 가동시간, 업그레이드를 모니터링하는 방법을 알아보세요. 모니터링 구성 및 사용 가능한 측정항목에 대한 자세한 내용은 로그 및 측정항목을 참조하세요.

워크로드 상태 및 가동시간 모니터링

Distributed Cloud(연결형)에서 실행되는 워크로드(컨테이너 및 가상 머신)의 상태와 가동시간을 모니터링하는 것은 사용자의 책임입니다.

컨테이너 워크로드

배포하는 컨테이너화된 워크로드의 상태와 가동시간을 모니터링하려면 Prometheus 측정항목 솔루션을 사용하는 것이 좋습니다. Prometheus를 구성하여 포드 및 서비스에서 측정항목을 스크레이핑할 수 있습니다. Google 관리형 시스템 서비스는 Google에서 자동으로 모니터링하고 관리합니다. Prometheus 구성에 대한 자세한 내용은 Prometheus로 측정항목 수집을 참조하세요.

다음 주요 측정항목을 사용하여 컨테이너 워크로드를 모니터링합니다. Prometheus를 사용하는 경우 워크로드에 이러한 특정 측정항목을 노출하기 위해 Kubernetes 상태 측정항목을 배포하고 관리해야 합니다.

  • kube_pod_status_phase: Failed 또는 Unknown 단계의 포드를 모니터링합니다.
  • kube_pod_container_status_waiting_reason: CrashLoopBackOff 또는 ImagePullBackOff에 멈춘 포드를 식별합니다.
  • container_cpu_usage_seconds_totalcontainer_memory_working_set_bytes (cAdvisor에서 가져옴): 메모리 부족 (OOM) 문제를 방지하기 위해 리소스 소비를 모니터링합니다.

가상 머신 워크로드

Distributed Cloud(연결형)에서 가상 머신(VM)은 일반적으로 virt-launcher-로 시작하는 표준 Kubernetes 포드 내에서 실행됩니다. 주로 VirtualMachine 커스텀 리소스 상태를 확인하거나 VM 내에서 애플리케이션 측정항목을 모니터링하여 VM 상태를 모니터링합니다.

기본 virt-launcher 포드 측정항목을 다음 세부정보의 보조 지표로 사용합니다.

  • 리소스 사용량: 런처 포드의 CPU 및 메모리 소비를 모니터링하여 VM에 충분한 리소스가 있는지 확인합니다.
  • 포드 단계: 런처 포드 단계를 추적하여 시작하지 못하거나 비정상 종료되는 VM을 식별합니다.

VM에 할당된 리소스를 조정하려면 VM 커스텀 리소스 사양을 수정합니다. 기본 virt-launcher 포드 YAML은 플랫폼에서 관리하므로 직접 수정하지 마세요. 직접 변경하면 덮어쓰거나 조정 오류가 발생합니다.

보류 중 상태로 멈춘 VM 문제를 해결하려면 보류 중 상태로 멈춘 가상 머신 문제 해결을 참조하세요.

Distributed Cloud(연결형) 업그레이드 모니터링

Cloud Monitoring 측정항목 및 gcloud 명령어를 사용하여 Distributed Cloud(연결형) 소프트웨어 업그레이드의 진행률과 상태를 모니터링합니다. 업그레이드는 Google에서 예약하고 실행합니다. 모니터링은 워크로드 마이그레이션의 가시성과 계획을 위한 것입니다.

업그레이드가 진행 중인지 확인하고, 상태를 모니터링하고, 실패한 업그레이드 문제를 해결하는 방법에 대한 자세한 안내는 소프트웨어 업그레이드 문제 해결을 참조하세요.

멀티 클러스터 모니터링

많은 Distributed Cloud(연결형) 클러스터를 관리하는 경우 Cloud Monitoring을 사용하여 측정항목을 집계하고 필터링하는 것이 좋습니다.

  • 리소스 라벨 사용: Cloud Monitoring으로 내보낸 측정항목에는 소스를 식별하는 라벨이 포함됩니다. 사용 가능한 라벨은 리소스 유형에 따라 다릅니다.

    • k8s_container와 같은 클러스터 및 컨테이너 측정항목의 경우 주요 라벨에는 다음 값이 포함됩니다.

      • project_id: 클러스터를 호스팅하는 Google Cloud 프로젝트입니다.
      • location: 클러스터가 등록된 리전입니다. Google Cloud
      • cluster_name: 클러스터의 이름입니다.
    • edgecontainer.googleapis.com/machine과 같은 하드웨어 측정항목의 경우 주요 라벨에는 다음 값이 포함됩니다.

      • resource_container: 하드웨어와 연결된 프로젝트입니다. Google Cloud
      • location: Google Cloud Distributed Cloud(연결형) 영역이 등록된 리전입니다.
      • machine_id: 머신의 식별자입니다.

      하드웨어 측정항목에는 cluster_name 라벨이 직접 포함되지 않습니다.

  • 맞춤 대시보드 만들기: 전체 Fleet에서 주요 상태 표시기를 표시하는 대시보드를 빌드합니다. 주요 상태 표시기에는 연결, VM 상태, 리소스 사용량이 포함됩니다. 단일 차트에 여러 클러스터의 데이터를 표시하려면 와일드 카드 또는 그룹화 작업을 사용합니다.

  • 멀티 클러스터 알림 설정: 여러 클러스터에 적용되는 알림 정책을 구성합니다. 예를 들어 클러스터의 머신 연결이 끊어지면 트리거되는 알림을 만들 수 있습니다.

알림 전략

Distributed Cloud(연결형) 모니터링 및 유지보수는 공동 책임입니다. 이 섹션에서는 Google에서 알림을 보내는 항목과 자체 알림 정책을 구성하는 방법을 설명합니다.

Google에서 알림을 보내는 항목

Google은 기본 인프라를 지속적으로 모니터링합니다. 다음과 같은 상황이 발생하면 필요한 경우 조치를 취하고 사용자에게 알립니다.

  • 하드웨어 오류: 전원 공급 장치 오류, 팬 오류, 과열, 또는 디스크가 스페어 기준점에 도달하거나 사용 가능한 수명이 종료되는 등의 디스크 오류.
  • 연결 문제: Distributed Cloud(연결형) 영역과 간의 연결이 완전히 끊어짐 Google Cloud.
  • 컨트롤 플레인 상태: Kubernetes 컨트롤 플레인 또는 Google 관리형 시스템 서비스의 오류.
  • 업그레이드 실패: 멈추거나 실패하는 자동 업그레이드 프로세스.

알림 구성

워크로드 또는 로컬 환경에 영향을 미치는 문제에 대해 Cloud Monitoring 또는 Prometheus에서 자체 알림 정책을 구성합니다.

다음 문제에 대한 알림을 설정할 수 있습니다.

문제 설명 모니터링 시스템 세부정보
워크로드 다운타임 포드 또는 VM이 시작되지 않거나 비정상 종료 루프가 발생함 Prometheus 컨테이너 워크로드의 경우 kube_pod_status_phase에 대한 알림을 만들어 Failed 또는 Unknown 단계의 포드를 감지합니다. kube_pod_container_status_waiting_reasonCrashLoopBackOff 또는 ImagePullBackOff와 같을 때 알림을 보낼 수도 있습니다.
Cloud Monitoring 포드에서 실행되는 VM 워크로드의 경우 Cloud Monitoring에서 표준 Kubernetes 컨테이너 측정항목을 사용하여 알림을 설정하여 virt-launcher 포드의 상태를 추적합니다.
워크로드 리소스 소진 디스크 사용량이 용량에 가까워지거나 워크로드에서 메모리 또는 CPU 사용량이 높음 Prometheus 컨테이너 워크로드의 경우 container_cpu_usage_seconds_totalcontainer_memory_working_set_bytes (cAdvisor에서 가져옴)에 기준점 알림을 설정하여 리소스 한도에 가까워지는 포드를 식별합니다.
Cloud Monitoring 머신 스토리지의 경우 머신 디스크 사용률 측정항목 edgecontainer.googleapis.com/machine/disk/utilization을 모니터링하여 노드 스토리지가 용량에 가까워지는 시점을 감지합니다.
로컬 네트워크 문제 머신에서 네트워크 인터페이스가 삭제됨 Cloud Monitoring 머신 네트워크 업 측정항목 edgecontainer.googleapis.com/machine/network/upfalse인지 모니터링합니다.
인터넷 연결 끊김 Cloud Monitoring 네트워크 연결 측정항목 edgecontainer.googleapis.com/machine/network/connectivityfalse인지 모니터링합니다.
머신 재시작 예상치 못한 머신 재부팅 또는 종료 Cloud Monitoring edgecontainer.googleapis.com/machine/uptimeedgecontainer.googleapis.com/machine/restart_count 측정항목으로 알림을 구성합니다. 자세한 내용은 머신 재시작 문제 해결을 참조하세요.

Distributed Cloud(연결형) 하드웨어는 Google에서 관리합니다. 머신에 대한 SSH 액세스 권한이 없거나 호스트 운영체제를 제어할 수 없습니다. 네트워크 연결 또는 재시작과 같은 머신 수준 측정항목을 기반으로 알림이 트리거되면 조치 항목은 물리적 전원, 케이블 연결, 로컬 네트워크 및 방화벽 구성을 확인하거나 Google 지원팀에 문제를 에스컬레이션하는 것으로 제한됩니다.