Die NVIDIA Data Center GPU Manager-Integration erfasst wichtige erweiterte GPU-Messwerte aus DCGM. Der Ops-Agent kann so konfiguriert werden, dass er einen von zwei verschiedenen Messwertsätzen erfasst. Dazu wählen Sie die Version des dcgm
-Empfängers aus:
- Version 2 des
dcgm
-Empfängers bietet eine Auswahl von Messwerten, mit denen die Leistung und der Status der GPUs überwacht werden können, die an eine bestimmte VM-Instanz angehängt sind. - Version 1 des
dcgm
-Empfängers bietet eine Reihe von Profilierungsmesswerten, die in Kombination mit den standardmäßigen GPU-Messwerten verwendet werden sollen. Informationen zum Zweck und zur Interpretation dieser Messwerte finden Sie unter Messwerte zur Profilerstellung in der DCGM-Feature-Übersicht.
Weitere Informationen zum NVIDIA Data Center GPU Manager finden Sie in der DCGM-Dokumentation. Diese Integration ist mit DCGM Version 3.1 und höher kompatibel.
Diese Messwerte sind nur für Linux-Systeme verfügbar. Die Messwerte für das Profiling werden nicht von den NVIDIA GPU-Modellen P100 und P4 erfasst.
Vorbereitung
So erfassen Sie NVIDIA DCGM-Messwerte:
Installieren Sie den Ops-Agent.
- Version 1-Messwerte: Ops-Agent-Version 2.38.0 oder höher Nur Ops-Agent-Version 2.38.0 oder Version 2.41.0 oder höher ist mit GPU-Monitoring kompatibel. Installieren Sie die Ops-Agent-Versionen 2.39.0 und 2.40.0 nicht auf VMs mit angehängten GPUs. Weitere Informationen finden Sie unter Der Agent stürzt ab und der Fehlerbericht erwähnt NVIDIA.
- Messwerte der Version 2: Ops-Agent-Version 2.51.0 oder höher
DCGM installieren und Installation prüfen
Sie müssen die DCGM-Version 3.1 und höher installieren und prüfen, ob sie als privilegierter Dienst ausgeführt wird. Informationen zum Installieren von DCGM finden Sie in der DCGM-Dokumentation unter Installation.
So prüfen Sie, ob DCGM korrekt ausgeführt wird:
Prüfen Sie den Status des DCGM-Dienstes mit dem folgenden Befehl:
sudo service nvidia-dcgm status
Wenn der Dienst ausgeführt wird, wird der Dienst
nvidia-dcgm
alsactive (running)
aufgeführt. Die Ausgabe sollte so aussehen:● nvidia-dcgm.service - NVIDIA DCGM service Loaded: loaded (/usr/lib/systemd/system/nvidia-dcgm.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 15:24:29 UTC; 3s ago Main PID: 24388 (nv-hostengine) Tasks: 7 (limit: 14745) CGroup: /system.slice/nvidia-dcgm.service └─24388 /usr/bin/nv-hostengine -n --service-account nvidia-dcgm
Prüfen Sie mit dem folgenden Befehl, ob die GPU-Geräte gefunden wurden:
dcgmi discovery --list
Wenn Geräte gefunden werden, sieht die Ausgabe in etwa so aus:
1 GPU found. +--------+----------------------------------------------------------------------+ | GPU ID | Device Information | +--------+----------------------------------------------------------------------+ | 0 | Name: NVIDIA A100-SXM4-40GB | | | PCI Bus ID: 00000000:00:04.0 | | | Device UUID: GPU-a2d9f5c7-87d3-7d57-3277-e091ad1ba957 | +--------+----------------------------------------------------------------------+
Ops-Agent für DCGM konfigurieren
Fügen Sie die erforderlichen Elemente zum Erfassen von Telemetriedaten aus dem DCGM-Dienst gemäß der Anleitung unter Ops-Agent konfigurieren hinzu und starten Sie den Agent neu.
Konfigurationsbeispiel
Mit den folgenden Befehlen wird die Konfiguration zum Erfassen und Aufnehmen der Messwerte der Empfängerversion 2 für NVIDIA DCGM erstellt und der Ops-Agent neu gestartet:
Wenn Sie nur DCGM-Profilierungsmesswerte erfassen möchten, ersetzen Sie den Wert des Felds receiver_version
durch 1
. Sie können den Eintrag receiver_version
auch vollständig entfernen. Die Standardversion ist 1
.
Sie können nicht beide Versionen gleichzeitig verwenden.
Nachdem Sie diese Befehle ausgeführt haben, können Sie prüfen, ob der Agent neu gestartet wurde. Führen Sie den folgenden Befehl aus und prüfen Sie, ob die Sub-Agent-Komponenten „Metrics Agent“ und „Logging Agent“ als „aktiv (läuft)“ aufgeführt sind:
sudo systemctl status google-cloud-ops-agent"*"
Wenn Sie ein benutzerdefiniertes Dienstkonto anstelle des standardmäßigen Compute Engine-Dienstkontos verwenden oder wenn Sie eine sehr alte Compute Engine-VM haben, müssen Sie möglicherweise den Ops-Agent autorisieren.
Messwerterfassung konfigurieren
Um Messwerte von NVIDIA DCGM aufzunehmen, müssen Sie einen Empfänger für die von NVIDIA DCGM erzeugten Messwerte erstellen und dann eine Pipeline für den neuen Empfänger erstellen.
Dieser Empfänger unterstützt die Verwendung mehrerer Instanzen in der Konfiguration, z. B. zum Überwachen mehrerer Endpunkte, nicht. Alle diese Instanzen schreiben in dieselbe Zeitachse und Cloud Monitoring kann sie nicht unterscheiden.
Um einen Empfänger für Ihre dcgm
-Messwerte zu konfigurieren, geben Sie die folgenden Felder an:
Feld | Standard | Beschreibung |
---|---|---|
collection_interval |
60s |
Eine Zeitdauer, z. B. 30s oder 5m . |
endpoint |
localhost:5555 |
Adresse des DCGM-Dienstes, formatiert als host:port . |
receiver_version |
1 |
Entweder 1 oder 2. Für Version 2 sind viele weitere Messwerte verfügbar. |
type |
Dieser Wert muss dcgm sein. |
Was wird überwacht?
Die folgenden Tabellen enthalten Listen der Messwerte, die der Ops-Agent aus der NVIDIA DGCM-Instanz erfasst. Nicht alle Messwerte sind für alle GPU-Modelle verfügbar. Die Messwerte für das Profiling werden nicht von den NVIDIA GPU-Modellen P100 und P4 erfasst.
Messwerte der Version 1
Die folgenden Messwerte werden mit Version 1 des dcgm
-Empfängers erfasst.
Messwerttyp | |
---|---|
Art, Typ Überwachte Ressourcen |
Labels |
workload.googleapis.com/dcgm.gpu.profiling.dram_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.nvlink_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pcie_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pipe_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe ‡uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_occupancy †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† Nicht verfügbar für die GPU-Modelle P100 und P4.
‡ Bei L4 wird der pipe
-Wert fp64
nicht unterstützt.
Messwerte der Version 2
Die folgenden Messwerte werden mit Version 2 des dcgm
-Empfängers erfasst.
Messwerttyp | |
---|---|
Art, Typ Überwachte Ressourcen |
Labels |
workload.googleapis.com/gpu.dcgm.clock.frequency
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.clock.throttle_duration.time
|
|
CUMULATIVE , DOUBLE gce_instance |
gpu_number model uuid violation †
|
workload.googleapis.com/gpu.dcgm.codec.decoder.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.codec.encoder.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.ecc_errors
|
|
CUMULATIVE , INT64 gce_instance |
error_type gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.energy_consumption
|
|
CUMULATIVE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bandwidth_utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bytes_used
|
|
GAUGE , INT64 gce_instance |
gpu_number model state uuid
|
workload.googleapis.com/gpu.dcgm.nvlink.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pcie.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pipe.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe §uuid
|
workload.googleapis.com/gpu.dcgm.sm.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.temperature
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† Für P100 und P4 werden nur die violation
-Werte power
, thermal
und sync_boost
unterstützt.
‡ Nicht verfügbar für die GPU-Modelle P100 und P4.
§ Bei L4 wird der pipe
-Wert fp64
nicht unterstützt.
GPU-Messwerte
Darüber hinaus erfasst die integrierte Konfiguration für den Ops-Agent auch agent.googleapis.com/gpu
-Messwerte, die von der NVIDIA
Verwaltungsbibliothek (NVML) gemeldet werden.
Sie benötigen keine zusätzliche Konfiguration im Ops-Agent, um diese Messwerte zu erfassen. Sie müssen jedoch
Ihre VM mit angehängten GPUs erstellen und
den GPU-Treiber installieren. Weitere Informationen finden Sie unter gpu
-Messwerte. Die Messwerte der dcgm
-Empfängerversion 1 ergänzen diese Standardmesswerte, während die Messwerte der dcgm
-Empfängerversion 2 eigenständig sind.
Konfiguration prüfen
In diesem Abschnitt wird beschrieben, wie Sie prüfen können, ob Sie den NVIDIA DCGM-Empfänger richtig konfiguriert haben. Es kann ein oder zwei Minuten dauern, bis der Ops-Agent Telemetriedaten erfasst.
So prüfen Sie, ob NVIDIA DCGM-Messwerte an Cloud Monitoring gesendet werden:
-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie in der Symbolleiste des Bereichs "Query Builder" auf die Schaltfläche code MQL oder code PromQL.
- Prüfen Sie, ob MQL im Schalter Sprache ausgewählt ist. Die Sprachschaltfläche befindet sich in derselben Symbolleiste, mit der Sie Ihre Abfrage formatieren können.
- Geben Sie für v1-Messwerte die folgende Abfrage in den Editor ein und klicken Sie dann auf Ausführen:
fetch gce_instance | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization' | every 1m
- Geben Sie bei v2-Messwerten die folgende Abfrage im Editor ein und klicken Sie dann auf Ausführen:
fetch gce_instance | metric 'workload.googleapis.com/gpu.dcgm.sm.utilization' | every 1m
Dashboard aufrufen
Damit Sie Ihre NVIDIA-DCGM-Messwerte aufrufen können, müssen Sie ein Diagramm oder ein Dashboard konfiguriert haben. Die NVIDIA-DCGM-Integration enthält ein oder mehrere Dashboards. Alle Dashboards werden automatisch installiert, nachdem Sie die Integration konfiguriert haben und der Ops-Agent mit dem Erfassen von Messwertdaten begonnen hat.
Sie können auch eine statische Vorschau von Dashboards aufrufen, ohne die Integration zu installieren.
So rufen Sie ein installiertes Dashboard auf:
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie den Tab Dashboard-Liste und dann die Kategorie Integrationen aus.
- Wählen Sie den Namen des Dashboards aus, das Sie aufrufen möchten.
Wenn Sie eine Integration konfiguriert haben, das Dashboard jedoch nicht installiert ist, prüfen Sie, ob der Ops-Agent ausgeführt wird. Wenn im Dashboard keine Messwertdaten für ein Diagramm vorhanden sind, schlägt die Installation des Dashboards fehl. Nachdem der Ops-Agent mit dem Erfassen von Messwerten begonnen hat, wird das Dashboard für Sie installiert.
So rufen Sie eine statische Vorschau des Dashboards auf:
-
Öffnen Sie in der Google Cloud Console die Seite Einbindungen:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie auf den Filter für die Deployment-Plattform Compute Engine.
- Suchen Sie den Eintrag für NVIDIA DCGM und klicken Sie auf Details ansehen.
- Wählen Sie den Tab Dashboards aus, um eine statische Vorschau aufzurufen. Wenn das Dashboard installiert ist, können Sie es aufrufen. Klicken Sie dazu auf Dashboard aufrufen.
Weitere Informationen zu Dashboards in Cloud Monitoring finden Sie unter Dashboards und Diagramme.
Weitere Informationen zur Verwendung der Seite Integrationen finden Sie unter Integrationen verwalten.
DCGM-Einschränkungen und Profilerstellung pausieren
Die gleichzeitige Verwendung von DCGM kann zu einem Konflikt mit anderen NVIDIA-Entwicklertools wie Nsight Systems oder Nsight Compute führen. Diese Einschränkung gilt für NVIDIA A100- und frühere GPUs. Weitere Informationen finden Sie unter Profilerstellungsrate im DCGM-Featureübersicht.
Wenn Sie Tools wie Nsight Systems ohne wesentliche Unterbrechung verwenden müssen, können Sie die Messwerterfassung vorübergehend anhalten oder fortsetzen. Dazu verwenden Sie folgende Befehle:
dcgmi profile --pause dcgmi profile --resume
Wenn die Profilerstellung pausiert ist, wird keiner der DCGM-Messwerte, die der Ops-Agent erfasst, von der VM ausgegeben.
Nächste Schritte
Eine Anleitung zur Installation von Ops-Agent mit Ansible zum Konfigurieren einer Drittanbieteranwendung und zum Installieren eines Beispieldashboards finden Sie im Video Ops-Agent installieren, um Fehler in Drittanbieteranwendungen zu beheben.