상태 모니터링
사용자 관리 노트북 인스턴스는 노트북 상태를 모니터링하는 몇 가지 방법을 제공합니다. 이 페이지에서는 각 메서드를 사용하는 방법을 설명합니다.
상태 모니터링 메서드
몇 가지 방법으로 사용자 관리 노트북 인스턴스의 상태를 모니터링할 수 있습니다. 이 페이지에서는 다음 메서드를 사용하는 방법을 설명합니다.
gcloud CLI 설정
이 페이지의 일부 단계를 완료하려면 Google Cloud CLI를 사용해야 합니다.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
게스트 속성을 사용하여 시스템 상태 보고
게스트 속성을 사용하여 다음 핵심 서비스의 시스템 상태를 보고할 수 있습니다.
- Docker 서비스
- Docker 역방향 프록시 에이전트
- Jupyter 서비스
- Jupyter API
게스트 속성은 애플리케이션이 사용자 관리 노트북 인스턴스에서 실행되는 동안 쓸 수 있는 특정 유형의 커스텀 메타데이터입니다. 게스트 속성에 대한 자세한 내용은 VM 메타데이터 정보를 참조하세요.
인스턴스가 게스트 속성을 사용하여 시스템 상태를 보고하는 방법
notebooks-collection-agent
서비스는 백그라운드에서 Python 프로세스를 실행하는데, 이 프로세스는 사용자 관리 노트북 인스턴스의 코어 서비스의 상태를 확인하고 1
(오류가 감지되지 않는 경우) 또는 -1
(오류가 감지된 경우)로 게스트 속성을 업데이트합니다.
notebooks-collection-agent
서비스를 사용하여 사용자 관리 노트북 인스턴스의 상태를 보고하려면 사용자 관리 노트북 인스턴스를 만드는 중에 다음 게스트 속성을 사용 설정해야 합니다.
enable-guest-attributes=TRUE
: 사용자 관리 노트북 인스턴스에서 게스트 속성을 사용 설정합니다. 모든 새 인스턴스에서는 기본적으로 이 속성을 사용 설정합니다.report-system-health=TRUE
: 게스트 속성에 대한 시스템 상태 점검 결과를 기록합니다.
notebooks-collection-agent
서비스는 인스턴스의 게스트 속성에 쓰기 위해 특별한 권한이 필요하지 않습니다.
시스템 상태 게스트 속성이 사용 설정된 사용자 관리 노트북 인스턴스 만들기
시스템 상태 게스트 속성을 사용하여 사용자 관리 노트북 인스턴스의 상태를 보고하려면 사용자 관리 노트북 인스턴스를 만들 때 시스템 상태 보고서 사용 설정 체크박스를 선택해야 합니다.
Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 시스템 상태 보고서를 사용 설정할 수 있습니다.
시작하기 전에
사용자 관리형 노트북 인스턴스를 만들려면 먼저 Google Cloud 프로젝트가 있고 이 프로젝트에 Notebooks API를 사용 설정해야 합니다.- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- 사용자 관리형 노트북 인스턴스에 GPU를 사용하려는 경우 Google Cloud 콘솔의 할당량 페이지를 확인하여 프로젝트에 사용 가능한 GPU가 충분히 있는지 확인하세요. GPU가 할당량 페이지에 나와 있지 않거나 추가 GPU 할당량이 필요한 경우 할당량 상향 조정을 요청하세요. Compute Engine 리소스 할당량 페이지의 추가 할당량 요청을 참조하세요.
필요한 역할
프로젝트를 만든 경우 프로젝트에 대한 소유자(roles/owner
) IAM 역할이 있으며 이 역할에는 모든 필수 권한이 포함됩니다. 이 섹션을 건너뛰고 사용자 관리형 노트북 인스턴스를 만듭니다. 프로젝트를 직접 만들지 않았으면 이 섹션에서 계속 진행합니다.
사용자 계정에 Vertex AI Workbench 사용자 관리형 노트북 인스턴스를 만드는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 사용자 계정에 부여해 달라고 요청하세요.
-
Notebooks 관리자(
roles/notebooks.admin
) -
서비스 계정 사용자(
roles/iam.serviceAccountUser
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 사용자 계정에 필요한 권한을 부여할 수도 있습니다.
인스턴스 만들기
콘솔
Google Cloud 콘솔에서 사용자 관리형 노트북 페이지로 이동합니다. 또는 notebook.new(https://notebook.new)로 이동하고 다음 단계로 건너뜁니다.
새 노트북을 클릭한 후 맞춤설정을 선택합니다.
사용자 관리형 노트북 만들기 페이지의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공하세요.
- 이름: 새 인스턴스 이름
- 리전 및 영역: 새 인스턴스의 리전 및 영역을 선택합니다. 최상의 네트워크 성능을 위해 지리적으로 가장 가까운 리전을 선택합니다. 사용 가능한 사용자 관리형 노트북 위치를 참조하세요.
시스템 상태 섹션을 선택합니다.
시스템 상태 및 보고 섹션에서 시스템 상태 보고서 사용 설정 체크박스를 선택합니다.
인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.
gcloud
Cloud Shell에서 또는 Google Cloud CLI가 설치된 환경에서 다음 Google Cloud CLI 명령어를 입력합니다.
gcloud notebooks instances create INSTANCE_NAME \ --vm-image-project=deeplearning-platform-release \ --vm-image-family=IMAGE_FAMILY \ --machine-type=MACHINE_TYPE \ --location=ZONE \ --metadata=enable-guest-attributes=TRUE,report-system-health=TRUE
다음을 바꿉니다.
Google Cloud 콘솔에서 인스턴스에 액세스합니다.
게스트 속성을 통해 시스템 상태 모니터링
관련 게스트 속성이 사용 설정된 사용자 관리 노트북 인스턴스의 경우 Google Cloud 콘솔, Compute Engine 명령어가 포함된 Google Cloud CLI 또는 Vertex AI Workbench 명령어가 포함된 Google Cloud CLI 중 하나를 사용하여 시스템 상태 게스트 속성의 값을 구성할 수 있습니다.
콘솔
Google Cloud 콘솔에서 사용자 관리형 노트북 페이지로 이동합니다.
시스템 상태를 보려는 인스턴스 이름을 클릭합니다.
노트북 세부정보 페이지에서 상태 탭을 클릭합니다. 인스턴스 및 해당 핵심 서비스의 상태를 검토합니다.
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 2020-10-01 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 2020-10-01 17:00:00.12345
Vertex AI Workbench를 사용하는 gcloud
시스템 상태를 모니터링하려면 getInstanceHealth 메서드를 사용하여 게스트 속성의 값을 검색합니다.
다음 예시에서는 gcloud CLI를 사용하여 이 작업을 수행하는 방법을 보여줍니다.
gcloud notebooks instances is-healthy example-instance \
--location=ZONE
ZONE
을 인스턴스가 있는 영역으로 바꿉니다(예: us-west1-a
).
핵심 서비스가 정상인 경우 결과는 다음과 같습니다.
1
값은 오류가 감지되지 않았음을 의미합니다.
{ "health_state": HEALTHY, "docker-proxy-agent": 1, "docker-service": 1, "jupyter-service": 1, "jupyter-api": 1, "last-updated": "2020-10-01 17:00:30.12345" }
실패 결과의 예시는 다음과 같습니다.
{ "healthy": UNHEALTHY, "docker-proxy-agent": 1, "docker-service": 1, "jupyter-service": -1, "jupyter-api": -1, "last-updated": "2020-10-01 17:00:30.12345" }
Monitoring에 커스텀 측정항목 보고
사용자 관리 노트북 인스턴스를 사용하면 시스템 상태 및 JupyterLab 측정항목을 수집하여 Cloud Monitoring에 보고할 수 있습니다. 이러한 커스텀 측정항목은 사용자 관리 노트북 인스턴스에 Monitoring을 설치할 때 보고되는 표준 측정항목과 다릅니다.
Monitoring에 보고된 커스텀 측정항목은 다음을 포함합니다.
다음 사용자 관리 노트북 핵심 서비스의 시스템 상태:
- Docker 서비스
- Docker 역방향 프록시 에이전트
- Jupyter 서비스
- Jupyter API
다음 JupyterLab 측정항목:
- 커널 수
- 터미널 수
- 연결 수
- 세션 수
- 최대 메모리
- 고성능 메모리
- 현재 메모리
인스턴스가 Monitoring에 커스텀 측정항목을 보고하는 방법
커스텀 측정항목을 Monitoring에 보고하려면 사용자 관리 노트북 인스턴스를 만드는 중에 report-notebook-metrics
메타데이터 설정을 사용 설정해야 합니다.
또한 사용자 관리 노트북 인스턴스의 서비스 계정에 Monitoring 측정항목 작성자(roles/monitoring.metricWriter
) 권한이 있는지 확인해야 합니다. 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
Monitoring에 커스텀 측정항목을 보고하는 사용자 관리 노트북 인스턴스 만들기
커스텀 측정항목을 Monitoring에 보고하려면 사용자 관리 노트북 인스턴스를 만들 때 Cloud Monitoring에 커스텀 측정항목 보고 체크박스를 선택해야 합니다.
Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 Cloud Monitoring에 커스텀 측정항목을 보고할 수 있습니다.
시작하기 전에
사용자 관리형 노트북 인스턴스를 만들려면 먼저 Google Cloud 프로젝트가 있고 이 프로젝트에 Notebooks API를 사용 설정해야 합니다.- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- 사용자 관리형 노트북 인스턴스에 GPU를 사용하려는 경우 Google Cloud 콘솔의 할당량 페이지를 확인하여 프로젝트에 사용 가능한 GPU가 충분히 있는지 확인하세요. GPU가 할당량 페이지에 나와 있지 않거나 추가 GPU 할당량이 필요한 경우 할당량 상향 조정을 요청하세요. Compute Engine 리소스 할당량 페이지의 추가 할당량 요청을 참조하세요.
필요한 역할
프로젝트를 만든 경우 프로젝트에 대한 소유자(roles/owner
) IAM 역할이 있으며 이 역할에는 모든 필수 권한이 포함됩니다. 이 섹션을 건너뛰고 사용자 관리형 노트북 인스턴스를 만듭니다. 프로젝트를 직접 만들지 않았으면 이 섹션에서 계속 진행합니다.
사용자 계정에 Vertex AI Workbench 사용자 관리형 노트북 인스턴스를 만드는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 사용자 계정에 부여해 달라고 요청하세요.
-
Notebooks 관리자(
roles/notebooks.admin
) -
서비스 계정 사용자(
roles/iam.serviceAccountUser
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 사용자 계정에 필요한 권한을 부여할 수도 있습니다.
인스턴스 만들기
콘솔
Google Cloud 콘솔에서 사용자 관리형 노트북 페이지로 이동합니다. 또는 notebook.new(https://notebook.new)로 이동하고 다음 단계로 건너뜁니다.
새 노트북을 클릭한 후 맞춤설정을 선택합니다.
사용자 관리형 노트북 만들기 페이지의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공하세요.
- 이름: 새 인스턴스 이름
- 리전 및 영역: 새 인스턴스의 리전 및 영역을 선택합니다. 최상의 네트워크 성능을 위해 지리적으로 가장 가까운 리전을 선택합니다. 사용 가능한 사용자 관리형 노트북 위치를 참조하세요.
시스템 상태 섹션을 선택합니다.
시스템 상태 및 보고 섹션에서 Cloud Monitoring에 대한 커스텀 측정항목 보고 체크박스를 선택합니다.
인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.
gcloud
Cloud Shell에서 또는 Google Cloud CLI가 설치된 환경에서 다음 Google Cloud CLI 명령어를 입력합니다.
gcloud notebooks instances create INSTANCE_NAME \ --vm-image-project=deeplearning-platform-release \ --vm-image-family=IMAGE_FAMILY \ --machine-type=MACHINE_TYPE \ --location=ZONE \ --metadata=report-notebook-metrics=TRUE
다음을 바꿉니다.
Google Cloud 콘솔에서 인스턴스에 액세스합니다.
서비스 계정에 Monitoring 측정항목 작성자 권한 부여
새 사용자 관리 노트북 인스턴스를 만든 후 사용자 관리 노트북 인스턴스의 서비스 계정에 Monitoring 측정항목 작성자 권한(roles/monitoring.metricWriter
)을 부여합니다.
자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
Monitoring을 통한 커스텀 측정항목 모니터링
커스텀 측정항목 보고를 사용 설정한 사용자 관리 노트북 인스턴스의 경우 Google Cloud Console을 사용하여 커스텀 측정항목을 모니터링할 수 있습니다.
Google Cloud Console에서 사용자 관리 노트북 페이지로 이동합니다.
커스텀 측정항목을 보려는 인스턴스 이름을 클릭합니다.
노트북 세부정보 페이지에서 모니터링 탭을 클릭합니다. 인스턴스의 커스텀 측정항목을 검토합니다.
인스턴스에 Monitoring 설치
이 옵션은 Monitoring을 자동으로 설치합니다. 설치하려면 디스크 공간 256MB가 필요합니다. 측정항목을 Monitoring에 보고하려면 인터넷 연결이 필요합니다.
인스턴스가 시스템 및 애플리케이션 측정항목을 보고하는 방법
사용자 관리 노트북 인스턴스에 Cloud Monitoring을 설치하여 시스템 및 애플리케이션 측정항목을 보고하려면 사용자 관리 노트북 인스턴스 생성 시 Cloud Monitoring 에이전트 설치 체크박스를 선택해야 합니다.
이러한 측정항목은 report-notebook-metrics
메타데이터 설정을 사용 설정할 때 보고되는 커스텀 측정항목과 다릅니다.
시스템 및 애플리케이션 측정항목을 Monitoring에 보고하는 사용자 관리 노트북 인스턴스를 만듭니다.
사용자 관리 노트북 인스턴스에 Monitoring을 설치하려면 Google Cloud 콘솔 또는 Google Cloud CLI를 사용할 수 있습니다.
시작하기 전에
사용자 관리형 노트북 인스턴스를 만들려면 먼저 Google Cloud 프로젝트가 있고 이 프로젝트에 Notebooks API를 사용 설정해야 합니다.- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
- 사용자 관리형 노트북 인스턴스에 GPU를 사용하려는 경우 Google Cloud 콘솔의 할당량 페이지를 확인하여 프로젝트에 사용 가능한 GPU가 충분히 있는지 확인하세요. GPU가 할당량 페이지에 나와 있지 않거나 추가 GPU 할당량이 필요한 경우 할당량 상향 조정을 요청하세요. Compute Engine 리소스 할당량 페이지의 추가 할당량 요청을 참조하세요.
필요한 역할
프로젝트를 만든 경우 프로젝트에 대한 소유자(roles/owner
) IAM 역할이 있으며 이 역할에는 모든 필수 권한이 포함됩니다. 이 섹션을 건너뛰고 사용자 관리형 노트북 인스턴스를 만듭니다. 프로젝트를 직접 만들지 않았으면 이 섹션에서 계속 진행합니다.
사용자 계정에 Vertex AI Workbench 사용자 관리형 노트북 인스턴스를 만드는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 사용자 계정에 부여해 달라고 요청하세요.
-
Notebooks 관리자(
roles/notebooks.admin
) -
서비스 계정 사용자(
roles/iam.serviceAccountUser
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 사용자 계정에 필요한 권한을 부여할 수도 있습니다.
인스턴스 만들기
콘솔
Google Cloud 콘솔에서 사용자 관리형 노트북 페이지로 이동합니다. 또는 notebook.new(https://notebook.new)로 이동하고 다음 단계로 건너뜁니다.
새 노트북을 클릭한 후 맞춤설정을 선택합니다.
사용자 관리형 노트북 만들기 페이지의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공하세요.
- 이름: 새 인스턴스 이름
- 리전 및 영역: 새 인스턴스의 리전 및 영역을 선택합니다. 최상의 네트워크 성능을 위해 지리적으로 가장 가까운 리전을 선택합니다. 사용 가능한 사용자 관리형 노트북 위치를 참조하세요.
시스템 상태 섹션을 선택합니다.
시스템 상태 및 보고 섹션에서 Cloud Monitoring 에이전트 설치 체크박스를 선택합니다.
인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.
gcloud
Cloud Shell에서 또는 Google Cloud CLI가 설치된 환경에서 다음 Google Cloud CLI 명령어를 입력합니다.
gcloud notebooks instances create INSTANCE_NAME \ --vm-image-project=deeplearning-platform-release \ --vm-image-family=IMAGE_FAMILY \ --machine-type=MACHINE_TYPE \ --location=ZONE \ --metadata=install-monitoring-agent=TRUE
다음을 바꿉니다.
Google Cloud 콘솔에서 인스턴스에 액세스합니다.
Monitoring을 통해 시스템 및 애플리케이션 측정항목 모니터링
Monitoring이 설치된 사용자 관리 노트북 인스턴스의 경우 Google Cloud Console을 사용하여 시스템 및 애플리케이션 측정항목을 모니터링할 수 있습니다.
Google Cloud Console에서 사용자 관리 노트북 페이지로 이동합니다.
시스템 및 애플리케이션 측정항목을 보려는 인스턴스 이름을 클릭합니다.
노트북 세부정보 페이지에서 모니터링 탭을 클릭합니다. 인스턴스의 시스템 및 애플리케이션 측정항목을 검토합니다. 이러한 측정항목을 해석하는 방법을 알아보려면 리소스 측정항목 검토를 참조하세요.
진단 도구를 사용하여 시스템 상태 모니터링
사용자 관리 노트북 인스턴스에는 인스턴스의 시스템 상태를 모니터링하는 데 도움이 되는 기본 제공 진단 도구가 있습니다.
진단 도구에서 수행하는 태스크
진단 도구는 다음 태스크를 수행합니다.
다음 사용자 관리 노트북 핵심 서비스의 상태를 확인합니다.
- 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
진단도구 실행
진단 도구를 실행하려면 다음 단계를 완료합니다.
SSH 터미널에서 다음 명령어를 실행합니다.
sudo -i cd /opt/deeplearning/bin/ ./diagnostic_tool.sh
진단 도구는 로그를 수집하여
.tar.gz
파일로 압축한 후 파일을/tmp/
폴더에 배치합니다.파일의 압축을 풀고 콘텐츠를 평가합니다. 콘텐츠에는 다음이 포함됩니다.
log
폴더:var/log/
폴더의 로그report.log
: 수집된 모든 명령어의 출력proxy-agent-config.json
: 프록시 구성 정보- Docker 로그: Docker 컨테이너 로그가 포함된
-json.log
파일
진단 도구에서 다음과 같은 옵션을 사용할 수 있습니다.
옵션 | 설명 |
---|---|
-r | 실패한 사용자 관리 노트북 핵심 서비스 상태를 복원하려고 시도하는 복구 옵션 |
-s | 확인 없이 실행 |
-b |
.tar.gz 파일을 Cloud Storage 버킷에 업로드
|
-v | 오류 발생 시 도구 문제 해결을 위한 디버그 옵션 |
-c | 30초의 패킷 트래픽을 사용자 관리 노트북 인스턴스로 캡처하여 SSH를 필터링 |
-d | 로그를 저장할 대상 폴더 |
-h | 도움말 |