Surveiller les instances et les opérations

Cloud Monitoring collecte et stocke automatiquement des informations sur votre instance Managed Lustre.

Ce document fournit une présentation détaillée des métriques disponibles pour surveiller Managed Lustre sur Google Cloud. Ces métriques vous aident à comprendre les performances, la capacité et l'état de vos systèmes de fichiers Managed Lustre. Vous pouvez ainsi identifier les goulots d'étranglement, résoudre les problèmes et optimiser l'utilisation des ressources.

Vous pouvez utiliser ces métriques dans Cloud Monitoring pour créer des tableaux de bord personnalisés, configurer des alertes et obtenir des insights plus approfondis sur le comportement de votre instance Managed Lustre.

Cloud Monitoring est automatiquement activé pour Managed Lustre. La collecte de données et l'affichage des métriques dans la consoleGoogle Cloud sont sans frais. Les appels d'API peuvent entraîner des frais. Pour en savoir plus, consultez la page Tarifs de Cloud Monitoring.

Rôles IAM requis

Les rôles suivants sont requis :

  • Lecteur Monitoring (roles/monitoring.viewer) ou autorisations équivalentes pour afficher les métriques dans Cloud Monitoring.
  • Éditeur Monitoring (roles/monitoring.editor) ou autorisations équivalentes pour configurer les alertes.

Découvrez comment attribuer un rôle IAM.

Afficher les métriques

Les métriques Cloud Monitoring sont disponibles à deux endroits dans la consoleGoogle Cloud  :

  • La page de détails de l'instance Managed Lustre affiche les métriques disponibles. En plus des métriques listées sur cette page, il calcule la bande passante des octets copiés et le taux d'objets copiés.

  • La page Cloud Monitoring propose plusieurs options de graphiques et de personnalisation.

Afficher les métriques sur la page "Détails de l'instance"

Pour afficher les métriques d'une instance spécifique :

  1. Accédez à la page Instances de la console Google Cloud .

    Accéder à la page "Instances"

  2. Cliquez sur l'instance pour laquelle afficher les métriques. La page Détails de l'instance s'affiche.

  3. Cliquez sur l'onglet Surveillance. Le tableau de bord par défaut s'affiche.

Afficher les métriques dans Cloud Monitoring

Pour afficher les métriques Managed Lustre dans Cloud Monitoring, procédez comme suit :

  1. Accédez à la page Explorateur de métriques dans la console Google Cloud .

    Accéder à Monitoring > Explorateur de métriques

  2. Suivez les instructions de la section Créer des graphiques avec l'explorateur de métriques pour sélectionner et afficher vos métriques.

Configurer des alertes

Vous pouvez configurer des règles d'alerte dans Cloud Monitoring pour recevoir une notification lorsque votre système de fichiers Managed Lustre remplit des conditions spécifiques, par exemple lorsqu'il dépasse la capacité de stockage ou les limites de débit.

Prérequis

Pour créer des règles d'alerte, vous devez disposer du rôle IAM Éditeur Monitoring (roles/monitoring.editor) sur le projet.

Créer une règle d'alerte

Pour configurer une alerte, définissez une condition à l'aide d'une métrique ou d'une requête PromQL, puis configurez les canaux de notification.

  1. Dans la console Google Cloud , accédez à la page Alertes de la console Google Cloud .

    Accéder à Monitoring > Alertes

  2. Cliquez sur + Créer une règle.

  3. Sélectionnez Générateur et choisissez votre métrique, ou sélectionnez Éditeur de code pour saisir une requête avec PromQL. Dans le sélecteur de métriques, les métriques Managed Lustre se trouvent sous les ressources Instance Lustre et Emplacement Lustre.

  4. Configurez la logique de votre déclencheur, puis définissez vos canaux de notification et vos paramètres de notification.

  5. Cliquez sur Créer une règle.

Pour en savoir plus sur la création de déclencheurs et d'autres options, consultez les pages suivantes :

Exemple : Créer une alerte de capacité de stockage

L'exemple suivant montre comment créer une alerte qui se déclenche lorsque votre instance Managed Lustre dépasse 80 % de sa capacité provisionnée.

  1. Dans la console Google Cloud , accédez à la page Alertes de la console Google Cloud .

    Accéder à Monitoring > Alertes

  2. Cliquez sur + Créer une règle.

  3. Sélectionnez Éditeur de code.

  4. Dans l'éditeur de requête, collez la requête PromQL suivante :

    (
      sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes)
      -
      sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes)
    )
    /
    sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes)
    > 0.8
    

    Cette requête calcule le ratio d'utilisation pour toutes les instances : (Total - Available) / Total. La valeur 0.8 représente le nombre total d'octets atteignant 80 % d'utilisation. Pour recevoir une alerte à 90 %, remplacez cette valeur par 0.9.

  5. Cliquez sur Exécuter la requête pour vérifier la syntaxe et afficher un graphique du taux d'utilisation actuel.

  6. Cliquez sur Suivant, puis configurez le déclencheur sur À chaque infraction de série temporelle.

  7. Cliquez sur Suivant. Dans la section Documentation, ajoutez les actions recommandées pour résoudre le problème de capacité. Exemple :

    ## Action Required: Lustre Capacity Warning
    The Managed Lustre instance is exceeding 80% capacity usage.
    
    **Metric:** Usage Ratio > 0.8
    **Severity:** Warning
    
    **Recommended Actions:**
    1. Check the instance details in the Google Cloud console.
    2. Verify if this is expected data growth or a runaway process.
    3. If valid, consider expanding the storage capacity of the instance or deleting old data to free up space.
    4. Failure to address this may result in "No Space Left on Device" errors for client applications.
    

Créer une règle d'alerte avec gcloud

Vous pouvez créer des règles d'alerte à l'aide de la Google Cloud CLI. Notez que vous devrez modifier l'alerte dans la console Google Cloud ultérieurement pour activer des canaux de notification spécifiques.

L'exemple suivant crée une alerte de capacité de 80 % à l'aide de gcloud :

gcloud monitoring policies create \
  --policy-from-file=/dev/stdin <<EOF
{
  "displayName": "Lustre High Capacity Usage (>80%)",
  "severity": "WARNING",
  "combiner": "OR",
  "conditions": [
    {
      "displayName": "Capacity Usage Ratio > 0.8",
      "conditionPrometheusQueryLanguage": {
        "query": "(sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) - sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes)) / sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) > 0.8",
        "duration": "300s",
        "evaluationInterval": "60s",
        "alertRule": "AlwaysOn"
      }
    }
  ],
  "documentation": {
    "content": "Action Required: The Managed Lustre instance is exceeding 80% capacity usage. Please verify if storage expansion is required.",
    "mimeType": "text/markdown"
  }
}
EOF

Détails de la métrique

Les métriques Lustre gérées sont associées aux types de ressources surveillées suivants :

  • lustre.googleapis.com/Instance
  • lustre.googleapis.com/Job
  • lustre.googleapis.com/QuotaEntity

Les données sont échantillonnées toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 180 secondes.

Métriques de capacité de stockage

Métriques liées à l'espace de stockage disponible et provisionné sur votre système de fichiers Lustre.

Pour les libellés de métriques, la valeur de target utilise le format <fsname>-<TYPE><HEXA>, où <HEXA> est l'index basé sur zéro de la cible en hexadécimal. Par exemple, si le nom de votre système de fichiers est filesys, le 43e OST est filesys-OST002a et le 4e MDT est filesys-MDT0003.

Les métriques de capacité de stockage sont associées à la ressource lustre.googleapis.com/Instance.

Métrique Description Détails
available_bytes Nombre d'octets d'espace de stockage pour une cible de stockage d'objets (OST) ou une cible de métadonnées (MDT) donnée, disponible pour les utilisateurs non root. Nom à afficher : octets disponibles
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
component : type de cible : ost, mdt ou mgt.
target : nom de la cible.
capacity_bytes Nombre d'octets provisionnés pour la cible donnée. L'espace total de données ou de métadonnées utilisable du cluster pour une instance peut être obtenu en additionnant la capacité de toutes les cibles pour un type de cible donné. Nom à afficher : capacité en octets
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
component : type de cible : ost, mdt ou mgt.
target : nom de la cible.
free_bytes Nombre d'octets d'espace de stockage pour un OST ou un MDT donné, disponible pour les utilisateurs root. Nom à afficher : octets libres
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
component : type de cible : ost, mdt ou mgt.
target : nom de la cible.

Métriques sur les inodes (objets)

Métriques liées au nombre d'inodes (objets) disponibles et à la capacité maximale.

Les métriques d'inode sont associées à la ressource lustre.googleapis.com/Instance.

Métrique Description Détails
inodes_free Nombre d'inœuds (objets) disponibles sur la cible donnée. Nom à afficher : inodes libres
Type de métrique : GAUGE
Type de valeur : INT64
Unité : inodes
Libellés :
component : type de cible.
target : nom de la cible.
inodes_maximum Nombre maximal d'inodes (objets) que la cible peut contenir. Nom à afficher : nombre maximal d'inodes
Type de métrique : GAUGE
Type de valeur : INT64
Unité : inodes
Libellés :
component : type de cible.
target : nom de la cible.

Métriques de performances d'E/S

Métriques fournissant des informations sur les taux de transfert de données et la latence des opérations.

Les métriques de performances d'E/S sont associées à la ressource lustre.googleapis.com/Instance.

Métrique Description Détails
io_time_milliseconds_total Nombre d'opérations de lecture ou d'écriture dont la latence se situe dans les plages de latence par bucket. Nom à afficher : latence de l'opération
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : opérations
Libellés :
component : type de cible.
operation : type d'opération.
size : plage de latence par bucket. Par exemple, 512 inclut le nombre d'opérations qui ont duré entre 512 et 1 024 millisecondes.
target : nom de la cible.
read_bytes_total Nombre d'octets de données lus à partir de l'OST spécifié. Nom à afficher : octets de données lus
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : octets
Libellés :
component : type de cible, toujours ost.
operation : type d'opération : read.
target : nom de la cible.
read_samples_total Nombre d'opérations de lecture effectuées sur l'OST donné. Nom à afficher : opérations de lecture de données
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : opérations
Libellés :
component : type de cible, toujours ost.
operation : type d'opération : read.
target : nom de la cible.
write_bytes_total Nombre d'octets de données écrits dans l'OST spécifié. Nom à afficher : octets écrits
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : octets
Libellés :
component : type de cible, toujours ost.
operation : type d'opération : write.
target : nom de la cible.
write_samples_total Nombre d'opérations d'écriture effectuées sur l'OST donné. Nom à afficher : opérations d'écriture de données
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : opérations
Libellés :
component : type de cible, toujours ost.
operation : type d'opération : write.
target : nom de la cible.

Métriques sur les connexions client

Métriques permettant de comprendre la connectivité des clients.

Les métriques de connexion client sont associées à la ressource lustre.googleapis.com/Instance.

Métrique Description Détails
connected_clients Nombre de clients actuellement connectés au MDT spécifié. Nom à afficher : clients connectés
Type de métrique : GAUGE
Type de valeur : INT64
Unité : clients
Libellés :
component : type de cible. Il s'agit toujours de mdt.
target : nom du MDT.

Métriques de quota du système de fichiers

Les métriques de quota du système de fichiers vous permettent de surveiller la consommation de stockage et d'inodes pour des utilisateurs, des groupes et des projets spécifiques. Utilisez ces métriques pour suivre l'utilisation actuelle par rapport aux limites flexibles et strictes configurées sur votre système de fichiers.

Les métriques de quota du système de fichiers sont associées à la ressource surveillée lustre.googleapis.com/QuotaEntity.

Métrique Description Détails
used_bytes Nombre total d'octets actuellement consommés par l'utilisateur, le groupe ou le projet. Nom à afficher : octets de quota utilisés
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
accounting_type : l'une des valeurs suivantes : user, group ou project.
id : ID numérique de l'utilisateur, du groupe ou du projet.
target : nom de l'appareil cible Lustre.
soft_limit_bytes Seuil de consommation de l'espace de stockage qui déclenche un délai de grâce. Si l'utilisation reste au-dessus de cette limite après l'expiration du délai de grâce, cette limite devient une limite stricte appliquée. Nom à afficher : Quota de bytes de limite flexible
Type de métrique : GAUGE
Type de valeur : INT64
Unité : Octets
Libellés :
accounting_type : l'une des valeurs suivantes : user, group ou project.
id : ID numérique de l'utilisateur, du groupe ou du projet.
target : nom de l'appareil cible Lustre.
hard_limit_bytes Utilisation maximale de l'espace de stockage autorisée pour l'utilisateur, le groupe ou le projet. Les écritures qui dépassent cette limite sont refusées. Nom à afficher : Quota de bytes limite absolue
Type de métrique : GAUGE
Type de valeur : INT64
Unité : Bytes
Libellés :
accounting_type : l'une des valeurs suivantes : user, group ou project.
id : ID numérique de l'utilisateur, du groupe ou du projet.
target : nom de l'appareil cible Lustre.
used_inodes Nombre total d'inodes (enregistrements de fichiers) actuellement utilisés par l'utilisateur, le groupe ou le projet. Nom à afficher : inodes de quota utilisés
Type de métrique : GAUGE
Type de valeur : INT64
Unité : Count
Libellés :
accounting_type : l'une des valeurs suivantes : user, group ou project.
id : ID numérique de l'utilisateur, du groupe ou du projet.
target : nom de l'appareil cible Lustre.
soft_limit_inodes Seuil de consommation d'inodes qui déclenche un délai de grâce. Si l'utilisation reste au-dessus de cette limite après l'expiration du délai de grâce, elle devient une limite stricte appliquée. Nom à afficher : inodes de limite flexible de quota
Type de métrique : GAUGE
Type de valeur : INT64
Unité : nombre
Libellés :
accounting_type : l'une des valeurs suivantes : user, group ou project.
id : ID numérique de l'utilisateur, du groupe ou du projet.
target : nom de l'appareil cible Lustre.
hard_limit_inodes Nombre maximal d'inœuds autorisés pour l'utilisateur, le groupe ou le projet. La création de fichiers dépassant cette limite est refusée. Nom à afficher : inodes de limite stricte de quota
Type de métrique : GAUGE
Type de valeur : INT64
Unité : Count
Libellés :
accounting_type : l'une des valeurs suivantes : user, group ou project.
id : ID numérique de l'utilisateur, du groupe ou du projet.
target : nom de l'appareil cible Lustre.

Métriques Jobstats

Métriques fournissant des statistiques de lecture, d'écriture et de métadonnées par JobID, telles qu'elles sont configurées sur le client.

Pour collecter ces métriques, utilisez lctl afin de configurer le paramètre jobid_var sur vos clients Lustre. Pour en savoir plus, consultez Statistiques des jobs Lustre.

Pour configurer le client afin qu'il signale un identifiant spécifique (par exemple, procname_uid), utilisez la commande lctl set_param jobid_var :

lctl set_param jobid_var=procname_uid

Les métriques Jobstats sont associées à la ressource lustre.googleapis.com/Job.

Métrique Description Détails
read_bytes_total Nombre total d'octets lus par le job. Nom à afficher : octets de données lus par job
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : octets
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
write_bytes_total Nombre total d'octets écrits par le job. Nom à afficher : octets écrits par job
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : octets
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
metadata_operations_total Nombre total d'opérations de métadonnées effectuées par le job. Nom à afficher : opérations sur les métadonnées par job
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : opérations
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
read_samples_total Nombre total d'opérations de lecture effectuées par le job. Nom à afficher : opérations de lecture de données par job
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : opérations
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
write_samples_total Nombre total d'opérations d'écriture effectuées par le job. Nom à afficher : opérations d'écriture de données par job
Type de métrique : CUMULATIVE
Type de valeur : INT64
Unité : opérations
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
read_maximum_size_bytes Taille maximale en octets des opérations de lecture effectuées par le job. Nom à afficher : taille maximale des données lues par job
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
read_minimum_size_bytes Taille minimale en octets des opérations de lecture effectuées par le job. Nom à afficher : taille minimale des données lues par job
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
write_maximum_size_bytes Taille maximale en octets des opérations d'écriture effectuées par le job. Nom à afficher : taille maximale des données écrites par job
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.
write_minimum_size_bytes Taille minimale en octets des opérations d'écriture effectuées par le job. Nom à afficher : taille minimale des données écrites par job
Type de métrique : GAUGE
Type de valeur : INT64
Unité : octets
Libellés :
job_id : JobID envoyé par le client.
component : type de cible.
target : nom de la cible.
instance_id : ID de l'instance Managed Lustre.