상태 모니터링

Vertex AI Workbench 인스턴스는 노트북 상태를 모니터링하는 몇 가지 방법을 제공합니다. 이 페이지에서는 각 방법에 대해 설명합니다.

상태 모니터링 방법

Vertex AI Workbench 인스턴스 상태를 몇 가지 방법을 모니터링할 수 있습니다. 이 페이지에서는 다음 방법을 설명합니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Notebooks API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

게스트 속성을 사용하여 시스템 상태 보고

게스트 속성을 사용하여 다음 핵심 서비스의 시스템 상태를 보고할 수 있습니다.

  • Docker 서비스
  • Docker 역방향 프록시 에이전트
  • Jupyter 서비스
  • Jupyter API

게스트 속성은 애플리케이션이 Vertex AI Workbench 인스턴스에서 실행되는 동안 쓸 수 있는 특정 유형의 커스텀 메타데이터입니다. 게스트 속성에 대한 자세한 내용은 VM 메타데이터 정보를 참조하세요.

인스턴스가 게스트 속성을 사용하여 시스템 상태를 보고하는 방법

notebooks-collection-agent 서비스는 백그라운드에서 Python 프로세스를 실행하는데, 이 프로세스는 Vertex AI Workbench 인스턴스의 코어 서비스의 상태를 확인하고 1(오류가 감지되지 않는 경우) 또는 -1(오류가 감지된 경우)로 게스트 속성을 업데이트합니다.

notebooks-collection-agent 서비스를 사용하여 Vertex AI Workbench 인스턴스의 상태를 보고하려면 Vertex AI Workbench 인스턴스를 만드는 중에 다음 게스트 속성을 사용 설정해야 합니다.

  • enable-guest-attributes=TRUE: Vertex AI Workbench 인스턴스에서 게스트 속성을 사용 설정합니다. 모든 새 인스턴스에서는 기본적으로 이 속성을 사용 설정합니다.
  • report-event-health=TRUE: 게스트 속성에 대한 시스템 상태 점검 결과를 기록합니다.

notebooks-collection-agent 서비스는 인스턴스의 게스트 속성에 쓰기 위해 특별한 권한이 필요하지 않습니다.

시스템 상태 게스트 속성을 사용 설정하여 Vertex AI Workbench 인스턴스 만들기

시스템 상태 게스트 속성을 사용하여 Vertex AI Workbench 인스턴스의 상태를 보고하려면 Vertex AI Workbench 인스턴스를 만들 때 시스템 상태 보고서 사용 설정 체크박스를 선택해야 합니다.

Google Cloud 콘솔을 사용하여 시스템 상태 보고서를 사용 설정할 수 있습니다.

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

    인스턴스로 이동

  2. 새로 만들기를 클릭합니다.

  3. 새 인스턴스 대화상자에서 고급 옵션을 클릭합니다.

  4. 인스턴스 만들기 대화상자의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공합니다.

    • 이름: 새 인스턴스 이름을 입력합니다.
    • 리전영역: 새 인스턴스의 리전 및 영역을 선택합니다. 최상의 네트워크 성능을 위해 지리적으로 가장 가까운 리전을 선택합니다.
  5. 시스템 상태 섹션의 보고에서 시스템 상태 보고를 선택합니다.

  6. 인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.

게스트 속성을 통해 시스템 상태 모니터링

관련 게스트 속성이 사용 설정된 Vertex AI Workbench 인스턴스의 경우 Google Cloud 콘솔, Compute Engine 명령어가 포함된 Google Cloud CLI 또는 Vertex AI Workbench 명령어가 포함된 Google Cloud CLI 중 하나를 사용하여 시스템 상태 게스트 속성의 값을 구성할 수 있습니다.

콘솔

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

    인스턴스로 이동

  2. 시스템 상태를 보려는 인스턴스 이름을 클릭합니다.

  3. 인스턴스 세부정보 페이지에서 상태 탭을 클릭합니다. 인스턴스 및 해당 핵심 서비스의 상태를 검토합니다.

Compute Engine을 사용한 gcloud

gcloud compute instances get-guest-attributes INSTANCE_NAME \
    --zone ZONE

다음을 바꿉니다.

  • INSTANCE_NAME: 인스턴스의 이름입니다.
  • ZONE: 인스턴스가 있는 영역입니다.

핵심 서비스가 정상인 경우 결과는 다음과 같습니다. 1 값은 오류가 감지되지 않았음을 의미합니다.

 NAMESPACE   KEY                         VALUE
 notebooks   docker_proxy_agent_status   1
 notebooks   docker_status               1
 notebooks   jupyterlab_api_status       1
 notebooks   jupyterlab_status           1
 notebooks   system-health               1
 notebooks   updated                     2023-06-20 17:00:00.12345

4가지 핵심 서비스 중 하나가 실패하면 system-health는 -1 값을 보고하여 시스템 장애를 나타냅니다. 대부분의 경우 시스템 오류는 JupyterLab에 액세스할 수 없음을 의미합니다.

실패 결과의 예시는 다음과 같습니다.

 NAMESPACE   KEY                         VALUE
 notebooks   docker_proxy_agent_status   -1
 notebooks   docker_status               -1
 notebooks   jupyterlab_api_status       1
 notebooks   jupyterlab_status           1
 notebooks   system-health               -1
 notebooks   updated                     2023-06-20 17:00:00.12345

Monitoring에 커스텀 측정항목 보고

Vertex AI Workbench 인스턴스를 사용하면 시스템 상태 및 JupyterLab 측정항목을 수집하여 Cloud Monitoring에 보고할 수 있습니다. 이러한 커스텀 측정항목은 Vertex AI Workbench 인스턴스에 Monitoring을 설치할 때 보고되는 표준 측정항목과 다릅니다.

Monitoring에 보고된 커스텀 측정항목은 다음을 포함합니다.

  • 다음 Vertex AI Workbench 핵심 서비스의 시스템 상태:

    • Docker 서비스
    • Docker 역방향 프록시 에이전트
    • Jupyter 서비스
    • Jupyter API
  • 다음 JupyterLab 측정항목:

    • 커널 수
    • 터미널 수
    • 연결 수
    • 세션 수
    • 최대 메모리
    • 고성능 메모리
    • 현재 메모리

인스턴스가 Monitoring에 커스텀 측정항목을 보고하는 방법

커스텀 측정항목을 Monitoring에 보고하려면 Vertex AI Workbench 인스턴스를 만들 때 report-notebook-metrics 메타데이터를 사용 설정해야 합니다.

또한 Vertex AI Workbench 인스턴스의 서비스 계정에 모니터링 측정항목 작성자(roles/monitoring.metricWriter) 권한이 있는지 확인해야 합니다. 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

Monitoring에 커스텀 측정항목을 보고하는 Vertex AI Workbench 인스턴스 만들기

커스텀 측정항목을 Monitoring에 보고하려면 Vertex AI Workbench 인스턴스를 만들 때 Cloud Monitoring에 커스텀 측정항목 보고 체크박스를 선택해야 합니다.

Google Cloud 콘솔을 사용하여 Cloud Monitoring에 커스텀 측정항목을 보고할 수 있습니다.

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

    인스턴스로 이동

  2. 새로 만들기를 클릭합니다.

  3. 새 인스턴스 대화상자에서 고급 옵션을 클릭합니다.

  4. 인스턴스 만들기 대화상자의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공합니다.

    • 이름: 새 인스턴스 이름을 입력합니다.
    • 리전영역: 새 인스턴스의 리전 및 영역을 선택합니다. 최상의 네트워크 성능을 위해 지리적으로 가장 가까운 리전을 선택합니다.
  5. 시스템 상태 섹션의 보고에서 Cloud Monitoring에 커스텀 측정항목 보고를 선택합니다.

  6. 인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.

서비스 계정에 Monitoring 측정항목 작성자 권한 부여

새 Vertex AI Workbench 인스턴스를 만든 후 Vertex AI Workbench 인스턴스에 대해 서비스 계정에 Monitoring 측정항목 작성자 권한(roles/monitoring.metricWriter)을 부여합니다. 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

Monitoring을 통한 커스텀 측정항목 모니터링

커스텀 측정항목 보고를 사용 설정한 Vertex AI Workbench 인스턴스의 경우 Google Cloud 콘솔을 사용하여 커스텀 측정항목을 모니터링할 수 있습니다.

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

    인스턴스로 이동

  2. 커스텀 측정항목을 보려는 인스턴스 이름을 클릭합니다.

  3. 인스턴스 세부정보 페이지에서 모니터링 탭을 클릭합니다. 인스턴스의 커스텀 측정항목을 검토합니다.

인스턴스에 Monitoring 설치

이 옵션은 Monitoring을 자동으로 설치합니다. 설치하려면 디스크 공간 256MB가 필요합니다. 측정항목을 Monitoring에 보고하려면 인터넷 연결이 필요합니다.

인스턴스가 시스템 및 애플리케이션 측정항목을 보고하는 방법

Vertex AI Workbench 인스턴스에 Cloud Monitoring을 설치하여 시스템 및 애플리케이션 측정항목을 보고하려면 Vertex AI Workbench 인스턴스 생성 시 Cloud Monitoring 에이전트 설치 체크박스를 선택해야 합니다. 이러한 측정항목은 report-notebook-metrics 메타데이터 설정을 사용 설정할 때 보고되는 커스텀 측정항목과 다릅니다.

시스템 및 애플리케이션 측정항목을 Monitoring에 보고하는 Vertex AI Workbench 인스턴스 만들기

Vertex AI Workbench 인스턴스에 Monitoring을 설치하려면 Google Cloud 콘솔을 사용하면 됩니다.

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

    인스턴스로 이동

  2. 새로 만들기를 클릭합니다.

  3. 새 인스턴스 대화상자에서 고급 옵션을 클릭합니다.

  4. 인스턴스 만들기 대화상자의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공합니다.

    • 이름: 새 인스턴스 이름을 입력합니다.
    • 리전영역: 새 인스턴스의 리전 및 영역을 선택합니다. 최상의 네트워크 성능을 위해 지리적으로 가장 가까운 리전을 선택합니다.
  5. 시스템 상태 섹션의 보고에서 Cloud Monitoring 설치를 선택합니다.

  6. 인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.

Monitoring을 통해 시스템 및 애플리케이션 측정항목 모니터링

Monitoring이 설치된 Vertex AI Workbench 인스턴스의 경우 Google Cloud 콘솔을 사용하여 시스템 및 애플리케이션 측정항목을 모니터링할 수 있습니다.

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

    인스턴스로 이동

  2. 시스템 및 애플리케이션 측정항목을 보려는 인스턴스 이름을 클릭합니다.

  3. 인스턴스 세부정보 페이지에서 모니터링 탭을 클릭합니다. 인스턴스의 시스템 및 애플리케이션 측정항목을 검토합니다. 이러한 측정항목을 해석하는 방법을 알아보려면 리소스 측정항목 검토를 참조하세요.

진단 도구를 사용하여 시스템 상태 모니터링

Vertex AI Workbench 인스턴스에는 인스턴스의 시스템 상태를 모니터링하는 데 도움이 되는 기본 제공 진단 도구가 있습니다.

진단 도구에서 수행하는 태스크

진단 도구는 다음 태스크를 수행합니다.

  • 다음 Vertex AI Workbench 핵심 서비스의 상태를 확인합니다.

    • Docker 서비스
    • Docker 역방향 프록시 에이전트
    • Jupyter 서비스
    • Jupyter API
  • 부팅 및 데이터 디스크의 디스크 공간이 85% 기준점을 초과하는지 여부를 확인합니다.

  • lsof를 설치합니다(인터넷 연결 필요).

  • 다음 인스턴스 로그를 수집합니다.

    • 네트워크 정보(ifconfig, netstat)
    • /var/log/ 폴더의 로그
    • Docker 상태 정보
    • lsof(파일 열기) 데이터
    • Docker 서비스 상태
    • 프록시 역방향 에이전트 상태
    • Jupyter 서비스 상태
    • Jupyter API 상태
    • 프록시 에이전트 구성 파일
    • Python 프로세스
  • 다음 명령어를 실행하고 결과를 수집합니다.

    • pip freeze
    • conda list
    • gcloud compute instances describe INSTANCE_NAME
    • gcloud config list

진단도구 실행

인스턴스에서 커스텀 컨테이너를 사용하는 경우 Vertex AI Workbench 커스텀 컨테이너 문서의 진단 도구 실행을 참고하세요.

커스텀 컨테이너를 사용하지 않는 인스턴스에서 진단 도구를 실행하려면 다음 단계를 완료하세요.

  1. ssh를 사용하여 Vertex AI Workbench 인스턴스에 연결합니다.

  2. SSH 터미널에서 다음 명령어를 실행합니다.

    sudo -i
    cd /opt/deeplearning/bin/
    ./diagnostic_tool.sh

    진단 도구는 로그를 수집하여 .tar.gz 파일로 압축한 후 파일을 /tmp/ 폴더에 배치합니다.

  3. 파일의 압축을 풀고 콘텐츠를 평가합니다. 콘텐츠에는 다음이 포함됩니다.

    • log 폴더: var/log/ 폴더의 로그
    • report.log: 수집된 모든 명령어의 출력
    • proxy-agent-config.json: 프록시 구성 정보
    • Docker 로그: Docker 컨테이너 로그가 포함된 -json.log 파일

진단 도구에서 다음과 같은 옵션을 사용할 수 있습니다.

옵션 설명
-r 실패한 Vertex AI Workbench 핵심 서비스 상태를 복원하려고 시도하는 복구 옵션
-s 확인 없이 실행
-b .tar.gz 파일을 Cloud Storage 버킷에 업로드
-v 오류 발생 시 도구 문제 해결을 위한 디버그 옵션
-c 30초의 패킷 트래픽을 Vertex AI Workbench 인스턴스로 캡처하여 SSH를 필터링
-d 로그를 저장할 대상 폴더
-h 도움말

다음 단계