Instanzen und Vorgänge überwachen

Cloud Monitoring erfasst und speichert automatisch Informationen zu Ihrer Managed Lustre-Instanz.

Dieses Dokument bietet einen detaillierten Überblick über die Messwerte, die für die Überwachung von Managed Lustre auf Google Cloudverfügbar sind. Anhand dieser Messwerte können Sie die Leistung, Kapazität und den Zustand Ihrer Managed Lustre-Dateisysteme nachvollziehen, um Engpässe zu erkennen, Probleme zu beheben und die Ressourcennutzung zu optimieren.

Sie können diese Messwerte in Cloud Monitoring verwenden, um benutzerdefinierte Dashboards zu erstellen, Benachrichtigungen einzurichten und detailliertere Informationen zum Verhalten Ihrer Managed Lustre-Instanz zu erhalten.

Cloud Monitoring ist für Managed Lustre automatisch aktiviert. Für die Erfassung von Daten oder die Anzeige von Messwerten in derGoogle Cloud -Konsole fallen keine Kosten an. Für API-Aufrufe können Gebühren anfallen. Weitere Informationen finden Sie unter Cloud Monitoring-Preise.

Erforderliche IAM-Rollen

Die folgenden Rollen sind erforderlich:

  • Monitoring-Betrachter (roles/monitoring.viewer) oder entsprechende Berechtigungen zum Aufrufen von Messwerten in Cloud Monitoring.
  • Monitoring-Bearbeiter (roles/monitoring.editor) oder entsprechende Berechtigungen zum Konfigurieren von Benachrichtigungen.

IAM-Rolle zuweisen

Messwerte aufrufen

Cloud Monitoring-Messwerte sind an zwei Stellen in derGoogle Cloud Console verfügbar:

  • Auf der Seite mit den Details zur verwalteten Lustre-Instanz werden verfügbare Messwerte angezeigt. Zusätzlich zu den auf dieser Seite aufgeführten Messwerten werden die Bandbreite der kopierten Byte und die Rate der kopierten Objekte berechnet.

  • Die Cloud Monitoring-Seite bietet mehrere Diagrammoptionen und Anpassungen.

Messwerte auf der Seite „Instanzdetails“ ansehen

So rufen Sie die Messwerte einer bestimmten Instanz auf:

  1. Rufen Sie in der Google Cloud Console die Seite Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf die Instanz, für die Sie Messwerte aufrufen möchten. Die Seite Instanzdetails wird angezeigt.

  3. Klicken Sie auf den Tab Monitoring. Das Standard-Dashboard wird angezeigt.

Messwerte in Cloud Monitoring ansehen

So rufen Sie Managed Lustre-Messwerte in Cloud Monitoring auf:

  1. Rufen Sie in der Google Cloud Console die Seite Metrics Explorer auf.

    Zu „Monitoring“ → „Metrics Explorer“

  2. Folgen Sie der Anleitung unter Diagramme mit Metrics Explorer erstellen, um Ihre Messwerte auszuwählen und anzuzeigen.

Warnungen einrichten

Sie können Benachrichtigungsrichtlinien in Cloud Monitoring konfigurieren, um benachrichtigt zu werden, wenn Ihr Managed Lustre-Dateisystem bestimmte Bedingungen erfüllt, z. B. wenn die Speicherkapazität oder die Durchsatzlimits überschritten werden.

Vorbereitung

Zum Erstellen von Benachrichtigungsrichtlinien benötigen Sie die IAM-Rolle Monitoring Editor (roles/monitoring.editor) für das Projekt.

Benachrichtigungsrichtlinie erstellen

Um eine Benachrichtigung einzurichten, definieren Sie eine Bedingung mit einem Messwert oder einer PromQL-Abfrage und konfigurieren Sie Benachrichtigungskanäle.

  1. Rufen Sie in der Google Cloud Console die Seite Benachrichtigungen in der Google Cloud Console auf.

    Zu „Monitoring“ > „Benachrichtigungen“

  2. Klicken Sie auf + Richtlinie erstellen.

  3. Wählen Sie Builder und dann den gewünschten Messwert aus oder wählen Sie Code-Editor aus, um eine Abfrage mit PromQL einzugeben. In der Messwertauswahl fallen Managed Lustre-Messwerte unter die Ressourcen Lustre-Instanz und Lustre-Standort.

  4. Konfigurieren Sie die Triggerlogik und definieren Sie Ihre Benachrichtigungskanäle und Benachrichtigungseinstellungen.

  5. Klicken Sie auf Richtlinie erstellen.

Weitere Informationen zum Erstellen von Triggern und anderen Optionen finden Sie in den folgenden Artikeln:

Beispiel: Benachrichtigung zur Speicherkapazität erstellen

Das folgende Beispiel zeigt, wie Sie eine Benachrichtigung erstellen, die ausgelöst wird, wenn die bereitgestellte Kapazität Ihrer verwalteten Lustre-Instanz zu 80% überschritten wird.

  1. Rufen Sie in der Google Cloud Console die Seite Benachrichtigungen in der Google Cloud Console auf.

    Zu „Monitoring“ > „Benachrichtigungen“

  2. Klicken Sie auf + Richtlinie erstellen.

  3. Wählen Sie Code-Editor aus.

  4. Fügen Sie die folgende PromQL-Abfrage in den Abfrageeditor ein:

    (
      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
    

    Mit dieser Abfrage wird das Nutzungsverhältnis für alle Instanzen berechnet: (Total - Available) / Total. Der Wert 0.8 steht für die Gesamtzahl der Byte, die 80% der Nutzung erreichen. Wenn Sie eine Benachrichtigung bei 90 % erhalten möchten, ändern Sie diesen Wert in 0.9.

  5. Klicken Sie auf Abfrage ausführen, um die Syntax zu prüfen und ein Diagramm des aktuellen Nutzungsverhältnisses aufzurufen.

  6. Klicken Sie auf Weiter und konfigurieren Sie den Trigger auf Verstoß beliebiger Zeitachse.

  7. Klicken Sie auf Weiter. Fügen Sie im Abschnitt Dokumentation empfohlene Maßnahmen zur Behebung des Kapazitätsproblems hinzu. Beispiel:

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

Benachrichtigungsrichtlinie mit gcloud erstellen

Sie können Benachrichtigungsrichtlinien mit der Google Cloud CLI erstellen. Sie müssen die Benachrichtigung später in der Google Cloud -Konsole bearbeiten, um bestimmte Benachrichtigungskanäle zu aktivieren.

Im folgenden Beispiel wird mit gcloud eine Benachrichtigung für 80% der Kapazität erstellt:

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

Messwertdetails

Messwerte für verwaltete Lustre-Instanzen werden den folgenden überwachten Ressourcentypen zugeordnet:

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

Die Daten werden alle 60 Sekunden abgerufen. Nach dem Abruf werden bis zu 180 Sekunden lang möglicherweise keine Daten angezeigt.

Messwerte zur Speicherkapazität

Messwerte zum verfügbaren und bereitgestellten Speicherplatz in Ihrem Lustre-Dateisystem.

Bei Messwertlabels hat der Wert von target das Format <fsname>-<TYPE><HEXA>, wobei <HEXA> der nullbasierte Index des Ziels in Hexadezimal ist. Wenn Ihr Dateisystemname beispielsweise filesys ist, lautet der 43. OST filesys-OST002a und der 4. MDT filesys-MDT0003.

Messwerte für die Speicherkapazität sind an die Ressource lustre.googleapis.com/Instance angehängt.

Messwert Beschreibung Details
available_bytes Die Anzahl der Byte an Speicherplatz für ein bestimmtes Object Storage Target (OST) oder Metadata Target (MDT), die für Nicht-Root-Nutzer verfügbar sind. Anzeigename:Available bytes
Messwerttyp:GAUGE
Werttyp:INT64
Einheit:bytes
Labels:
component: Der Zieltyp: ost, mdt oder mgt.
target: Der Name des Ziels.
capacity_bytes Die Anzahl der für das angegebene Ziel bereitgestellten Byte. Der gesamte nutzbare Daten- oder Metadatenplatz eines Clusters für eine Instanz kann durch Addieren der Kapazität aller Ziele für einen bestimmten Zieltyp ermittelt werden. Anzeigename:Capacity bytes
Messwertart:GAUGE
Werttyp:INT64
Einheit:bytes
Labels:
component: Der Zieltyp: ost, mdt oder mgt.
target: Der Name des Ziels.
free_bytes Die Anzahl der Byte an Speicherplatz für einen bestimmten OST oder MDT, die für Root-Nutzer verfügbar sind. Anzeigename:Free bytes
Messwerttyp:GAUGE
Werttyp:INT64
Einheit:bytes
Labels:
component: Der Zieltyp: ost, mdt oder mgt.
target: Der Name des Ziels.

Inode-Messwerte (Objekt)

Messwerte zur Anzahl der verfügbaren Inodes (Objekte) und zur maximalen Kapazität.

Inode-Messwerte sind an die Ressource lustre.googleapis.com/Instance angehängt.

Messwert Beschreibung Details
inodes_free Die Anzahl der Inodes (Objekte), die auf dem angegebenen Ziel verfügbar sind. Anzeigename:Free inodes
Messwertart:GAUGE
Werttyp:INT64
Einheit:inodes
Labels:
component: Der Zieltyp.
target: Der Name des Ziels.
inodes_maximum Die maximale Anzahl von Inodes (Objekten), die das Ziel enthalten kann. Anzeigename:Maximum inodes
Messwertart:GAUGE
Werttyp:INT64
Einheit:inodes
Labels:
component: Der Zieltyp.
target: Der Name des Ziels.

E/A-Leistungsmesswerte

Messwerte, die Aufschluss über Datenübertragungsraten und Vorgangslatenz geben.

Die E/A-Leistungsmesswerte sind an die Ressource lustre.googleapis.com/Instance angehängt.

Messwert Beschreibung Details
io_time_milliseconds_total Die Anzahl der Lese- oder Schreibvorgänge, deren Latenz innerhalb der gruppierten Latenzbereiche liegt. Anzeigename: „Operation latency“ (Vorgangslatenz)
Messwertart:CUMULATIVE
Werttyp:INT64
Einheit:operations
Labels:
component: Der Zieltyp.
operation: Der Vorgangstyp.
size: Der Bucket-Latenzbereich. Beispiel: „512“ umfasst die Anzahl der Vorgänge, die zwischen 512 und 1.024 Millisekunden gedauert haben.
target: Der Name des Ziels.
read_bytes_total Die Anzahl der Datenbytes, die aus der angegebenen OST gelesen wurden. Anzeigename: Gelesene Daten (in Byte)
Messwertart: CUMULATIVE
Werttyp: INT64
Einheit: Byte
Labels:
component: Der Zieltyp, immer ost.
operation: Der Vorgangstyp: read.
target: Der Name des Ziels.
read_samples_total Die Anzahl der Lesevorgänge, die für den angegebenen OST ausgeführt wurden. Anzeigename: Data read operations
Messwertart: CUMULATIVE
Werttyp: INT64
Einheit: operations
Labels:
component: Der Zieltyp, immer ost.
operation: Der Vorgangstyp: read.
target: Der Name des Ziels.
write_bytes_total Die Anzahl der Datenbytes, die in die angegebene OST geschrieben wurden. Anzeigename: „Data write bytes“
Messwertart: CUMULATIVE
Werttyp: INT64
Einheit: bytes
Labels:
component: Der Zieltyp, immer ost.
operation: Der Vorgangstyp: write.
target: Der Name des Ziels.
write_samples_total Die Anzahl der Schreibvorgänge, die auf dem angegebenen OST ausgeführt wurden. Anzeigename:Data write operations
Messwertart:CUMULATIVE
Werttyp:INT64
Einheit:operations
Labels:
component: Der Zieltyp: immer ost.
operation: Der Vorgangstyp: write.
target: Der Name des Ziels.

Messwerte für Clientverbindungen

Messwerte speziell für die Clientverbindung.

Messwerte für Clientverbindungen sind an die Ressource lustre.googleapis.com/Instance angehängt.

Messwert Beschreibung Details
connected_clients Die Anzahl der Clients, die derzeit mit dem angegebenen MDT verbunden sind. Anzeigename:Verbundene Clients
Messwertart:GAUGE
Werttyp:INT64
Einheit:clients
Labels:
component: Der Zieltyp. Dies ist immer mdt.
target: Der Name des Gerätebaums.

Messwerte für Dateisystemkontingente

Mit Messwerten für Dateisystemkontingente können Sie die Speicher- und Inode-Nutzung für bestimmte Nutzer, Gruppen und Projekte überwachen. Mit diesen Messwerten können Sie die aktuelle Nutzung im Vergleich zu den weichen und harten Limits verfolgen, die für Ihr Dateisystem konfiguriert sind.

Messwerte für Dateisystemkontingente sind mit der überwachten Ressource lustre.googleapis.com/QuotaEntity verknüpft.

Messwert Beschreibung Details
used_bytes Die Gesamtzahl der Byte, die derzeit vom Nutzer, der Gruppe oder dem Projekt belegt werden. Anzeigename: „Quota used bytes“ (Verwendete Kontingent-Bytes)
Messwerttyp: GAUGE
Werttyp: INT64
Einheit: Bytes
Labels:
accounting_type: Einer der folgenden Werte: user, group oder project.
id: Die numerische ID des Nutzers, der Gruppe oder des Projekts.
target: Der Name des Lustre-Zielgeräts.
soft_limit_bytes Der Schwellenwert für die Speichernutzung, der einen Kulanzzeitraum auslöst. Wenn die Nutzung nach Ablauf des Kulanzzeitraums weiterhin über diesem Limit liegt, wird daraus ein erzwungenes hartes Limit. Anzeigename: Quota soft limit bytes
Messwertart: GAUGE
Werttyp: INT64
Einheit: Bytes
Labels:
accounting_type: Einer der folgenden Werte: user, group oder project.
id: Die numerische ID des Nutzers, der Gruppe oder des Projekts.
target: Der Name des Lustre-Zielgeräts.
hard_limit_bytes Die maximal zulässige Speichernutzung für den Nutzer, die Gruppe oder das Projekt. Schreibvorgänge, die dieses Limit überschreiten, werden abgelehnt. Anzeigename: Quota hard limit bytes
Messwerttyp: GAUGE
Werttyp: INT64
Einheit: Bytes
Labels:
accounting_type: Einer der folgenden Werte: user, group oder project.
id: Die numerische ID des Nutzers, der Gruppe oder des Projekts.
target: Der Name des Lustre-Zielgeräts.
used_inodes Die Gesamtzahl der Inodes (Dateidatensätze), die derzeit vom Nutzer, der Gruppe oder dem Projekt belegt werden. Anzeigename: Quota used inodes
Messwertart: GAUGE
Werttyp: INT64
Einheit: Count
Labels:
accounting_type: Einer der folgenden Werte: user, group oder project.
id: Die numerische ID des Nutzers, der Gruppe oder des Projekts.
target: Der Name des Lustre-Zielgeräts.
soft_limit_inodes Der Grenzwert für die Inode-Nutzung, der einen Kulanzzeitraum auslöst. Wenn die Nutzung nach Ablauf des Kulanzzeitraums weiterhin über diesem Limit liegt, wird daraus ein erzwungenes hartes Limit. Anzeigename: Quota soft limit inodes
Messwerttyp: GAUGE
Werttyp: INT64
Einheit: Count
Labels:
accounting_type: Einer der folgenden Werte: user, group oder project.
id: Die numerische ID des Nutzers, der Gruppe oder des Projekts.
target: Der Name des Lustre-Zielgeräts.
hard_limit_inodes Die maximale Anzahl von Inodes, die für den Nutzer, die Gruppe oder das Projekt zulässig sind. Das Erstellen von Dateien, die dieses Limit überschreiten, wird abgelehnt. Anzeigename: Quota hard limit inodes
Messwerttyp: GAUGE
Werttyp: INT64
Einheit: Count
Labels:
accounting_type: Einer der folgenden Werte: user, group oder project.
id: Die numerische ID des Nutzers, der Gruppe oder des Projekts.
target: Der Name des Lustre-Zielgeräts.

Messwerte für Jobstatistiken

Messwerte mit Lese‑, Schreib- und Metadatenstatistiken pro JobID, wie auf dem Client konfiguriert.

Verwenden Sie lctl, um den Parameter jobid_var auf Ihren Lustre-Clients zu konfigurieren, um diese Messwerte zu erfassen. Weitere Informationen finden Sie unter Lustre-Jobstatistiken.

Wenn Sie den Client so konfigurieren möchten, dass er einen bestimmten Bezeichner (z. B. procname_uid) meldet, verwenden Sie den Befehl lctl set_param jobid_var:

lctl set_param jobid_var=procname_uid

Jobstats-Messwerte sind an die Ressource lustre.googleapis.com/Job angehängt.

Messwert Beschreibung Details
read_bytes_total Die Gesamtzahl der vom Job gelesenen Byte. Anzeigename: „Data read bytes by job“ (Gelesene Datenbytes nach Job)
Messwertart:CUMULATIVE (KUMULATIV)
Werttyp:INT64
Einheit:Bytes
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
write_bytes_total Die Gesamtzahl der vom Job geschriebenen Byte. Anzeigename: „Data write bytes by job“
Messwertart:CUMULATIVE
Werttyp:INT64
Einheit:Bytes
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
metadata_operations_total Gesamtzahl der vom Job ausgeführten Metadatenvorgänge. Anzeigename:Metadata operations by job
Messwertart:CUMULATIVE
Werttyp:INT64
Einheit:operations
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
read_samples_total Die Gesamtzahl der vom Job ausgeführten Lesevorgänge. Anzeigename:Data read operations by job
Messwertart:CUMULATIVE
Werttyp:INT64
Einheit:Vorgänge
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
write_samples_total Die Gesamtzahl der vom Job ausgeführten Schreibvorgänge. Anzeigename:Data write operations by job
Messwertart:CUMULATIVE
Werttyp:INT64
Einheit:Vorgänge
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
read_maximum_size_bytes Die maximale Größe der Lesevorgänge des Jobs in Byte. Anzeigename:Maximale Größe der gelesenen Daten pro Job
Messwertart:GAUGE
Werttyp:INT64
Einheit:Bytes
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
read_minimum_size_bytes Die Mindestgröße der vom Job ausgeführten Lesevorgänge in Byte. Anzeigename:Data read minimum size by job
Messwertart:GAUGE
Werttyp:INT64
Einheit:Bytes
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
write_maximum_size_bytes Die maximale Größe der Schreibvorgänge des Jobs in Byte. Anzeigename:Maximale Größe für das Schreiben von Daten nach Job
Messwertart:GAUGE
Werttyp:INT64
Einheit:Bytes
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.
write_minimum_size_bytes Die Mindestgröße der Schreibvorgänge des Jobs in Byte. Anzeigename:Minimale Größe für das Schreiben von Daten nach Job
Messwertart:GAUGE
Werttyp:INT64
Einheit:Bytes
Labels:
job_id: Die vom Client gesendete JobID.
component: Der Zieltyp.
target: Der Name des Ziels.
instance_id: Die ID der Managed Lustre-Instanz.