Surveiller et optimiser les ressources des jobs en consultant les métriques

Ce document explique comment surveiller et essayer d'optimiser les ressources d'un job Batch en affichant les métriques dans Cloud Monitoring. Pour en savoir plus sur les ressources sur lesquelles un job s'exécute, consultez Ressources de job.

Pour chaque job, 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 un job installe l'agent Ops. Les métriques pour les ressources d'un job 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 du job. 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

  1. 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.
  2. Facultatif : Pour collecter des métriques supplémentaires pour un job, créez et exécutez un job qui installe automatiquement l'agent Ops.
  3. Si ce n'est pas déjà fait, activez l'API Monitoring pour votre projet :

    Enable the API

  4. 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 Monitoring (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 avec 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 Batch. Plus précisément, la documentation Compute Engine explique comment afficher les métriques à l'aide des tableaux de bord Monitoring prédéfinis pour Compute Engine ou des pages Compute Engine dans la console Google Cloud . Toutefois, il est important de noter que ces méthodes n'affichent pas d'informations sur les VM qui ont été supprimées. Par conséquent, n'utilisez pas ces méthodes, sauf si vous souhaitez uniquement afficher les métriques des jobs Batch pendant leur exécution.

Affichez les métriques des jobs Batch en cours d'exécution et terminés à 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 :

  1. Facultatif : Si vous prévoyez d'enregistrer le graphique, identifiez ou créez un tableau de bord personnalisé pour le graphique.
  2. Créez un graphique Explorateur de métriques pour une ou plusieurs métriques.

    Sans filtres, 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 jobs Batch. 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 tous les jobs Batch ou certains d'entre eux dans votre projet, procédez comme suit :

  1. Sélectionnez un libellé à utiliser comme critère d'appartenance en fonction des jobs que vous souhaitez inclure dans le groupe :

    • Toutes les tâches par lot : utilisez le libellé prédéfini batch-node, qui est automatiquement appliqué à toutes les ressources de toutes les tâches par lot et qui a une valeur nulle.
    • Tâches Batch spécifiques : utilisez un libellé appliqué aux ressources uniquement pour des tâches Batch spécifiques.

      Par exemple, si vous souhaitez créer un groupe basé sur des noms de postes complets ou partiels, utilisez le nom de libellé prédéfini batch-job-id avec une valeur spécifique. Le libellé batch-job-id est automatiquement appliqué à toutes les ressources de toutes les tâches 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 jobs par lot que vous souhaitez inclure dans le groupe lorsque vous créez les jobs.

  2. Assurez-vous que votre projet comporte au moins un job avec le libellé sélectionné et que ce job est à l'état RUNNING. Sinon, ce libellé n'apparaîtra pas comme option lorsque vous tenterez de créer le groupe de ressources.

  3. Créez un groupe de ressources. Lorsque vous spécifiez les critères d'appartenance, procédez comme suit :

    1. Définissez le Type sur Tag.
    2. Définissez le champ Tag 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 tous les jobs par lot, définissez Tag sur batch-node et Operator sur Exists (Existe). Si vous souhaitez que ce groupe inclue les jobs par lot dont le nom commence par test, définissez Tag sur batch-job-id, Operator sur Starts with (Commence par) et Value sur test.

Étapes suivantes