노드 문제 감지기로 시스템 상태 모니터링

Milestone 77부터 Container-Optimized OS에는 노드 문제 감지기 에이전트가 포함되어 있습니다. 이 기능을 사용하여 COS 인스턴스의 시스템 상태를 모니터링할 수 있습니다. 노드 문제 감지기는 인스턴스 상태를 모니터링하고, Google Cloud Observability 대시보드로 시각화할 수 있는 용량 및 오류 측정항목을 포함하여 상태 관련 측정항목을 Cloud Monitoring에 보고합니다. 기본 구성에서 수집된 측정항목은 무료입니다. Google은 집계된 측정항목을 사용하여 노드 문제를 이해하고 Container-Optimized OS의 안정성을 향상시킵니다.

에이전트는 내보낼 측정항목 세트로 사전 구성되어 있습니다. 현재 내장 에이전트에 대해 보고된 측정항목을 맞춤설정할 수 없습니다. 노드 문제 감지기는 오픈소스 소프트웨어입니다. 해당 소스 저장소에서 소스 코드구성을 검토할 수 있습니다.

상태 모니터링 활성화

노드 문제 감지기 에이전트는 부팅 시 기본적으로 사용 중지됩니다. 이 기능은 다음을 사용하여 사용 설정할 수 있습니다.

시작 스크립트 사용

시작 스크립트를 사용하여 노드 문제 감지기를 사용 설정할 수 있습니다.

cloud-init 사용

cloud-init 예시에서는 Container-Optimized OS 인스턴스 구성에 대한 기본 사항을 설명합니다. 다음 cloud-config 예시에서 cloud-init를 사용하여 상태 모니터링을 사용 설정할 수 있습니다.

#cloud-config

runcmd:
- systemctl start node-problem-detector

메타데이터 사용

Container-Optimized OS Milestone 88 이상에서는 커스텀 메타데이터 섹션에서 google-monitoring-enabled 값을 true로 설정하여 노드 문제 감지기를 사용 설정할 수도 있습니다.

인스턴스 생성 시 모니터링 사용 설정:

gcloud compute instances create VM_NAME \
    --image=IMAGE \
    --image-project=cos-cloud \
    --metadata=google-monitoring-enabled=true

다음을 바꿉니다.

  • VM_NAME: 새 VM의 이름입니다.
  • IMAGE: 공개 Container-Optimized OS 이미지의 특정 버전입니다. 예를 들면 --image=cos-113-18244-85-29입니다.

기존 인스턴스에서 모니터링 사용 설정:

gcloud compute instances add-metadata VM_NAME \
    --metadata=google-monitoring-enabled=true

VM_NAME을 VM의 이름으로 바꿉니다.

마일스톤 97부터는 프로젝트 메타데이터에서 모니터링을 사용 설정할 수 있습니다.

gcloud compute project-info add-metadata \
    --metadata google-monitoring-enabled=true

실행 후에는 node-problem-detector 서비스가 사용 설정됩니다.

사용자 정의 게스트 정책 사용

Container-Optimized OS에는 OS 시스템 유틸리티를 사용하여 게스트 정책에 지정된 VM의 상태를 유지하는 OS 구성 에이전트가 포함됩니다. 게스트 정책에 대한 자세한 내용은 OS 구성 에이전트 사용 설정게스트 정책 만들기를 참조하세요. 다음 게스트 정책은 모든 인스턴스에서 노드 문제 감지기 에이전트를 사용 설정합니다.

recipes:
- name: recipe-enable-npd
  desiredState: INSTALLED
  installSteps:
  - scriptRun:
      interpreter: SHELL
      script: |-
        #!/bin/bash
        systemctl start node-problem-detector

수집된 측정항목 보기

노드 문제 감지기는 Compute Engine 인스턴스 모니터링 리소스에 대한 측정항목 목록을 보고합니다. 측정항목은 compute.googleapis.com/guest/ 프리픽스가 있는 Monitoring 측정항목 목록에 설명되어 있습니다. Monitoring 측정항목 탐색기를 사용하여 수집된 측정항목을 볼 수 있습니다.

  1. Google Cloud 콘솔에서 Monitoring으로 이동하거나 다음 버튼을 사용합니다.

    모니터링으로 이동

  2. Monitoring 탐색 창에서 측정항목 탐색기를 클릭합니다.

  3. 리소스 유형으로 Compute Engine VM 인스턴스를 선택합니다.

  4. 측정항목(예: '문제 수')을 선택합니다.

  5. 오른쪽에 차트와 통계가 표시됩니다. 특정 Container-Optimized OS 인스턴스의 결과를 보려면 필터를 "instance_id=[INSTANCE_ID]"로 설정하고 [INSTANCE_ID]를 원하는 인스턴스 ID로 바꿉니다.

상태 모니터링 사용 중지

cloud-config 또는 시작 스크립트를 통해 이미 사용 설정된 서비스를 사용 중지하려면 systemctl start node-problem-detector 단계를 삭제한 다음 Container-Optimized OS 인스턴스를 재부팅합니다. 메타데이터로 사용 설정된 경우 google-monitoring-enabled 키가 false로 설정되었는지 확인합니다.