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 Exporter Pod(nvidia-dcgm-exporter)によって出力された指標データを取り込むために、Google Cloud Managed Service for Prometheus はターゲットのスクレイピングを使用します。ターゲットのスクレイピングと指標の取り込みは、Kubernetes のカスタム リソースを使用して構成されます。Google Cloud Managed Service for Prometheus は PodMonitoring カスタム リソースを使用します。

PodMonitoring カスタム リソースは、デプロイされている Namespace 内のターゲットのみをスクレイピングします。複数の 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 カスタム リソースをデプロイする Namespace。

    • 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 のページに移動します。

    Metrics Explorer に移動

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

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

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

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

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

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

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

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

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