Ce document explique comment surveiller et essayer d'optimiser les ressources d'une tâche de traitement par lot en affichant des métriques dans Cloud Monitoring. Pour en savoir plus sur les ressources sur lesquelles s'exécute une tâche, consultez la section Ressources de tâche.
Pour chaque tâche, Monitoring fournit des métriques de base telles que l'utilisation du processeur et le trafic réseau. Toutefois, certaines métriques, telles que l'utilisation de la mémoire et des processus, ne peuvent être collectées que si une tâche installe l'agent Ops. Les métriques des ressources d'une tâche vous aident à évaluer les performances et l'utilisation de chaque ressource. Ces informations peuvent vous aider à identifier les améliorations à apporter aux futures itérations de la tâche. Par exemple, vous pouvez supprimer les ressources inutilisées pour optimiser les coûts, ou améliorer ou augmenter les ressources sollicitées pour améliorer les performances.
Avant de commencer
- Si vous n'avez jamais utilisé Batch, consultez Premiers pas avec Batch et activez Batch en remplissant les conditions préalables pour les projets et les utilisateurs.
- Facultatif: Pour collecter des métriques supplémentaires pour une tâche, créez et exécutez une tâche qui installe automatiquement l'agent Ops.
- Si ce n'est pas déjà fait, activez l'API Monitoring pour votre projet :
-
Pour obtenir les autorisations nécessaires pour afficher les métriques d'observabilité, demandez à votre administrateur de vous accorder le rôle IAM Lecteur de métriques de surveillance (
roles/monitoring.metricViewer
) sur le projet. 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.Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Afficher les métriques des ressources de jobs
La section Observer et surveiller les VM de la documentation Compute Engine fournit des informations conceptuelles pertinentes sur les métriques de VM. Toutefois, différentes méthodes sont recommandées pour afficher les métriques de VM pour les jobs par lot. Plus précisément, la documentation Compute Engine explique comment afficher les métriques à l'aide des tableaux de bord de surveillance prédéfinis pour Compute Engine ou des pages Compute Engine dans la console Google Cloud . Mais, surtout, ces méthodes n'affichent pas d'informations sur les VM supprimées. Par conséquent, n'utilisez ces méthodes que si vous souhaitez uniquement afficher les métriques des tâches par lot pendant leur exécution.
Affichez les métriques des tâches par lot en cours d'exécution et terminées à l'aide des graphiques de l'explorateur de métriques, comme expliqué dans cette section. Notez que les graphiques sont temporaires, sauf si vous les enregistrez dans des tableaux de bord personnalisés.
Pour créer un graphique permettant d'afficher une ou plusieurs métriques, procédez comme suit:
- Facultatif: Si vous prévoyez d'enregistrer le graphique, identifiez ou créez un tableau de bord personnalisé pour le graphique.
Créez un graphique de l'explorateur de métriques pour une ou plusieurs métriques.
Sans filtre, chaque métrique de VM d'un graphique inclut les données de toutes les VM de votre projet. Si vous souhaitez filtrer le graphique pour n'inclure que les métriques de toutes les tâches par lot ou de certaines d'entre elles, ajoutez le filtre suivant:
group=RESOURCE_GROUP_NAME
Remplacez
RESOURCE_GROUP_NAME
par le nom d'un groupe de ressources pour les tâches de traitement par lot. Pour en savoir plus, consultez la section Créer des groupes de ressources pour filtrer les métriques de ce document.
Créer des groupes de ressources pour filtrer les métriques
Vous pouvez utiliser des groupes de ressources comme filtres personnalisables pour les graphiques de l'explorateur de métriques. Pour créer un groupe de ressources pour toutes les tâches de traitement par lot ou pour des tâches spécifiques de votre projet, procédez comme suit:
Sélectionnez un libellé à utiliser comme critère d'appartenance en fonction des tâches que vous souhaitez inclure dans le groupe:
- Toutes les tâches Batch:utilisez l'étiquette
batch-node
prédéfinie, qui est automatiquement appliquée à toutes les ressources de toutes les tâches Batch et qui a une valeur nulle. Tâches de traitement par lot spécifiques:utilisez un libellé appliqué aux ressources uniquement pour des tâches de traitement par lot spécifiques.
Par exemple, si vous souhaitez créer un groupe basé sur des noms de poste complets ou partiels, utilisez le nom de libellé
batch-job-id
prédéfini avec une valeur spécifique. Le libellébatch-job-id
est automatiquement appliqué à toutes les ressources pour toutes les tâches de traitement par lot et défini avec le nom de la tâche.Si vous utilisez un libellé personnalisé, vous devez l'appliquer à toutes les ressources des tâches par lot que vous souhaitez inclure dans le groupe lorsque vous créez les tâches.
- Toutes les tâches Batch:utilisez l'étiquette
Assurez-vous que votre projet comporte au moins une tâche avec le libellé sélectionné et que cette tâche est dans l'état
RUNNING
. Sinon, ce libellé n'apparaîtra pas comme une option lorsque vous tenterez de créer le groupe de ressources.Créez un groupe de ressources. Lorsque vous spécifiez les critères d'appartenance, procédez comme suit:
- Définissez le Type sur Tag (Balise).
Définissez le champ Balise sur le nom du libellé sélectionné. Définissez ensuite les champs suivants en fonction des valeurs de libellé que vous souhaitez inclure dans le groupe.
Par exemple, si vous souhaitez que ce groupe inclue toutes les tâches par lot, définissez Tag (Balise) sur
batch-node
et Operator (Opérateur) sur Exists (Existe). Vous souhaitez également que ce groupe inclue les tâches par lot dont le nom commence partest
. Pour ce faire, définissez Tag (Balise) surbatch-job-id
, Operator (Opérateur) sur Starts with (Commence par) et Value (Valeur) surtest
.
Étape suivante
- En savoir plus sur les métriques de ressources de tâche :
- Découvrez d'autres méthodes pour surveiller et optimiser les jobs Batch :