VM 인스턴스 통계 보기 및 이해


가상 머신(VM) 인스턴스 통계는 Compute Engine VM의 CPU, 메모리, 네트워크 사용량을 이해하는 데 도움이 됩니다. 통계는 시스템 측정항목 또는 Cloud Monitoring에서 수집되는 측정항목을 기준으로 자동으로 생성됩니다. 통계를 사용하여 VM 리소스를 보다 효율적으로 사용할 수 있도록 머신 유형의 크기 조절에 대한 결정을 지원할 수 있습니다.

통계에 대한 상세 설명은 통계를 참조하세요.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

VM 권장사항 통계 보기

Compute Engine은 리소스 통계를 기반으로 권장사항을 생성합니다. 권장사항에는 머신 유형 권장사항유휴 VM 권장사항이 포함됩니다.

특정 VM과 연관된 통계를 확인하여 VM의 CPU, 메모리, 네트워크 사용에 대해 자세히 알아볼 수 있습니다.

특정 권장사항을 생성한 통계를 보려면 gcloud CLI 또는 API를 사용합니다.

gcloud

특정 영역에 사용 가능한 모든 통계를 자세히 보려면 insights list 명령어를 사용하고 --format 옵션을 제공하세요.

gcloud recommender insights list --project=PROJECT_ID \
  --location=LOCATION \
  --insight-type=INSIGHT_TYPE_ID \
  --format=FORMAT

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID
  • LOCATION: 통계를 보려는 리소스가 포함된 영역
  • INSIGHT_TYPE_ID: 통계 유형의 ID입니다. 사용 가능한 VM 통계의 목록을 보려면 VM 인스턴스 통계 유형을 참조하세요.
  • FORMAT: 선호하는 출력 형식. 예를 들면 json입니다.

json 출력 형식을 사용하는 일반적인 insights list 명령어 결과는 다음과 같이 표시될 수 있습니다.

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f"
      }
    ],
    "category": "PERFORMANCE",
    "content": {
      "predictedCpuCores": 0.15
    },
    "description": "Predicted CPU usage is 0.1 vCPUs.",
    "etag": "\"fdb51460cac758a0\"",
    "insightSubtype": "CPU_USAGE_PREDICTION",
    "lastRefreshTime": "2021-09-15T06:50:45Z",
    "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0",
    "observationPeriod": "604800s",
    "severity": "LOW",
    "stateInfo": {
      "state": "ACTIVE"
    },
    "targetResources": [
      "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1"
    ]
  }
]

REST

특정 영역에 대해 사용 가능한 모든 통계를 자세히 보려면 insights.list 메서드를 사용합니다.

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE_ID/insights

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID
  • LOCATION: 통계를 보려는 리소스가 포함된 영역
  • INSIGHT_TYPE_ID: 통계 유형의 ID입니다. 사용 가능한 VM 통계의 목록을 보려면 VM 인스턴스 통계 유형을 참조하세요.

insights.list 메서드의 일반적인 출력은 다음과 같습니다.

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f"
      }
    ],
    "category": "PERFORMANCE",
    "content": {
      "predictedCpuCores": 0.15
    },
    "description": "Predicted CPU usage is 0.1 vCPUs.",
    "etag": "\"fdb51460cac758a0\"",
    "insightSubtype": "CPU_USAGE_PREDICTION",
    "lastRefreshTime": "2021-09-15T06:50:45Z",
    "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0",
    "observationPeriod": "604800s",
    "severity": "LOW",
    "stateInfo": {
      "state": "ACTIVE"
    },
    "targetResources": [
      "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1"
    ]
  }
]

통계에 대한 자세한 내용은 참조 문서를 확인하세요.

VM 인스턴스 통계 유형

다양한 통계를 사용해서 VM 성능에 대한 정보를 검색할 수 있습니다. 각 통계 유형에는 특정 콘텐츠 속성이 있습니다.

다음 섹션에서는 사용 가능한 VM 통계에 대한 참조를 제공합니다.

CPU 사용량 통계

Compute Engine에서는 마지막 관찰 기간 동안 VM의 CPU 사용량이 평소보다 높거나 낮을 때 CPU 사용량 통계를 생성합니다.

통계 유형 ID는 google.compute.instance.CpuUsageInsight입니다.

사용 가능한 하위 유형은 다음과 같습니다.

  • HIGH_CPU_USAGE
  • LOW_CPU_USAGE

이는 다음과 같은 통계 설명과 연관되어 있습니다.

  • In the last 12 days for 90% of the time, CPU usage was greater than or equal to 83%.
  • In the last 10 days for 70% of the time, CPU usage was lower than or equal to 20%.

다음 표에서는 CPU 사용량 통계와 연관된 콘텐츠에 대한 몇 가지 세부정보를 제공합니다.

속성 유형 설명
points ARRAY 객체의 배열. 각 객체에는 다음 속성이 포함됩니다.
  • sampleProbability: (DOUBLE) 분위수 함수 값 아래의 CPU 사용량 샘플의 상대적 양입니다.
  • quantileFunctionValue: (DOUBLE) 최소한 샘플의 일부(샘플 확률)를 포함하는 CPU 사용량의 상한 값입니다.
    이 값은 총 vCPU 양의 비율을 나타내며 [0, 1] 범위에 속합니다.

CPU 사용량 예측 통계

Compute Engine에서 다음 하루 동안 예측된 CPU 사용량을 나타내는 CPU 사용량 예측 통계가 생성됩니다.

통계 유형 ID는 google.compute.instance.CpuUsagePredictionInsight입니다.

이 통계에서 찾을 수 있는 일반적인 설명은 다음과 비슷합니다.

  • Predicted CPU usage is 0.1 vCPUs.

다음 표에서는 CPU 사용량 예측 통계와 연관된 콘텐츠에 대한 몇 가지 세부정보를 제공합니다.

속성 유형 설명
predicted_cpu_cores DOUBLE CPU 코어의 예측 수량

CPU 사용량 추세 통계

Compute Engine에서는 이전 관측 기간 동안 CPU 사용량에서 증가 또는 감소 추세가 나타나는 경우 CPU 사용량 추세 통계가 생성됩니다.

통계 유형 ID는 google.compute.instance.CpuUsageTrendInsight입니다.

사용 가능한 하위 유형은 다음과 같습니다.

  • CPU_USAGE_INCREASE
  • CPU_USAGE_DECREASE

이는 일반적으로 다음과 같은 통계 설명과 연관되어 있습니다.

  • In the last 7 days, average daily CPU usage has increased by 8% from 65% to 73%.
  • In the last 7 days, average daily CPU usage has decreased by 10% from 55% to 45%.

다음 표에서는 CPU 사용량 추세 통계와 연관된 콘텐츠에 대한 몇 가지 세부정보를 제공합니다.

속성 유형 설명
cpu_usage_percentage_at_start DOUBLE 관찰 기간 시작 시 측정된 일일 평균 CPU 사용량입니다.

이 값은 vCPU의 총 개수 비율을 나타내며 [0, 100] 범위 내에 있습니다.

cpu_usage_percentage_at_end DOUBLE 관찰 기간이 끝날 때 측정된 일일 평균 CPU 사용량입니다.

이 값은 vCPU의 총 개수 비율을 나타내며 [0, 100] 범위 내에 있습니다.

cpu_usage_percentage_change DOUBLE 관찰 기간 동안 일일 평균 CPU 사용량의 예측된 변동입니다.

예측은 선형 회귀를 사용해서 일일 CPU 사용량 변동을 모델링합니다.

이 값은 vCPU의 총 개수 비율을 나타내며 [0, 100] 범위 내에 있습니다.

메모리 사용량 통계

관찰 기간 동안 메모리 사용량이 매우 높거나 낮은 경우 Compute Engine은 메모리 사용량 통계를 만듭니다.

통계 유형 ID는 google.compute.instance.MemoryUsageInsight입니다.

사용 가능한 하위 유형은 다음과 같습니다.

  • HIGH_MEMORY_USAGE
  • LOW_MEMORY_USAGE

이는 일반적으로 다음과 같은 통계 설명과 연관되어 있습니다.

  • In the last 12 days for 80% of the time, memory usage was greater than or equal to 64%.
  • In the last 7 days for 50% of the time, memory usage was lower than or equal to 10%.

다음 표에서는 메모리 사용량 통계와 연관된 콘텐츠에 대한 몇 가지 세부정보를 제공합니다.

속성 유형 설명
points ARRAY 객체의 배열. 각 객체에는 다음 속성이 포함됩니다.
  • sampleProbability: (DOUBLE) 분위수 함수 값보다 작은 메모리 사용량 샘플의 상대적 양입니다.
  • quantileFunctionValue: (DOUBLE) 최소한 샘플의 일부(샘플 확률)를 포함하는 메모리 사용량의 상한 값입니다.
    이 값은 총 메모리 양의 비율을 나타내며 [0, 1] 범위 내에 있습니다.

메모리 사용량 예측 통계

Compute Engine에서는 다음 하루 동안 예측된 메모리 사용량을 나타내기 위해 메모리 사용량 예측 통계가 생성됩니다.

통계 유형 ID는 google.compute.instance.MemoryUsagePredictionInsight입니다.

일반적인 통계 설명은 다음과 같습니다.

  • Predicted memory usage is 1536 MB.

다음 표에서는 메모리 사용량 예측 통계와 연관된 콘텐츠에 대한 몇 가지 세부정보를 제공합니다.

속성 유형 설명
predicted_memory_mb DOUBLE MB 단위로 표시되는 예측된 메모리 용량입니다.

네트워크 처리량 통계

Compute Engine은 관찰 기간 동안 수신 또는 발신 트래픽의 네트워크 처리량이 매우 낮을 때 네트워크 처리량 통계를 생성합니다.

통계 유형 ID는 google.compute.instance.NetworkThroughputInsight입니다.

사용 가능한 하위 유형은 다음과 같습니다.

  • LOW_RECEIVED_NETWORK_THROUGHPUT
  • LOW_SENT_NETWORK_THROGHPUT

이는 일반적으로 다음과 같은 통계 설명과 연관되어 있습니다.

  • In the last 7 days for 80% of the time, received network throughput was lower than or equal to 500 B/s.
  • In the last 7 days for 80% of the time, sent network throughput was lower than or equal to 200 B/s.

다음 표에서는 네트워크 처리량 통계와 연관된 콘텐츠에 대한 몇 가지 세부정보를 제공합니다.

속성 유형 설명
sample_probability DOUBLE 분위수 함수 값보다 작은 네트워크 처리량 샘플의 상대적 양입니다.

이 값은 [0, 1] 범위 내에 있습니다.

quantile_function_value_in_bytes_per_second DOUBLE 샘플의 일부(샘플 확률)를 포함하는 네트워크 처리량의 상한 값입니다. 값은 초당 바이트 단위로 표시됩니다.

다음 단계