Mengirim metrik GPU ke Cloud Monitoring

Jika cluster Anda memiliki node yang menggunakan GPU NVIDIA, Anda dapat memantau penggunaan, 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 Operator dan administrator IT yang mengelola siklus proses infrastruktur teknologi yang mendasarinya. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Tugas dan peran pengguna GKE Enterprise umum.

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

Konfigurasikan 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 organisasi atau keamanan yang membatasi, sebaiknya konsultasikan dokumentasi open source untuk mendapatkan dukungan.

Untuk menyerap data metrik yang dikeluarkan oleh Pod Ekspor DCGM (nvidia-dcgm-exporter), Google Cloud Managed Service for Prometheus menggunakan scraping target. Pengambilan data 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 Ekspor DCGM, nvidia-dcgm-exporter, dipilih untuk pemantauan. Pod ini di-deploy saat Anda menginstal Operator GPU NVIDIA.

    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. Pastikan resource kustom PodMonitoring diinstal di namespace yang diinginkan, 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 menyerap metrik Anda.

Untuk memverifikasi bahwa metrik telah diserap, 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 Prometheus Query Language (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 membuat diagram rata-rata jumlah detik 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 informasi selengkapnya tentang penggunaan PromQL, lihat PromQL di Cloud Monitoring.