Mengirim metrik GPU ke Cloud Monitoring

Jika cluster Anda memiliki node yang menggunakan GPU NVIDIA, Anda dapat memantau pemanfaatan, performa, dan kondisi GPU dengan mengonfigurasi cluster untuk mengirim metrik NVIDIA Data Center GPU Manager (DCGM) ke Cloud Monitoring. Solusi ini menggunakan Google Cloud Managed Service for Prometheus untuk mengumpulkan metrik dari NVIDIA DCGM.

Halaman ini ditujukan untuk administrator dan Operator IT yang mengelola siklus proses infrastruktur teknologi yang mendasarinya. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna GKE umum. Google Cloud

Sebelum memulai

Untuk menggunakan Google Cloud Managed Service for Prometheus guna mengumpulkan metrik dari DCGM, deployment Google Distributed Cloud Anda harus memenuhi persyaratan berikut:

Mengonfigurasi resource PodMonitoring

Konfigurasi resource PodMonitoring untuk Google Cloud Managed Service for Prometheus guna mengumpulkan metrik yang diekspor. Jika Anda mengalami masalah saat menginstal aplikasi atau eksportir karena kebijakan keamanan atau organisasi yang ketat, sebaiknya lihat dokumentasi open source untuk mendapatkan dukungan.

Untuk menyerap data metrik yang dikeluarkan oleh Pod DCGM Exporter (nvidia-dcgm-exporter), Google Cloud Managed Service for Prometheus menggunakan scraping target. Penarikan target dan penyerapan metrik dikonfigurasi menggunakan resource kustom Kubernetes. Layanan terkelola menggunakan resource kustom PodMonitoring.

Resource kustom PodMonitoring hanya meng-scrape target di namespace tempat resource tersebut di-deploy. Untuk meng-scrape target di beberapa namespace, deploy resource kustom PodMonitoring yang sama di setiap namespace.

  1. Buat file manifes dengan konfigurasi berikut:

    Bagian selector dalam manifes menentukan bahwa Pod DCGM Exporter, nvidia-dcgm-exporter, dipilih untuk pemantauan. Pod ini di-deploy saat Anda menginstal 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. Deploy resource kustom PodMonitoring:

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

    Ganti kode berikut:

    • NAMESPACE: namespace tempat Anda men-deploy resource kustom PodMonitoring.

    • FILENAME: jalur file manifes untuk resource kustom PodMonitoring.

    • KUBECONFIG: jalur file kubeconfig untuk cluster.

  3. Untuk memverifikasi bahwa resource kustom PodMonitoring diinstal di namespace yang dimaksud, jalankan perintah berikut:

    kubectl get podmonitoring -n NAMESPACE --kubeconfig KUBECONFIG
    

    Output-nya akan terlihat seperti berikut:

    NAME       AGE
    dcgm-gmp   3m37s
    

Memverifikasi konfigurasi

Anda dapat menggunakan Metrics Explorer untuk memverifikasi bahwa Anda telah mengonfigurasi eksportir DCGM dengan benar. Mungkin perlu waktu satu atau dua menit agar Cloud Monitoring dapat mengambil metrik Anda.

Untuk memverifikasi bahwa metrik telah di-ingest, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman  Metrics explorer:

    Buka Metrics explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Gunakan Bahasa Kueri Prometheus (PromQL) untuk menentukan data yang akan ditampilkan pada diagram:

    1. Di toolbar panel pembuat kueri, klik < > PromQL.

    2. Masukkan kueri Anda ke editor kueri. Misalnya, untuk memetakan jumlah detik rata-rata yang dihabiskan CPU dalam setiap mode selama satu jam terakhir, gunakan kueri berikut:

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

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster dengan node yang menggunakan GPU.

    • NAMESPACE: namespace tempat Anda men-deploy resource kustom PodMonitoring.

    Untuk mengetahui informasi selengkapnya tentang penggunaan PromQL, lihat PromQL di Cloud Monitoring.