Surveiller l'état
Les instances de notebooks gérés par l'utilisateur fournissent plusieurs méthodes de surveillance de l'état de vos notebooks. Cette page explique comment utiliser chaque méthode.
Méthodes de surveillance de l'état de fonctionnement
Vous pouvez surveiller l'état des instances de notebooks gérés par l'utilisateur de plusieurs manières. Cette page explique comment utiliser les méthodes suivantes :
Configurer gcloud CLI
Pour terminer certaines étapes de cette page, vous devez utiliser Google Cloud CLI.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Utiliser les attributs d'invité pour signaler l'état du système
Vous pouvez utiliser les attributs d'invité pour signaler l'état du système des services principaux suivants :
- Service Docker
- Agent de proxy inverse Docker
- Service Jupyter
- API Jupyter
Les attributs d'invité sont un type spécifique de métadonnées personnalisées auxquelles vos applications peuvent accéder en écriture alors qu'elles sont en cours d'exécution sur votre instance de notebooks gérés par l'utilisateur. Pour en savoir plus sur les attributs d'invité, consultez la page À propos des métadonnées de VM.
Comment les instances utilisent les attributs d'invité pour signaler l'état du système
Le service notebooks-collection-agent
exécute un processus Python en arrière-plan qui vérifie l'état des services principaux de l'instance de notebooks gérés par l'utilisateur et met à jour les attributs invités en tant que 1
si aucun problème n'est détecté ou -1
en cas de défaillance.
Pour utiliser le service notebooks-collection-agent
afin de générer des rapports sur l'état de votre instance de notebooks gérés par l'utilisateur, vous devez activer les attributs d'invité suivants lors de la création d'une instance de notebooks gérés par l'utilisateur :
enable-guest-attributes=TRUE
: active les attributs d'invité sur votre instance de notebooks gérés par l'utilisateur. Toutes les nouvelles instances activent cet attribut par défaut.report-system-health=TRUE
: enregistre les résultats de la vérification de l'état du système dans vos attributs d'invité.
Le service notebooks-collection-agent
ne nécessite aucune autorisation spéciale pour écrire dans les attributs d'invité de l'instance.
Créer une instance de notebooks gérés par l'utilisateur avec les attributs d'invité de l'état du système activés
Pour utiliser les attributs d'invité de l'état du système pour générer des rapports sur l'état de l'instance de notebooks gérés par l'utilisateur, vous devez cocher la case Activer les rapports sur l'état du système lorsque vous créez une instance de notebooks gérés par l'utilisateur.
Vous pouvez activer les rapports d'état du système à l'aide de la console Google Cloud ou de Google Cloud CLI.
Avant de commencer
Avant de pouvoir créer une instance de notebooks gérés par l'utilisateur, vous devez disposer d'un projet Google Cloud et activer l'API Notebooks pour ce projet.- 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.
- Si vous prévoyez d'utiliser des GPU avec votre instance de notebooks gérés par l'utilisateur, consultez la page des quotas dans la console Google Cloud pour vous assurer que vous disposez de suffisamment de GPU dans votre projet. Si les GPU ne figurent pas sur la page "Quotas" ou que vous avez besoin d'un quota de GPU supplémentaire, demandez une augmentation de quota. Consultez la section Demander une augmentation de quota de la page Quotas de ressources Compute Engine.
Rôles requis
Si vous avez créé le projet, vous disposez du rôle IAM Propriétaire (roles/owner
) sur le projet, qui inclut toutes les autorisations requises. Ignorez cette section et commencez à créer votre instance de notebooks gérés par l'utilisateur. Si vous n'avez pas créé le projet vous-même, continuez dans cette section.
Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour créer une instance de notebooks gérés par l'utilisateur Vertex AI Workbench, demandez à votre administrateur d'attribuer les rôles IAM suivants à votre compte utilisateur sur le projet :
-
Administrateur Notebooks (
roles/notebooks.admin
) -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer à votre compte utilisateur les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer l'instance
Console
Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur. Vous pouvez également accéder à notebook.new (https://notebook.new) et ignorer l'étape suivante.
Sélectionnez
Nouveau notebook, puis Personnaliser.Dans la section Détails de la page Créer un notebook géré par l'utilisateur, fournissez les informations suivantes pour votre nouvelle instance :
- Nom : nom de la nouvelle instance.
- Région et Zone : sélectionnez une région et une zone pour la nouvelle instance. Pour obtenir les meilleures performances réseau, sélectionnez la région la plus proche de vous géographiquement. Découvrez les emplacements de notebooks gérés par l'utilisateur disponibles.
Sélectionnez la section État du système.
Dans la section État du système et rapports, cochez la case Activer les rapports sur l'état du système.
Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.
gcloud
Dans Cloud Shell ou dans tout environnement dans lequel Google Cloud CLI est installé, saisissez la commande suivante de 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
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de votre nouvelle instance.IMAGE_FAMILY
: nom de la famille d'images que vous souhaitez utiliser pour créer votre instance.MACHINE_TYPE
: type de machine de la VM de votre instance (par exemple,n1-standard-4
).ZONE
: zone dans laquelle vous souhaitez placer votre nouvelle instance, par exemple,us-west1-a
.
Accédez à votre instance à partir de la console Google Cloud.
Surveiller l'état du système via les attributs d'invité
Pour les instances de notebooks gérés par l'utilisateur sur lesquelles les attributs d'invité associés sont activés, vous pouvez récupérer les valeurs des attributs d'invité de l'état du système à l'aide de la console Google Cloud, Google Cloud CLI avec les commandes Compute Engine, ou Google Cloud CLI avec les commandes Vertex AI Workbench.
Console
Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.
Cliquez sur le nom de l'instance pour laquelle vous souhaitez afficher l'état de fonctionnement du système.
Sur la page Détails du notebook, cliquez sur l'onglet État. Vérifiez l'état de votre instance et de ses services principaux.
gcloud avec Compute Engine
gcloud compute instances get-guest-attributes INSTANCE_NAME \
--zone ZONE
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de l'instanceZONE
: zone où se trouve votre instance
Si vos services principaux sont opérationnels, les résultats ressemblent à ceci :
La valeur 1
signifie qu'aucune défaillance n'a été détectée.
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
Si l'un des quatre services principaux échoue, l'état du système indique une valeur -1
pour indiquer la défaillance du système. Dans la plupart des cas, une défaillance du système signifie que JupyterLab n'est pas accessible.
Voici un exemple de résultat d'échec :
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
gcloud avec Vertex AI Workbench
Pour surveiller l'état du système, vous pouvez utiliser la méthode getInstanceHealth afin de récupérer les valeurs de vos attributs d'invité.
L'exemple suivant montre comment effectuer cette opération à l'aide de gcloud CLI.
gcloud notebooks instances is-healthy example-instance \
--location=ZONE
Remplacez ZONE
par la zone dans laquelle se trouve votre instance, par exemple, us-west1-a
.
Si vos services principaux sont opérationnels, les résultats ressemblent à ceci :
La valeur 1
signifie qu'aucune défaillance n'a été détectée.
{ "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" }
Voici un exemple de résultat d'échec :
{ "healthy": UNHEALTHY, "docker-proxy-agent": 1, "docker-service": 1, "jupyter-service": -1, "jupyter-api": -1, "last-updated": "2020-10-01 17:00:30.12345" }
Transmettre des métriques personnalisées à Monitoring
Les instances de notebooks gérés par l'utilisateur vous permettent de collecter l'état du système et les métriques JupyterLab, et de les transmettre à Cloud Monitoring. Ces métriques personnalisées sont différentes des métriques standards transmises lorsque vous installez Monitoring sur votre instance de notebooks gérés par l'utilisateur.
Les métriques personnalisées transmises à Monitoring incluent les éléments suivants :
L'état du système de ces services principaux de notebooks gérés par l'utilisateur :
- Service Docker
- Agent de proxy inverse Docker
- Service Jupyter
- API Jupyter
Les métriques JupyterLab suivantes :
- Nombre de noyaux
- Nombre de terminaux
- Nombre de connexions
- Nombre de sessions
- Taille maximale de la mémoire
- Haute capacité de mémoire
- Mémoire actuelle
Transmettre des métriques personnalisées à Monitoring à l'aide d'instances
Pour transmettre des métriques personnalisées à Monitoring, vous devez activer le paramètre de métadonnées report-notebook-metrics
lors de la création d'une instance de notebooks gérés par l'utilisateur.
Vous devez également vous assurer que le compte de service de l'instance de notebooks gérés par l'utilisateur dispose des autorisations du rôle "Rédacteur de métriques Monitoring" (roles/monitoring.metricWriter
). Pour en savoir plus, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Créer une instance de notebooks gérés par l'utilisateur qui transmet des métriques personnalisées à Monitoring
Pour signaler des métriques personnalisées à Monitoring, vous devez cocher la case Signaler des métriques personnalisées à Cloud Monitoring lorsque vous créez une instance de notebooks gérés par l'utilisateur.
Vous pouvez activer la création de rapports personnalisés sur les métriques dans Cloud Monitoring à l'aide de la console Google Cloud ou de Google Cloud CLI.
Avant de commencer
Avant de pouvoir créer une instance de notebooks gérés par l'utilisateur, vous devez disposer d'un projet Google Cloud et activer l'API Notebooks pour ce projet.- 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.
- Si vous prévoyez d'utiliser des GPU avec votre instance de notebooks gérés par l'utilisateur, consultez la page des quotas dans la console Google Cloud pour vous assurer que vous disposez de suffisamment de GPU dans votre projet. Si les GPU ne figurent pas sur la page "Quotas" ou que vous avez besoin d'un quota de GPU supplémentaire, demandez une augmentation de quota. Consultez la section Demander une augmentation de quota de la page Quotas de ressources Compute Engine.
Rôles requis
Si vous avez créé le projet, vous disposez du rôle IAM Propriétaire (roles/owner
) sur le projet, qui inclut toutes les autorisations requises. Ignorez cette section et commencez à créer votre instance de notebooks gérés par l'utilisateur. Si vous n'avez pas créé le projet vous-même, continuez dans cette section.
Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour créer une instance de notebooks gérés par l'utilisateur Vertex AI Workbench, demandez à votre administrateur d'attribuer les rôles IAM suivants à votre compte utilisateur sur le projet :
-
Administrateur Notebooks (
roles/notebooks.admin
) -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer à votre compte utilisateur les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer l'instance
Console
Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur. Vous pouvez également accéder à notebook.new (https://notebook.new) et ignorer l'étape suivante.
Sélectionnez
Nouveau notebook, puis Personnaliser.Dans la section Détails de la page Créer un notebook géré par l'utilisateur, fournissez les informations suivantes pour votre nouvelle instance :
- Nom : nom de la nouvelle instance.
- Région et Zone : sélectionnez une région et une zone pour la nouvelle instance. Pour obtenir les meilleures performances réseau, sélectionnez la région la plus proche de vous géographiquement. Découvrez les emplacements de notebooks gérés par l'utilisateur disponibles.
Sélectionnez la section État du système.
Dans la section État du système et rapports, cochez la case Transmettre des métriques personnalisées à Cloud Monitoring.
Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.
gcloud
Dans Cloud Shell ou dans tout environnement dans lequel Google Cloud CLI est installé, saisissez la commande suivante de 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
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de votre nouvelle instance.IMAGE_FAMILY
: nom de la famille d'images que vous souhaitez utiliser pour créer votre instance.MACHINE_TYPE
: type de machine de la VM de votre instance (par exemple,n1-standard-4
).ZONE
: zone dans laquelle vous souhaitez placer votre nouvelle instance, par exemple,us-west1-a
.
Accédez à votre instance à partir de la console Google Cloud.
Accorder les autorisations du rôle "Rédacteur de métriques Monitoring" au compte de service
Après avoir créé l'instance de notebooks gérés par l'utilisateur, accordez les autorisations du rôle "Rédacteur de métriques Monitoring" (roles/monitoring.metricWriter
) au compte de service de l'instance de notebooks gérés par l'utilisateur.
Pour en savoir plus, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Surveiller des métriques personnalisées à l'aide de Monitoring
Pour les instances de notebooks gérés par l'utilisateur sur lesquelles les rapports sur les métriques personnalisées sont activés, vous pouvez surveiller les métriques personnalisées à l'aide de Google Cloud Console.
Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.
Cliquez sur le nom de l'instance pour laquelle vous souhaitez afficher les métriques personnalisées.
Sur la page Notebook, cliquez sur l'onglet Monitoring. Examinez les métriques personnalisées de votre instance.
Installer Monitoring sur une instance
Cette option installe automatiquement Monitoring. L'installation nécessite 256 Mo d'espace disque. Une connexion Internet est nécessaire pour la transmission des métriques à Monitoring.
Créer des métriques du système et des applications à l'aide d'instances
Pour créer des rapports sur les métriques du système et des applications en installant Cloud Monitoring sur votre instance de notebooks gérés par l'utilisateur, vous devez cocher la case Installer l'agent Cloud Monitoring lorsque vous créez une instance de notebooks gérés par l'utilisateur.
Ces métriques sont différentes des métriques personnalisées qui sont transmises lorsque vous activez le paramètre de métadonnées report-notebook-metrics
.
Créer une instance de notebooks gérés par l'utilisateur qui transmet les métriques du système et des applications à Monitoring
Pour installer Monitoring sur votre instance de notebooks gérés par l'utilisateur, vous pouvez utiliser la console Google Cloud ou Google Cloud CLI.
Avant de commencer
Avant de pouvoir créer une instance de notebooks gérés par l'utilisateur, vous devez disposer d'un projet Google Cloud et activer l'API Notebooks pour ce projet.- 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.
- Si vous prévoyez d'utiliser des GPU avec votre instance de notebooks gérés par l'utilisateur, consultez la page des quotas dans la console Google Cloud pour vous assurer que vous disposez de suffisamment de GPU dans votre projet. Si les GPU ne figurent pas sur la page "Quotas" ou que vous avez besoin d'un quota de GPU supplémentaire, demandez une augmentation de quota. Consultez la section Demander une augmentation de quota de la page Quotas de ressources Compute Engine.
Rôles requis
Si vous avez créé le projet, vous disposez du rôle IAM Propriétaire (roles/owner
) sur le projet, qui inclut toutes les autorisations requises. Ignorez cette section et commencez à créer votre instance de notebooks gérés par l'utilisateur. Si vous n'avez pas créé le projet vous-même, continuez dans cette section.
Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour créer une instance de notebooks gérés par l'utilisateur Vertex AI Workbench, demandez à votre administrateur d'attribuer les rôles IAM suivants à votre compte utilisateur sur le projet :
-
Administrateur Notebooks (
roles/notebooks.admin
) -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer à votre compte utilisateur les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Créer l'instance
Console
Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur. Vous pouvez également accéder à notebook.new (https://notebook.new) et ignorer l'étape suivante.
Sélectionnez
Nouveau notebook, puis Personnaliser.Dans la section Détails de la page Créer un notebook géré par l'utilisateur, fournissez les informations suivantes pour votre nouvelle instance :
- Nom : nom de la nouvelle instance.
- Région et Zone : sélectionnez une région et une zone pour la nouvelle instance. Pour obtenir les meilleures performances réseau, sélectionnez la région la plus proche de vous géographiquement. Découvrez les emplacements de notebooks gérés par l'utilisateur disponibles.
Sélectionnez la section État du système.
Dans la section État du système et rapports, cochez la case Installer l'agent Cloud Monitoring.
Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.
gcloud
Dans Cloud Shell ou dans tout environnement dans lequel Google Cloud CLI est installé, saisissez la commande suivante de 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
Remplacez les éléments suivants :
INSTANCE_NAME
: nom de votre nouvelle instance.IMAGE_FAMILY
: nom de la famille d'images que vous souhaitez utiliser pour créer votre instance.MACHINE_TYPE
: type de machine de la VM de votre instance (par exemple,n1-standard-4
).ZONE
: zone dans laquelle vous souhaitez placer votre nouvelle instance, par exemple,us-west1-a
.
Accédez à votre instance à partir de la console Google Cloud.
Surveiller les métriques du système et des applications à l'aide de Monitoring
Pour les instances de notebooks gérés par l'utilisateur sur lesquelles Monitoring est installé, vous pouvez surveiller les métriques du système et des applications à l'aide de Google Cloud Console :
Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.
Cliquez sur le nom de l'instance pour laquelle vous souhaitez afficher les métriques du système et de l'application.
Sur la page Notebook, cliquez sur l'onglet Monitoring. Examinez les métriques du système et des applications de votre instance. Pour apprendre à interpréter ces métriques, consultez la page Examiner les métriques de ressources.
Surveiller l'état du système à l'aide de l'outil de diagnostic
Les instances de notebooks gérés par l'utilisateur disposent d'un outil de diagnostic intégré qui permet de surveiller l'état du système de vos instances.
Tâches effectuées par l'outil de diagnostic
L'outil de diagnostic effectue les tâches suivantes :
Vérifie l'état de ces services principaux de notebooks gérés par l'utilisateur :
- Service Docker
- Agent de proxy inverse Docker
- Service Jupyter
- API Jupyter
Cet attribut permet de vérifier si l'espace disque des disques de démarrage et de données est utilisé au-delà d'un seuil de 85 %.
Il installe
lsof
(connexion Internet requise).Il collecte les journaux d'instance suivants :
- Informations sur le réseau (
ifconfig
,netstat
) - Journaux dans le dossier
/var/log/
- Informations sur l'état de Docker
- Données
lsof
(ouvrir les fichiers) - État du service Docker
- État de l'agent de proxy inverse
- État du service Jupyter
- État de l'API Jupyter
- Fichier de configuration de l'agent de proxy
- Processus Python
- Informations sur le réseau (
Exécute les commandes suivantes et collecte les résultats :
- pip freeze
- conda list
- gcloud compute instances describe
INSTANCE_NAME
- gcloud config list
Lancer l'outil de diagnostic
Pour exécuter l'outil de diagnostic, procédez comme suit :
Utilisez ssh pour vous connecter à votre instance de notebooks gérés par l'utilisateur.
Dans le terminal SSH, exécutez les commandes suivantes :
sudo -i cd /opt/deeplearning/bin/ ./diagnostic_tool.sh
L'outil de diagnostic collecte les journaux, les compresse dans un fichier
.tar.gz
, puis place le fichier dans le dossier/tmp/
.Extrayez le fichier, puis évaluez le contenu. Contenu :
- Dossier
log
: journaux du dossiervar/log/
report.log
: sortie de toutes les commandes collectéesproxy-agent-config.json
: informations de configuration du proxy- Journal Docker : fichier
-json.log
incluant les journaux de conteneurs Docker
- Dossier
Vous pouvez utiliser les options suivantes avec l'outil de diagnostic.
Option | Description |
---|---|
-r | Option de réparation qui tente de restaurer l'état des services principaux de notebooks gérés par l'utilisateur en échec |
-s | S'exécute sans confirmation |
-b |
Importe le fichier .tar.gz dans un bucket Cloud Storage
|
-v | Option de débogage de l'outil en cas d'échec |
-c | Capture 30 secondes de trafic de paquets dans l'instance de notebooks gérés par l'utilisateur avec filtrage SSH |
-d | Dossier de destination dans lequel enregistrer les journaux |
-h | Aide |
Étapes suivantes
Apprenez-en plus sur les métadonnées des VM.