VM 관찰 및 모니터링


이 문서에서는 가상 머신(VM) 측정항목에 액세스하고 보는 방법을 설명합니다. 또한 VM 측정항목을 검토하여 VM에 대해 자세히 알아보거나 VM 관련 특정 문제를 해결하는 방법을 설명합니다.

가상 머신(VM) 인스턴스 모니터링은 VM 리소스 유지보수에 필수적입니다. Compute Engine에서는 Google Cloud 콘솔의 관측 가능성 탭을 사용하여 VM 측정항목을 대략적으로 확인할 수 있습니다. 이 탭은 원격 분석 데이터를 사용하여 사전 정의된 대시보드를 제공하므로, VM을 모니터링하고 Compute Engine 리소스에 대해 정보에 기반한 의사결정을 내릴 수 있습니다. 사전 정의된 대시보드를 맞춤설정하여 원하는 특정 측정항목만 볼 수도 있습니다.

모든 VM에는 생성되면 사용 가능한 기본 프로세스 사용 데이터가 포함됩니다. 하지만 운영 에이전트를 설치하면 VM 동작에 대해 더 자세한 인사이트를 얻을 수 있습니다.

측정항목 탐색기를 사용하는 모니터링 알림 정책 만들기 또는 Google Cloud의 모니터링 및 측정항목 작동 방법에 대한 일반적인 내용은 Cloud Monitoring 문서를 참조하세요.

시작하기 전에

선택사항: Compute Engine 인스턴스에서 추가 세부 데이터를 수집하려면 운영 에이전트를 설치합니다.

운영 에이전트가 설치된 VM 인스턴스를 확인하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 Monitoring 대시보드로 이동합니다.

    Monitoring 대시보드로 이동

  2. 대시보드 목록에서 VM 인스턴스를 선택합니다.

  3. 목록을 클릭하여 VM을 목록으로 확인합니다.

    프로젝트의 모든 VM이 표시됩니다. 에이전트 열에는 운영 에이전트 설치 상태가 표시됩니다. 이 페이지에서 에이전트를 설치하거나 업데이트할 수 있습니다.

VM 관측 가능성 측정항목 액세스

Google Cloud 콘솔에서 관측 가능성 탭을 사용하여 단일 또는 여러 VM의 정보에 액세스합니다. 기본적으로 사전 정의된 대시보드에는 VM 측정항목이 표시됩니다. 원하는 특정 측정항목만 보려면 맞춤설정된 대시보드를 만들면 됩니다.

단일 VM에 대한 관측 가능성 측정항목 보기

VM을 만들 때 CPU 사용률 및 네트워크 트래픽과 같은 기본 VM 측정항목을 사용할 수 있습니다. 메모리 및 프로세스 사용률에 대한 측정항목은 운영 에이전트를 설치해야 확인할 수 있습니다. 운영 에이전트는 Compute Engine 인스턴스에서 원격 분석을 수집하기 위한 기본 에이전트입니다.

단일 VM의 측정항목을 보려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. VM을 선택하여 세부정보 페이지를 엽니다.

  3. 관측 가능성 탭을 클릭하여 VM에 대한 정보를 표시합니다.

  4. 선택사항: 1시간의 기본 기간을 모니터링할 기간으로 재설정합니다.

그림 1의 정보는 VM에 설치된 운영 에이전트 없이 VM 세부정보를 보여줍니다. 메모리디스크 공간 사용률 그래프에는 데이터가 없습니다.

운영 에이전트가 설치되지 않은 VM 1개의 관측 가능성 탭
그림 1: 운영 에이전트가 설치되지 않은 단일 VM의 관측 가능성 탭입니다.

여러 VM의 관측 가능성 측정항목 보기

Fleet 수준의 관측 가능성에는 프로세스 사용률이 가장 높은 상위 5개 VM의 측정항목이 표시됩니다. 나열되는 상위 5개 VM은 측정항목에 따라 달라집니다. 각 프로세스에 대해 5개 VM이 동일하게 표시되지 않을 수 있습니다. 단일 VM에 제공되는 데이터 양에 비해 운영 에이전트를 설치하지 않고 Fleet 수준에서 제공되는 데이터가 더 많지만 에이전트를 설치하면 이후 문제 해결 프로세스를 위해 더 많은 데이터를 얻을 수 있습니다.

여러 VM의 측정항목을 보려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 관측 가능성 탭을 클릭합니다.

  3. 선택사항: 1시간의 기본 기간을 모니터링할 기간으로 재설정합니다.

  4. 다음 옵션 중 하나 이상을 사용해서 결과를 필터링합니다.

    • ID
    • 이름
    • 머신 유형
    • 영역
    • 리전
    • 인스턴스 그룹
    • 라벨
    • 상태

그림 2의 정보는 한 프로젝트의 여러 VM에 운영 에이전트가 설치되었을 때 관측 가능성 탭의 예시를 보여줍니다. 이러한 VM에 대해서는 더 많은 측정항목이 제공됩니다.

운영 에이전트가 설치된 여러 VM 인스턴스
그림 2: 운영 에이전트가 설치된 여러 VM 인스턴스.

VM의 세부 측정항목 보기

각 VM 프로세스 측정항목은 차트에서 그래프 줄로 표시됩니다. 다음 예시에서 uptime-demo VM에는 운영 에이전트가 설치되어 있습니다. 메모리 사용률 데이터는 문제 해결 목적으로 제공됩니다. VM이 카드에 없으면 VM 이름으로 필터링해서 특정 VM을 찾습니다.

관측 가능성 탭에서 이 VM 또는 다른 상위 5개 VM에 대한 정보를 검색하려면 다음을 수행합니다.

  1. VM의 그래프 선 위에 마우스 포인터를 올려놓습니다. 이 프로세스를 사용하는 상위 5개 VM 목록에 각각 측정항목이 표시된 카드가 나타납니다.
  2. VM 동작에 대해 자세히 알아보려면 VM 그래프 선 또는 목록에서 특정 VM 이름을 클릭합니다.

그림 3에서 카드에 표시된 uptime-demo VM은 검토가 필요할 수 있는 일부 측정항목을 보여줍니다.

그래프 선은 VM을 나타냅니다. 특정 VM에 대해 자세히 알아보려면 클릭합니다.
그림 3: 그래프 줄은 VM을 나타냅니다. 특정 VM에 대해 자세히 알아보려면 클릭합니다.

uptime-demo VM을 클릭하여 그림 4에 표시된 VM 세부정보 페이지를 열면 다음 정보가 표시됩니다.

  • 운영 에이전트 상태
  • 알림 만들기, 이벤트 확인, 업타임 체크 만들기를 위한 컨텍스트 내 옵션
  • VM 구성, 측정항목 및 로그에 대한 세부정보를 보여주는 옵션
VM 세부정보 페이지는 특정 VM에 대한 정보를 제공합니다.
그림 4: VM 세부정보 페이지는 특정 VM에 대한 정보를 보여줍니다.

특정 측정항목을 볼 수 있도록 맞춤설정된 대시보드 만들기

기본적으로 Compute Engine의 관측 가능성 탭에는 기본 VM 측정항목을 표시하는 사전 정의된 대시보드가 제공됩니다. 원하는 특정 측정항목만 보려면 사전 정의된 대시보드를 수정하고 맞춤설정된 대시보드로 저장하면 됩니다. 필요에 따라 대시보드를 맞춤설정할 수 있습니다.

맞춤설정된 대시보드를 만들려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 다음과 같이 관측 가능성 탭으로 이동합니다.

    • 단일 VM의 경우: VM 인스턴스 페이지에서 VM 이름을 클릭하여 세부정보 페이지를 연 후 해당 VM의 관측 가능성 탭을 클릭합니다.
    • 여러 VM의 경우: VM 인스턴스 페이지에서 관측 가능성 탭을 클릭합니다.
  3. 대시보드 드롭다운이 사용 설정되어 있으면 맞춤설정된 대시보드를 사용할 수 있습니다. 커스텀 뷰를 수정하려면 드롭다운에서 커스텀 뷰를 선택한 후 대시보드 툴바에서 를 클릭합니다.

  4. 아니면 사전 정의된 대시보드를 맞춤설정하려면 대시보드 툴바에서 를 클릭합니다.

    Compute Engine이 사전 정의된 대시보드의 복사본을 만든 후 수정 모드로 복사본을 엽니다.

  5. 편집기에서 대시보드의 시각화를 추가, 수정, 삭제, 재배치하거나 크기를 조절할 수 있습니다. 시각화를 통칭하여 위젯이라고 합니다. 여러 위젯 유형에 대한 자세한 내용은 대시보드 개요를 참조하세요.

    • 위젯을 추가하려면 대시보드 툴바에서 위젯 추가를 클릭하고 구성을 완료합니다.

      예를 들어 측정항목 데이터가 포함된 로그를 보려면 위젯 추가를 클릭하고 로그를 선택한 후 적용을 클릭합니다.

    • 위젯을 수정하려면 위젯에 마우스 포인터를 올려놓아 툴바를 활성화하고 위젯 수정을 클릭한 후 위젯 구성 대화상자를 사용합니다. 대시보드에 변경사항을 적용하려면 툴바에서 적용을 클릭합니다. 변경사항을 삭제하려면 취소를 클릭합니다.

    • 위젯을 삭제하려면 위젯 위에 마우스 포인터를 올려놓아 툴바를 활성화하고 차트 옵션 더보기를 클릭한 후 삭제를 선택합니다.

    • 위젯 위치를 변경하려면 포인터를 사용하여 위젯을 헤더별로 새 위치로 드래그합니다.

    • 위젯 크기를 조절하려면 마우스 포인터를 사용하여 위젯의 오른쪽 모서리 위치를 변경합니다.

  6. 대시보드 수정을 완료한 후 저장을 클릭합니다.

  7. 변경사항을 확인하는 대화상자에서 맞춤설정된 대시보드 보기를 클릭하여 맞춤설정된 뷰로 이동합니다.

    대시보드 드롭다운에서 사전 정의를 선택하여 사전 정의된 뷰로 다시 전환할 수 있습니다.

리소스 측정항목 검토

각 리소스 측정항목에 대해 자세히 알아보려면 관측 가능성 탭 메뉴 내에서 각 프로세스를 클릭합니다.

  • CPU, 프로세스, 메모리 사용률, 네트워크 트래픽, 디스크 사용률을 확인합니다.
  • 로그를 검색해서 로그 데이터를 보고 시스템 이벤트를 식별 및 확인합니다.
  • 타사 통합을 추가하고 구성된 기존 통합을 확인합니다.

이 섹션의 나머지 부분에서는 일부 프로세스가 워크로드에 어떤 영향을 줄 수 있는지에 대한 예시를 보여줍니다. 이 정보에서는 운영 에이전트가 VM에 설치되었다고 가정합니다.

CPU 사용률

웹사이트 트래픽이 갑자기 크게 증가하거나 대규모 데이터 처리 태스크가 수행될 때와 같이 예기치 않게 로드가 심하면 CPU 사용률이 크게 높아질 수 있습니다. 이러한 경우 긴 시간 동안 CPU가 100% 용량으로 실행되어 서버가 느려지거나 응답하지 않을 수 있습니다.

이 예시에서는 포화도가 문제입니다. CPU 사용률이 100%이면 해당 워크로드의 경우 문제가 없을 수 있지만 다른 측정항목을 조사해서 개입이 필요한지 확인할 수 있습니다. 이러한 경우 VM CPU 사용률이 급증할 때 알림을 받도록 알림 정책을 만들 수 있습니다.

적절한 권한이 있으면 SSH를 사용하여 VM에 연결하여 문제를 조사할 수 있습니다. 그러나 운영 에이전트가 설치되었으면 문제 해결에 도움이 될 수 있도록 추가 이전 데이터를 확인할 수 있습니다.

프로세스 사용률

극단적인 프로세스 동작의 예로, 프로세스가 CPU, 메모리, 디스크 I/O와 같은 리소스를 너무 과도하게 사용해서 성능이 저하되거나 VM이 비정상적으로 종료되는 경우를 들 수 있습니다.

예를 들어 VM에서 실행되는 프로세스에 메모리 누수가 발생하면 시간에 따라 점차적으로 과도한 양의 메모리를 소비해서 결국 메모리 부족이 발생하고 VM이 비정상적으로 종료될 수 있습니다. 이와 비슷하게, 프로세스에 디스크가 심각하게 사용될 경우 VM의 디스크 I/O가 포화되어 다른 프로세스의 응답 시간을 느리게 만들 수 있습니다.

메모리 사용률

데이터베이스는 색인 생성, 정렬 및 테이블 조인과 같은 작업을 수행하기 위해 많은 메모리가 필요합니다.

예를 들어 MySQL용 Cloud SQL 또는 PostgreSQL용 Cloud SQL와 같은 데이터베이스 서버를 대규모 데이터 세트로 실행하는 경우에는 VM에서 대규모 메모리 사용이 발생합니다. VM에 사용 가능한 메모리가 너무 작을 경우 데이터 세트를 메모리에 다시 로드하는 것으로도 데이터베이스 실행이 느려지고 비정상적으로 종료될 수 있습니다.

네트워크 성능

네트워크 성능 문제는 정체, 대역폭 제한, 하드웨어 또는 소프트웨어 문제, 지연 시간 등 여러 요인의 결과입니다. 문제를 진단하려면 네트워크 성능 측정항목을 모니터링하고, 하드웨어 및 소프트웨어 문제를 해결하고, 네트워크 트래픽 패턴을 분석해서 문제의 근본 원인을 파악하고 해결합니다.

디스크 사용률

VM에서 디스크 사용률이 높게 나타나는 경우는 가상 디스크에서 대량의 데이터를 읽거나 기록하여 디스크 액세스 지연이 발생하고 VM 성능에 영향을 줄 수 있을 때입니다.

초당 디스크 I/O 작업(IOPS), 디스크 큐 길이, 평균 디스크 응답 시간과 같은 디스크 사용률 측정항목을 모니터링하면 VM에서 높은 디스크 사용률 문제를 식별하고 진단하는 데 도움이 됩니다.

로그 및 시스템 이벤트 확인

모든 로그 페이지는 리소스에 대한 로그 데이터를 제공합니다. 심각도별로 정렬해서 문제를 식별하고 페이로드를 조사합니다.

감사 로그는 리소스에서 발생하는 관리 이벤트를 기록합니다. 이러한 로그는 이벤트 트리거를 위해 발생한 항목을 알려줍니다. 여러 로그가 동일한 행에 기록 및 유지 관리되므로, 예를 들어 동일한 로그가 20개 있으면 20개의 개별 행이 아니라 하나의 행에 정보가 저장됩니다.

시스템 이벤트는 상위 수준에서 발생하지만 Compute Engine 리소스에 영향을 줄 수 있는 이벤트를 가리키는 일반적인 용어라고 생각할 수 있습니다. 시스템 이벤트는 계획된 이벤트와 관련이 없는 오류가 일어날 때 발생합니다. 시스템 이벤트는 Fleet 수준에서 로깅됩니다.

타사 통합 사용

Monitoring은 타사 애플리케이션과의 통합을 제공합니다. 이러한 통합을 사용하면 Apache Web Server, MySQL용 Cloud SQL, Redis용 Memorystore, 기타 항목과 같은 애플리케이션에서 Compute Engine 및 GKE에서 실행되는 배포에 대해 원격 분석을 수집할 수 있습니다. Compute Engine을 사용할 경우 타사 원격 분석은 운영 에이전트에서 수집됩니다.

다음 단계