GPU 指標を Cloud Monitoring に送信する

クラスタに NVIDIA GPU を使用するノードがある場合は、NVIDIA Data Center GPU Manager(DCGM)の指標を Cloud Monitoring に送信するようにクラスタを構成すると、GPU の使用率、パフォーマンス、正常性をモニタリングできます。このソリューションでは、Google Cloud Managed Service for Prometheus を使用して NVIDIA DCGM から指標を収集します。

このページは、基盤となる技術インフラストラクチャのライフサイクルを管理する IT 管理者と運用担当者を対象としています。 Google Cloud のコンテンツで参照する一般的なロールとタスク例の詳細については、一般的な GKE Enterprise ユーザーロールとタスクをご覧ください。

始める前に

Google Cloud Managed Service for Prometheus を使用して DCGM から指標を収集するには、Google Distributed Cloud のデプロイが次の要件を満たしている必要があります。

PodMonitoring リソースを構成する

エクスポートされた指標を収集するために、Google Cloud Managed Service for Prometheus の PodMonitoring リソースを構成します。セキュリティ ポリシーや組織のポリシーの制限により、アプリケーションやエクスポータのインストールに問題がある場合は、オープンソース ドキュメントでサポート情報を確認することをおすすめします。

DCGM エクスポータ Pod(nvidia-dcgm-exporter)によって出力された指標データを取り込むために、Google Cloud Managed Service for Prometheus はターゲットのスクレイピングを使用します。ターゲットのスクレイピングと指標の取り込みは、Kubernetes のカスタム リソースを使用して構成されます。マネージド サービスは PodMonitoring カスタム リソースを使用します。

PodMonitoring カスタム リソースは、デプロイされている名前空間内のターゲットのみをスクレイピングします。複数の Namespace でターゲットをスクレイピングするには、各 Namespace に同じ PodMonitoring カスタム リソースをデプロイします。

  1. 次の構成でマニフェスト ファイルを作成します。

    マニフェストの selector セクションでは、DCGM Exporter Pod nvidia-dcgm-exporter がモニタリング用に選択されていることを指定します。この Pod は、NVIDIA GPU Operator のインストール時にデプロイされます。

    apiVersion: monitoring.googleapis.com/v1
    kind: PodMonitoring
    metadata:
      name: dcgm-gmp
    spec:
      selector:
        matchLabels:
          app: nvidia-dcgm-exporter
      endpoints:
      - port: metrics
        interval: 30s
    
  2. PodMonitoring カスタム リソースをデプロイします。

    kubectl apply -n NAMESPACE -f FILENAME --kubeconfig KUBECONFIG
    

    次のように置き換えます。

    • NAMESPACE: PodMonitoring カスタム リソースをデプロイする名前空間。

    • FILENAME: PodMonitoring カスタム リソースのマニフェスト ファイルのパス。

    • KUBECONFIG: クラスタの kubeconfig ファイルのパス。

  3. PodMonitoring カスタム リソースが目的の Namespace にインストールされていることを確認するには、次のコマンドを実行します。

    kubectl get podmonitoring -n NAMESPACE --kubeconfig KUBECONFIG
    

    出力は次のようになります。

    NAME       AGE
    dcgm-gmp   3m37s
    

構成を確認する

Metrics Explorer を使用すると、DCGM エクスポータが正しく構成されていることを確認できます。Cloud Monitoring が指標を取り込むまでに 1 ~ 2 分かかる場合があります。

指標が取り込まれていることを確認します。

  1. Google Cloud コンソールで、 [指標エクスプローラ] ページに移動します。

    Metrics Explorer に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. Prometheus Query Language(PromQL)を使用して、グラフに表示するデータを指定します。

    1. クエリビルダー ペインのツールバーで、< > PromQL をクリックします。

    2. Query Editor にクエリを入力します。たとえば、過去 1 時間に各モードで使用された CPU の平均秒数をグラフ化するには、次のクエリを使用します。

      DCGM_FI_DEV_GPU_UTIL{cluster="CLUSTER_NAME", namespace="NAMESPACE"}
      

    次のように置き換えます。

    • CLUSTER_NAME: GPU を使用しているノードを含むクラスタの名前。

    • NAMESPACE: PodMonitoring カスタム リソースをデプロイした Namespace。

    PromQL の使用の詳細については、Cloud Monitoring の PromQL をご覧ください。