VM 확장 프로그램 로그 보기

VM 확장 프로그램 관리자를 사용하여 Compute Engine 인스턴스 (VM)의 확장 프로그램을 관리하면 각 VM의 게스트 에이전트가 확장 프로그램 적용에 관한 이벤트를 로깅합니다. Cloud Logging을 사용하여 로그 탐색기에서 이러한 로그를 확인하여 VM 확장 프로그램의 문제를 모니터링하고 해결합니다.

시작하기 전에

  • VM 확장 프로그램 관리자 문서를 읽습니다.
  • 로그 탐색기 사용 방법을 읽어보세요.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.

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

    콘솔

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

    gcloud

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

      gcloud init

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  • 기본 리전 및 영역을 설정합니다.
  • REST

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

      Google Cloud CLI를 설치합니다.

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

    자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.

VM 확장 프로그램 로그 보기

VM 확장 프로그램 로그를 보려면 Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용합니다.

콘솔

  1. Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

    로그 탐색기로 이동

  2. 쿼리 필드에 다음 쿼리를 입력합니다.

    resource.type="gce_instance"
    resource.labels.instance_id="INSTANCE_ID"
    jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent"
    jsonPayload.extensionName="EXTENSION_NAME"
    timestamp >= START_TIME
    timestamp <= END_TIME
    

    다음을 바꿉니다.

    • INSTANCE_ID: VM 인스턴스의 ID입니다.
    • EXTENSION_NAME: 확장 프로그램의 이름입니다 (예: ops-agent).
    • START_TIME: 기간의 시작(예: 2024-01-01T00:00:00Z)
    • END_TIME: 기간의 끝(예: 2024-02-01T00:00:00Z)

    예시 질문:

    resource.type="gce_instance"
    resource.labels.instance_id="projects/7654321/zones/us-central1-a/instances/123456"
    jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent"
    jsonPayload.extensionName="ops-agent"
    timestamp >= "2024-01-01T00:00:00Z"
    timestamp <= "2024-02-01T01:00:00Z"
    
  3. 쿼리 실행을 클릭합니다.

gcloud

VM 확장 프로그램 로그를 조회하려면 logging read 명령어를 사용합니다. 예를 들면 다음과 같습니다.

gcloud logging read 'resource.type="gce_instance" AND \
    resource.labels.instance_id="INSTANCE_ID" AND \
    jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent" AND \
    jsonPayload.extensionName="YOUR_EXTENSION_NAME" AND \
    timestamp >= "START_TIME" AND \
    timestamp <= "END_TIME"'

다음을 바꿉니다.

  • INSTANCE_ID: VM 인스턴스의 ID입니다.
  • YOUR_EXTENSION_NAME: 확장 프로그램의 이름입니다 (예: ops-agent).
  • START_TIME: 기간의 시작입니다 (예: 2024-01-01T00:00:00Z).
  • END_TIME: 시간 범위의 끝입니다 (예: 2024-02-01T00:00:00Z).

REST

Logging V2 API에 요청을 수행합니다. 요청 본문에는 filter 파라미터가 포함되어야 합니다. 예를 들면 다음과 같습니다.

POST https://logging.googleapis.com/v2/entries:list

{
  "filter": "resource.type="gce_instance" AND
            "resource.labels.instance_id="INSTANCE_ID" AND
            "jsonPayload.@type="type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent" AND
            "jsonPayload.extensionName="EXTENSION_NAME" AND
            "timestamp >= "START_TIME" AND
            "timestamp <= "END_TIME",
  "pageSize": 10,
  "resourceNames": [
    "projects/PROJECT_ID"
  ]
}

다음을 바꿉니다.

  • INSTANCE_ID: VM 인스턴스의 ID입니다.
  • EXTENSION_NAME: 확장 프로그램의 이름입니다 (예: ops-agent).
  • START_TIME: 기간의 시작입니다 (예: 2024-01-01T00:00:00Z).
  • END_TIME: 기간의 종료 시간입니다 (예: 2024-02-01T00:00:00Z).
  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.

VM 확장 프로그램 이벤트 로그 항목

다음은 VM 확장 프로그램 이벤트의 로그 항목 예시입니다.

{
  "insertId": "rsiudxbck",
  "jsonPayload": {
    "eventMessage": "Enforcement State: Installing ops-agent@4bda61add3e5c989.; Extension Health: Plugin is running ok",
    "timestamp": "2026-03-23T16:13:40.496755675Z",
    "extensionName": "ops-agent",
    "revisionId": "4bda61add3e5c989",
    "@type": "type.googleapis.com/google.compute.logging.agentcontrolplane.v1.VmExtensionEvent",
    "eventType": "INSTALLED"
  },
  "resource": {
    "type": "gce_instance",
    "labels": {
      "project_id": "27654321",
      "instance_id": "projects/7654321/zones/us-west1-a/instances/1234567",
      "zone": "us-west1-a"
    }
  },
  "timestamp": "2026-03-23T16:13:40.496854498Z",
  "severity": "INFO",
  "logName": "projects/my-project/logs/compute.googleapis.com%2Fvm_extension_policies",
  "receiveTimestamp": "2026-03-23T16:13:40.906133199Z"
}

로그 항목 세부정보

다음 표에서는 VM 확장 프로그램 로그에서 확인할 수 있는 매개변수를 설명합니다.

필드 설명
eventMessage 시정 조치 상태와 확장 프로그램 상태를 포함하여 이벤트를 설명하는 메시지입니다.
extensionName 확장 프로그램의 이름입니다 (예: ops-agent).

지원되는 확장 프로그램과 이름 목록은 지원되는 확장 프로그램을 참고하세요.

extensionVersion 설치를 위해 선택된 확장 프로그램의 버전입니다. 이 버전은 확장 프로그램 정책에 고정된 버전이거나 고정된 버전이 없는 경우 최신 버전입니다.
revisionId 확장 프로그램 버전의 특정 바이너리입니다. 각 확장 프로그램 버전에는 다양한 운영체제를 지원하는 여러 수정사항이 있을 수 있으며 Google에서 특정 VM에 적합한 버전을 자동으로 선택합니다. 이 수정 버전 ID를 Google 지원팀에 제공하면 VM에 올바른 바이너리가 선택되었는지 디버깅하는 데 도움이 됩니다.
eventType 이벤트 유형입니다. 다음 값 중 하나일 수 있습니다.
  • CRASHED: 확장 프로그램이 비정상 종료되었습니다. 이 값은 확장 프로그램이 한때 설치되고 성공적으로 시작되었지만 실행이 중지되었음을 나타냅니다.
  • INSTALL_FAILED: 확장 프로그램 설치에 실패했습니다.
  • INSTALLED: 확장 프로그램이 설치되고 성공적으로 시작되었습니다.
  • ROLLBACK_FAILED: 확장 프로그램 롤백에 실패했습니다.
  • ROLLED_BACK: 확장 프로그램 롤백이 성공했습니다.
  • INCOMPATIBLE: 확장 프로그램 버전 후보 중 설치 요구사항 (예: 운영체제 또는 아키텍처)을 충족하는 항목이 없습니다.
  • SERVICE_DISABLED: 이 확장 프로그램이 필요한 서비스가 사용 중지되었습니다.