Memantau metrik sarana kontrol Azure Kubernetes Service (pratinjau)

Dalam artikel ini, Anda mempelajari cara memantau sarana kontrol Azure Kubernetes Service (AKS) dengan menggunakan metrik sarana kontrol di Azure Monitor.

AKS mendukung subset metrik sarana kontrol gratis melalui metrik platform Azure Monitor. Fitur metrik control plane memberi Anda visibilitas terhadap ketersediaan dan kinerja komponen control plane penting seperti server API, etcd, penjadwal, autoscaler, dan manajer pengontrol di AKS. Fitur ini juga sepenuhnya kompatibel dengan layanan terkelola untuk Prometheus dan Azure Managed Grafana. Anda dapat menggunakan metrik ini untuk memaksimalkan pengamatan secara keseluruhan dan untuk mempertahankan keunggulan operasional untuk kluster AKS Anda.

Metrik platform sarana kontrol

AKS menawarkan beberapa metrik sarana kontrol gratis untuk memantau server API dan dll. Metrik ini secara otomatis dikumpulkan untuk semua kluster AKS tanpa biaya. Anda dapat menganalisis metrik dengan menggunakan penjelajah metrik di portal Microsoft Azure. Anda juga dapat membuat pemberitahuan berbasis metrik dengan menggunakan data metrik.

Untuk melihat daftar lengkap metrik platform sarana kontrol yang didukung, lihat referensi pemantauan AKS.

Prasyarat dan batasan

Menginstal ekstensi aks-preview

Penting

Fitur pratinjau AKS tersedia secara layanan mandiri, dengan opsi untuk ikut serta. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," serta tidak termasuk dalam Perjanjian Tingkat Layanan dan garansi terbatas. Pratinjau AKS sebagian dicakup oleh dukungan pelanggan berdasarkan upaya terbaik. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:

  • Instal atau perbarui aks-preview ekstensi Azure CLI dengan menggunakan az extension add perintah atau az extension update :

    # Install the aks-preview extension
    az extension add --name aks-preview
    
    # Update the aks-preview extension
    az extension update --name aks-preview
    

Daftarkan bendera fitur AzureMonitorMetricsControlPlanePreview

  1. Daftarkan flag fitur AzureMonitorMetricsControlPlanePreview menggunakan perintah az feature register

    az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    

    Dibutuhkan beberapa menit agar status ditampilkan sebagai Terdaftar.

  2. Verifikasikan status pendaftaran dengan menggunakan perintah az feature show:

    az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    
  3. Saat status Terdaftar, refresh pendaftaran penyedia sumber daya Microsoft.ContainerService dengan menggunakan perintah az provider register:

    az provider register --namespace "Microsoft.ContainerService"
    

Mengaktifkan metrik control plane pada kluster AKS

Aktifkan metrik pesawat kendali dengan menggunakan layanan terkelola untuk add-on Prometheus saat membuat kluster baru atau memperbarui kluster yang sudah ada.

Catatan

Tidak seperti metrik yang dikumpulkan dari node kluster, metrik control plane dikumpulkan oleh komponen yang bukan bagian dari ama-metrics add-on. Mengaktifkan AzureMonitorMetricsControlPlanePreview bendera fitur dan layanan terkelola untuk add-on Prometheus memastikan bahwa metrik sarana kontrol dikumpulkan. Setelah Anda mengaktifkan pengumpulan metrik, diperlukan waktu beberapa menit agar data muncul di ruang kerja.

Kluster AKS baru

Untuk mempelajari cara mengumpulkan layanan terkelola untuk metrik Prometheus dari kluster AKS Anda, lihat Mengaktifkan Prometheus dan Grafana untuk kluster AKS. Untuk kluster AKS, selesaikan langkah-langkah yang dijelaskan pada tab CLI .

Kluster AKS yang ada

Jika kluster Anda sudah memiliki layanan terkelola untuk add-on Prometheus, perbarui kluster untuk memastikan bahwa kluster tersebut mengumpulkan metrik sarana kontrol dengan menggunakan az aks update perintah :

az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Metrik bidang kendali kueri

Metrik sarana kontrol disimpan di ruang kerja Azure Monitor di wilayah kluster. Anda dapat mengkueri metrik langsung di ruang kerja atau dengan menggunakan instans Azure Managed Grafana yang tersambung ke ruang kerja.

  1. Di portal Microsoft Azure, buka sumber daya kluster AKS Anda.

  2. Di menu sebelah kiri, pilih Pantau>Pengaturan Monitor.

    Cuplikan layar contoh ruang kerja Azure Monitor.

  3. Buka ruang kerja Azure Monitor yang ditautkan ke kluster.

    Cuplikan layar ruang kerja Azure Monitor yang ditautkan.

  4. Di ruang kerja Azure Monitor, di bawah Prometheus Terkelola, menguji metrik menggunakan penjelajah Prometheus.

    Cuplikan layar yang memperlihatkan pengalaman penjelajah Prometheus.

Catatan

AKS menyediakan templat dasbor untuk membantu Anda melihat dan menganalisis data telemetri sarana kontrol Anda secara real time. Jika Anda menggunakan Azure Managed Grafana untuk memvisualisasikan data, Anda bisa mengimpor dasbor berikut:

Menyesuaikan metrik sarana kontrol

AKS menyertakan sekumpulan metrik yang telah dikonfigurasi sebelumnya untuk dikumpulkan dan disimpan untuk setiap komponen. Metrik untuk server API dan etcd dikumpulkan secara default. Anda dapat menyesuaikan daftar metrik yang dikumpulkan dengan memodifikasi ama-metrics-settings-configmap.yaml file configmap.

Target default mencakup nilai berikut:

controlplane-metrics: |-
    default-targets-scrape-enabled: |-
      apiserver = true
      cluster-autoscaler = false
      node-auto-provisioning = false
      kube-scheduler = false
      kube-controller-manager = false
      etcd = true

Semua file configmap harus diterapkan ke namespace kube-system untuk kluster apa pun.

Catatan

Perubahan skema v2: Konfigurasi untuk target sekarang secara terpisah di bawah metrik kluster dan metrik controlplane yang memungkinkan kontrol terpisah dari volume penyerapan untuk target tingkat kluster dan target sarana kontrol. Jika Anda bermigrasi dari v1, ganti konfigurasi ke bagian yang sesuai dalam metrik kluster dan controlplane-metrics, perhatikan juga hal berikut:

  • Ubah nama kunci dari 'default-scrape-settings-enabled' menjadi 'default-targets-scrape-enabled'
  • Untuk target dalam bagian controlplane-metrics, hilangkan awalan "controlplane-"
  • Ubah minimalingestionprofile = true di keep-list ke minimal-ingestion-profile: |- / enabled = true sebagai bagiannya sendiri

Mengkustomisasi profil penyerapan

Anda dapat menyesuaikan file penyerapan untuk metrik yang dikumpulkan. Untuk informasi selengkapnya, lihat Profil penyerapan minimal untuk metrik sarana kontrol dalam layanan terkelola untuk Prometheus.

Menyerap hanya metrik minimal dari target default

  • Atur controlplane-metrics.minimal-ingestion-profile ke true, sehingga hanya menyerap set metrik minimal untuk setiap target default: controlplane-apiserver dan controlplane-etcd.

Menyerap semua metrik dari semua target

  1. ama-metrics-settings-configmap.yaml Unduh file configmap.

  2. Ganti nama file configmap-controlplane.yamlconfigmap .

  3. Atur controlplane-metrics.minimal-ingestion-profile ke false.

  4. Di bawah controlplane-metrics.default-targets-scrape-enabled, verifikasi bahwa target yang ingin Anda goreskan diatur ke true.

    Target yang dapat Anda tetapkan adalah:

    • apiserver
    • cluster-autoscaler
    • node-auto-provisioning
    • kube-scheduler
    • kube-controller-manager
    • etcd
  5. Terapkan file configmap dengan menggunakan kubectl apply perintah :

    kubectl apply -f configmap-controlplane.yaml
    

Setelah Anda menerapkan konfigurasi, dibutuhkan beberapa menit agar metrik dari target yang ditentukan yang diekstraksi dari sarana kontrol muncul di ruang kerja Azure Monitor.

Memasukkan lebih dari metrik minimal

Menggunakan pengaturan controlplane-metrics.minimal-ingestion-profile membantu mengurangi volume pengambilan metrik. Jika diatur ke true, hanya aturan perekaman default, pemberitahuan default, dan metrik yang muncul di dasbor default yang dikumpulkan.

  1. ama-metrics-settings-configmap.yaml Unduh file configmap.

  2. Ganti nama file configmap-controlplane.yamlconfigmap .

  3. Atur controlplane-metrics.minimal-ingestion-profile ke true.

  4. Di bawah controlplane-metrics.default-targets-scrape-enabled, verifikasi bahwa target yang ingin Anda scrape sudah diatur ke true.

    Target yang dapat Anda tetapkan adalah:

    • apiserver
    • cluster-autoscaler
    • node-auto-provisioning
    • kube-scheduler
    • kube-controller-manager
    • etcd
  5. Di bawah controlplane-metrics.default-targets-metrics-keep-list, tentukan daftar metrik untuk true target.

    Contohnya:

    apiserver= "apiserver_admission_webhook_admission_duration_seconds|apiserver_longrunning_requests"
    
  6. Terapkan file configmap dengan menggunakan kubectl apply perintah :

    kubectl apply -f configmap-controlplane.yaml
    

Setelah Anda menerapkan konfigurasi, dibutuhkan beberapa menit agar metrik dari target yang ditentukan yang diekstraksi dari sarana kontrol muncul di ruang kerja Azure Monitor.

Mengumpulkan metrik tertentu dari target tertentu

  1. ama-metrics-settings-configmap.yaml Unduh file configmap.

  2. Ganti nama file configmap-controlplane.yamlconfigmap .

  3. Atur controlplane-metrics.minimal-ingestion-profile ke false.

  4. Di bawah controlplane-metrics.default-targets-scrape-enabled, verifikasi bahwa target yang ingin Anda goreskan diatur ke true.

    Target yang dapat Anda tetapkan adalah:

    • apiserver
    • cluster-autoscaler
    • node-auto-provisioning
    • kube-scheduler
    • kube-controller-manager
    • etcd
  5. Di bawah controlplane-metrics.default-targets-metrics-keep-list, tentukan daftar metrik untuk true target.

    Contohnya:

    apiserver= "apiserver_admission_webhook_admission_duration_seconds|apiserver_longrunning_requests"
    
  6. Terapkan file configmap:

    kubectl apply -f configmap-controlplane.yaml
    

Setelah Anda menerapkan konfigurasi, dibutuhkan beberapa menit agar metrik dari target yang ditentukan yang diekstraksi dari sarana kontrol muncul di ruang kerja Azure Monitor.

Memecahkan masalah metrik sarana kontrol

Pastikan bahwa flag fitur AzureMonitorMetricsControlPlanePreview diaktifkan dan pod ama-metrics sedang berjalan.

Catatan

Metode pemecahan masalah untuk layanan terkelola untuk Prometheus tidak berlaku langsung dalam skenario ini. Komponen yang mengikis sarana kontrol tidak disertakan dalam layanan terkelola untuk add-on Prometheus.

  • Pemformatan file Configmap: Pastikan Anda menggunakan pemformatan yang benar dalam file configmap. Verifikasi bahwa bidang controlplane-metrics.default-targets-metrics-keep-list, controlplane-metrics.minimal-ingestion-profile, dan controlplane-metrics.default-targets-scrape-enabled bidang lainnya diisi dengan benar dengan nilai yang dimaksudkan.

  • Mengisolasi sarana kontrol dari sarana data: Mulailah dengan mengatur beberapa metrik terkait simpul ke true, lalu verifikasi bahwa metrik diteruskan ke ruang kerja. Menyelesaikan langkah-langkah ini membantu Anda menentukan apakah masalahnya bersifat khusus pada pengambilan metrik dari control plane.

  • Perubahan jumlah peristiwa yang diserap: Setelah menerapkan perubahan, Anda dapat membuka penjelajah metrik di portal Microsoft Azure. Buka panel gambaran umum Azure Monitor untuk kluster atau buka bagian Pemantauan dari kluster yang dipilih. Periksa peningkatan atau penurunan jumlah peristiwa yang diserap per menit. Informasi ini dapat membantu Anda menentukan apakah metrik tertentu hilang atau apakah semua metrik hilang.

  • Metrik tertentu tidak diekspos: Dalam beberapa skenario, metrik didokumenkan, tetapi tidak diekspos dari target dan tidak diteruskan ke ruang kerja Azure Monitor. Dalam hal ini, perlu untuk memverifikasi bahwa metrik lain diteruskan ke ruang kerja.

  • Perubahan skema v2: Konfigurasi untuk target dalam skema v2 dari configap sekarang berada secara terpisah di bawah metrik-kluster dan metrik-sarana kontrol yang memungkinkan kontrol terpisah dari volume penyerapan untuk target tingkat kluster dan target sarana kontrol. Jika Anda bermigrasi dari v1, gantikan konfigurasi dengan bagian yang sesuai di dalam cluster-metrics dan controlplane-metrics, catat juga bahwa nama kunci dari 'default-scrape-settings-enabled' diubah menjadi 'default-targets-scrape-enabled'

    Catatan

    Jika Anda ingin memperoleh metrik apiserver_request_duration_seconds atau metrik keranjang lainnya, Anda harus mengonfigurasi seluruh seri dalam himpunan histogram.

    apiserver = "apiserver_request_duration_seconds_bucket|apiserver_request_duration_seconds_sum|apiserver_request_duration_seconds_count"
    
  • Tidak ada akses ke ruang kerja Azure Monitor: Saat mengaktifkan add-on, Anda mungkin menentukan ruang kerja yang sudah ada yang tidak dapat Anda akses. Dalam skenario itu, tampaknya metrik tidak dikumpulkan dan diteruskan. Pastikan Anda membuat ruang kerja baru untuk digunakan untuk mengumpulkan metrik saat Mengaktifkan add-on atau saat Membuat kluster.

Nonaktifkan metrik control plane pada kluster AKS Anda

Anda dapat menonaktifkan metrik sarana kontrol kapan saja dengan menonaktifkan layanan terkelola untuk add-on Prometheus dan membatalkan pendaftaran AzureMonitorMetricsControlPlanePreview bendera fitur.

  1. Hapus add-on metrik yang mengambil data metrik Prometheus dengan menggunakan perintah az aks update.

    az aks update --disable-azure-monitor-metrics --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    
  2. Untuk menonaktifkan metrik sarana kontrol pengikisan pada kluster AKS, batalkan pendaftaran AzureMonitorMetricsControlPlanePreview bendera fitur melalui az feature unregister perintah:

    az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
    

Tanya jawab umum

Dapatkah saya mengikis metrik sarana kontrol dengan menggunakan Prometheus yang dihost sendiri?

Tidak. Saat ini, Anda tidak dapat mengumpulkan metrik control plane dengan menggunakan Prometheus yang dihost sendiri. Prometheus yang di-host sendiri hanya dapat mengambil data dari satu instans, tergantung pada load balancer, sehingga metrik menjadi tidak andal. Seringkali, beberapa replika metrik sarana kontrol hanya terlihat melalui layanan terkelola untuk Prometheus.

Mengapa agen pengguna tidak tersedia dalam metrik sarana kontrol?

Di AKS, metrik sarana kontrol tidak memiliki agen pengguna. Agen pengguna hanya tersedia melalui log sarana kontrol yang Anda akses dalam pengaturan diagnostik.