Monitorare istanze e operazioni

Cloud Monitoring raccoglie e archivia automaticamente le informazioni sulla tua istanza Managed Lustre.

Questo documento fornisce una panoramica dettagliata delle metriche disponibili per il monitoraggio di Managed Lustre su Google Cloud. Queste metriche ti aiutano a comprendere le prestazioni, la capacità e l'integrità dei tuoi file system Managed Lustre, in modo da poter identificare i colli di bottiglia, risolvere i problemi e ottimizzare l'utilizzo delle risorse.

Puoi utilizzare queste metriche in Cloud Monitoring per creare dashboard personalizzate, configurare avvisi e ottenere informazioni più approfondite sul comportamento della tua istanza Managed Lustre.

Cloud Monitoring viene abilitato automaticamente per Managed Lustre. Non è previsto alcun costo per la raccolta dei dati o per la visualizzazione delle metriche nella consoleGoogle Cloud . Le chiamate API potrebbero comportare addebiti. Per i dettagli sui prezzi, consulta Prezzi di Cloud Monitoring.

Ruoli IAM richiesti

Sono necessari i seguenti ruoli:

  • Visualizzatore Monitoring (roles/monitoring.viewer) o autorizzazioni equivalenti, per visualizzare le metriche in Cloud Monitoring.
  • Editor monitoraggio (roles/monitoring.editor) o autorizzazioni equivalenti, per configurare gli avvisi.

Scopri come concedere un ruolo IAM.

Visualizza metriche

Le metriche di Cloud Monitoring sono disponibili in due posizioni nella consoleGoogle Cloud :

  • La pagina dei dettagli dell'istanza Managed Lustre mostra le metriche disponibili. Oltre alle metriche elencate in questa pagina, calcola la larghezza di banda dei byte copiati e la velocità di copia degli oggetti.

  • La pagina Cloud Monitoring offre diverse opzioni di grafici e personalizzazioni.

Visualizzare le metriche nella pagina dei dettagli dell'istanza

Per visualizzare le metriche di un'istanza specifica:

  1. Vai alla pagina Istanze nella console Google Cloud .

    Vai a Istanze

  2. Fai clic sull'istanza per cui visualizzare le metriche. Viene visualizzata la pagina Dettagli istanza.

  3. Fai clic sulla scheda Monitoraggio. Viene visualizzata la dashboard predefinita.

Visualizza le metriche in Cloud Monitoring

Per visualizzare le metriche di Managed Lustre in Cloud Monitoring, procedi come segue:

  1. Vai alla pagina Esplora metriche nella console Google Cloud .

    Vai a Monitoring: Esplora metriche

  2. Segui le istruzioni riportate in Crea grafici con Esplora metriche per selezionare e visualizzare le metriche.

Configurazione degli avvisi

Puoi configurare criteri di avviso in Cloud Monitoring per ricevere una notifica quando il file system Managed Lustre soddisfa condizioni specifiche, ad esempio il superamento dei limiti di capacità di archiviazione o di velocità effettiva.

Prerequisiti

Per creare criteri di avviso, devi disporre del ruolo IAM Editor Monitoring (roles/monitoring.editor) sul progetto.

Crea un criterio di avviso

Per configurare un avviso, definisci una condizione utilizzando una metrica o una query PromQL e configura i canali di notifica.

  1. Nella console Google Cloud , vai alla pagina Avvisi nella console Google Cloud .

    Vai a Monitoring > Avvisi

  2. Fai clic su + Crea policy.

  3. Seleziona Builder e la metrica oppure scegli Editor di codice per inserire una query con PromQL. Nel selettore delle metriche, le metriche Managed Lustre rientrano nelle risorse Istanza Lustre e Posizione Lustre.

  4. Configura la logica di attivazione e definisci i canali di notifica e le impostazioni di notifica.

  5. Fai clic su Crea policy.

Per saperne di più sulla creazione di trigger e su altre opzioni, consulta:

Esempio: creare un avviso sulla capacità di archiviazione

L'esempio seguente mostra come creare un avviso che viene attivato quando l'istanza Managed Lustre supera l'80% della capacità di cui è stato eseguito il provisioning.

  1. Nella console Google Cloud , vai alla pagina Avvisi nella console Google Cloud .

    Vai a Monitoring > Avvisi

  2. Fai clic su + Crea policy.

  3. Seleziona Editor di codice.

  4. Nell'Editor di query, incolla la seguente query PromQL:

    (
      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
    

    Questa query calcola il rapporto di utilizzo in tutte le istanze: (Total - Available) / Total. Il valore 0.8 rappresenta il totale dei byte che raggiungono l'80% di utilizzo. Per ricevere un avviso al 90%, modifica questo valore impostandolo su 0.9.

  5. Fai clic su Esegui query per verificare la sintassi e visualizzare un grafico del rapporto di utilizzo attuale.

  6. Fai clic su Avanti e configura il trigger su Qualsiasi serie temporale viola.

  7. Fai clic su Avanti. Nella sezione Documentazione, aggiungi le azioni consigliate per risolvere il problema di capacità. Ad esempio:

    ## 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.
    

Crea un criterio di avviso con gcloud

Puoi creare criteri di avviso utilizzando Google Cloud CLI. Tieni presente che devi modificare l'avviso nella console Google Cloud in un secondo momento per attivare canali di notifica specifici.

L'esempio seguente crea un avviso di capacità all'80% utilizzando 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

Dettagli sulle metriche

Le metriche di Managed Lustre sono associate ai seguenti tipi di risorsa monitorata:

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

I dati vengono campionati ogni 60 secondi. Dopo il campionamento, i dati potrebbero non essere visibili per un massimo di 180 secondi.

Metriche di capacità di archiviazione

Metriche relative allo spazio di archiviazione disponibile e di cui è stato eseguito il provisioning nel file system Lustre.

Per le etichette delle metriche, il valore di target utilizza il formato <fsname>-<TYPE><HEXA>, dove <HEXA> è l'indice in base zero della destinazione in esadecimale. Ad esempio, se il nome del file system è filesys, il 43° OST è filesys-OST002a e il 4° MDT è filesys-MDT0003.

Le metriche della capacità di archiviazione sono associate alla risorsa lustre.googleapis.com/Instance.

Metrica Descrizione Dettagli
available_bytes Il numero di byte di spazio di archiviazione per una determinata destinazione di archiviazione oggetti (OST) o destinazione metadati (MDT) disponibile per gli utenti non root. Nome visualizzato: byte disponibili
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: byte
Etichette:
component: il tipo di target: ost, mdt o mgt.
target: il nome della destinazione.
capacity_bytes Il numero di byte di cui è stato eseguito il provisioning per la destinazione specificata. Lo spazio totale utilizzabile per dati o metadati del cluster per un'istanza può essere ottenuto sommando la capacità di tutte le destinazioni per un determinato tipo di destinazione. Nome visualizzato: byte di capacità
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: byte
Etichette:
component: il tipo di target: ost, mdt o mgt.
target: il nome del target.
free_bytes Il numero di byte di spazio di archiviazione per un determinato OST o MDT disponibile per gli utenti root. Nome visualizzato: byte disponibili
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: byte
Etichette:
component: il tipo di target: ost, mdt o mgt.
target: il nome della destinazione.

Metriche inode (oggetto)

Metriche relative al numero di inode (oggetti) disponibili e alla capacità massima.

Le metriche inode sono associate alla risorsa lustre.googleapis.com/Instance.

Metrica Descrizione Dettagli
inodes_free Il numero di inode (oggetti) disponibili nella destinazione specificata. Nome visualizzato: Free inodes
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: inode
Etichette:
component: il tipo di target.
target: il nome del target.
inodes_maximum Il numero massimo di inode (oggetti) che la destinazione può contenere. Nome visualizzato: numero massimo di inode
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: inode
Etichette:
component: il tipo di target.
target: il nome del target.

Metriche sul rendimento I/O

Metriche che forniscono informazioni su velocità di trasferimento dei dati e latenza delle operazioni.

Le metriche delle prestazioni I/O sono associate alla risorsa lustre.googleapis.com/Instance.

Metrica Descrizione Dettagli
io_time_milliseconds_total Il numero di operazioni di lettura o scrittura la cui latenza rientra negli intervalli di latenza raggruppati. Nome visualizzato: latenza operazione
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: operazioni
Etichette:
component: il tipo di target.
operation: il tipo di operazione.
size: l'intervallo di latenza raggruppato. Ad esempio, 512 include il conteggio delle operazioni che hanno richiesto tra 512 e 1024 millisecondi.
target: il nome del target.
read_bytes_total Il numero di byte di dati letti dall'OST specificato. Nome visualizzato: byte letti
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: byte
Etichette:
component: il tipo di destinazione, sempre ost.
operation: il tipo di operazione: read.
target: il nome del target.
read_samples_total Il numero di operazioni di lettura eseguite sull'OST specificato. Nome visualizzato: operazioni di lettura dei dati
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: operazioni
Etichette:
component: il tipo di target, sempre ost.
operation: il tipo di operazione: read.
target: il nome del target.
write_bytes_total Il numero di byte di dati scritti nell'OST specificato. Nome visualizzato: byte di scrittura dei dati
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: byte
Etichette:
component: il tipo di target, sempre ost.
operation: il tipo di operazione: write.
target: il nome del target.
write_samples_total Il numero di operazioni di scrittura eseguite sull'OST specificato. Nome visualizzato: operazioni di scrittura dei dati
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: operazioni
Etichette:
component: il tipo di target, sempre ost.
operation: il tipo di operazione: write.
target: il nome del target.

Metriche di connessione client

Metriche specifiche per comprendere la connettività client.

Le metriche di connessione client sono associate alla risorsa lustre.googleapis.com/Instance.

Metrica Descrizione Dettagli
connected_clients Il numero di client attualmente connessi al MDT specificato. Nome visualizzato: client connessi
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: client
Etichette:
component: il tipo di target. Questo valore è sempre mdt.
target: il nome del MDT.

Metriche di quota del file system

Le metriche della quota del file system consentono di monitorare il consumo di spazio di archiviazione e inode per utenti, gruppi e progetti specifici. Utilizza queste metriche per monitorare l'utilizzo attuale rispetto ai limiti soft e hard configurati nel file system.

Le metriche di quota del file system sono associate alla risorsa lustre.googleapis.com/QuotaEntity monitorata.

Metrica Descrizione Dettagli
used_bytes Il numero totale di byte attualmente utilizzati dall'utente, dal gruppo o dal progetto. Nome visualizzato: Quota used bytes
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: Byte
Etichette:
accounting_type: uno tra user, group o project.
id: l'ID numerico dell'utente, del gruppo o del progetto.
target: il nome del dispositivo di destinazione Lustre.
soft_limit_bytes La soglia di consumo dello spazio di archiviazione che attiva un periodo di tolleranza. Se l'utilizzo rimane al di sopra di questo limite dopo la scadenza del periodo di tolleranza, questo diventa un limite rigido applicato. Nome visualizzato: quota soft limit bytes
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: byte
Etichette:
accounting_type: uno tra user, group o project.
id: l'ID numerico dell'utente, del gruppo o del progetto.
target: il nome del dispositivo di destinazione Lustre.
hard_limit_bytes L'utilizzo massimo dello spazio di archiviazione consentito per l'utente, il gruppo o il progetto. Le scritture che superano questo limite vengono rifiutate. Nome visualizzato: Quota hard limit bytes
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: byte
Etichette:
accounting_type: uno tra user, group o project.
id: l'ID numerico dell'utente, del gruppo o del progetto.
target: il nome del dispositivo di destinazione Lustre.
used_inodes Il numero totale di inode (record di file) attualmente utilizzati dall'utente, dal gruppo o dal progetto. Nome visualizzato: Quota inode utilizzati
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: Conteggio
Etichette:
accounting_type: uno dei valori user, group o project.
id: l'ID numerico dell'utente, del gruppo o del progetto.
target: il nome del dispositivo di destinazione Lustre.
soft_limit_inodes La soglia di consumo di inode che attiva un periodo di tolleranza. Se l'utilizzo rimane al di sopra di questo limite dopo la scadenza del periodo di tolleranza, questo diventa un limite rigido applicato. Nome visualizzato: quota soft limit inode
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: conteggio
Etichette:
accounting_type: uno tra user, group o project.
id: l'ID numerico dell'utente, del gruppo o del progetto.
target: il nome del dispositivo di destinazione Lustre.
hard_limit_inodes Il numero massimo di inode consentiti per l'utente, il gruppo o il progetto. La creazione di file che superano questo limite viene negata. Nome visualizzato: inode con limite rigido della quota
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: conteggio
Etichette:
accounting_type: uno tra user, group o project.
id: l'ID numerico dell'utente, del gruppo o del progetto.
target: il nome del dispositivo di destinazione Lustre.

Metriche Jobstats

Metriche che forniscono statistiche di lettura, scrittura e metadati per JobID, come configurato sul client.

Per raccogliere queste metriche, utilizza lctl per configurare il parametro jobid_var sui client Lustre. Per saperne di più, consulta Lustre Jobstats.

Per configurare il client in modo che riporti un identificatore specifico (ad esempio, procname_uid), utilizza il comando lctl set_param jobid_var:

lctl set_param jobid_var=procname_uid

Le metriche jobstats sono associate alla risorsa lustre.googleapis.com/Job.

Metrica Descrizione Dettagli
read_bytes_total Il numero totale di byte letti dal job. Nome visualizzato: byte di dati letti per job
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: byte
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
write_bytes_total Il numero totale di byte scritti dal job. Nome visualizzato: Byte di scrittura dei dati per job
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: Byte
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
metadata_operations_total Totale delle operazioni sui metadati eseguite dal job. Nome visualizzato:operazioni sui metadati per job
Tipo di metrica:CUMULATIVE
Tipo di valore:INT64
Unità:operazioni
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
read_samples_total Il numero totale di operazioni di lettura eseguite dal job. Nome visualizzato: operazioni di lettura dei dati per job
Tipo di metrica: CUMULATIVE
Tipo di valore: INT64
Unità: operazioni
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
write_samples_total Il numero totale di operazioni di scrittura eseguite dal job. Nome visualizzato:operazioni di scrittura dei dati per job
Tipo di metrica:CUMULATIVE
Tipo di valore:INT64
Unità:operazioni
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
read_maximum_size_bytes La dimensione massima in byte delle operazioni di lettura del job. Nome visualizzato:dimensione massima dei dati letti per job
Tipo di metrica:GAUGE
Tipo di valore:INT64
Unità:byte
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
read_minimum_size_bytes La dimensione minima in byte delle operazioni di lettura del job. Nome visualizzato: dimensione minima dei dati letti per job
Tipo di metrica: GAUGE
Tipo di valore: INT64
Unità: byte
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
write_maximum_size_bytes La dimensione massima in byte delle operazioni di scrittura del job. Nome visualizzato:dimensione massima di scrittura dei dati per job
Tipo di metrica:GAUGE
Tipo di valore:INT64
Unità:byte
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.
write_minimum_size_bytes Le dimensioni minime in byte delle operazioni di scrittura del job. Nome visualizzato:dimensione minima di scrittura dei dati per job
Tipo di metrica:GAUGE
Tipo di valore:INT64
Unità:byte
Etichette:
job_id: l'ID job inviato dal client.
component: Il tipo di target.
target: il nome del target.
instance_id: l'ID dell'istanza Managed Lustre.