Mengonfigurasi dan melihat metrik Azure Kubernetes Application Network (pratinjau)

Penting

Fitur pratinjau AKS tersedia atas dasar layanan mandiri dan pendaftaran sukarela. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan pratinjau tersebut dikecualikan dari perjanjian tingkat layanan (SLA) serta garansi terbatas. Pratinjau AKS sebagian didukung oleh dukungan pelanggan berdasarkan upaya terbaik yang dapat dilakukan. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:

Azure Kubernetes Application Network menyediakan metrik komprehensif untuk beban kerja Anda dan komponen data plane Azure Kubernetes Application Network (ZTunnel, Istio CNI, dan Waypoint) melalui metrik Azure Monitor. Artikel ini menjelaskan cara mengonfigurasi dan menampilkan metrik ini di Azure Monitor.

Keterbatasan

Metrik pesawat kontrol belum didukung saat ini. Namun, metrik lapisan data tersedia, dan Anda dapat menggunakannya untuk memantau kesehatan dan performa beban kerja serta komponen jaringan aplikasi Azure Kubernetes.

Metrik lapisan data

Metrik jalur data mencakup metrik dari beban kerja/aplikasi Anda dan namespace appnet-system. Azure Kubernetes Application Network saat ini hanya menyediakan dukungan untuk metrik sarana data.

Mengonfigurasi metrik bidang data

Opsi konfigurasi ruang kerja untuk metrik tingkat data

Saat mengaktifkan pengumpulan metrik Prometheus untuk kluster anggota Azure Kubernetes Application Network, Anda memiliki opsi berikut untuk konfigurasi ruang kerja:

  • Gunakan ruang kerja Azure Monitor yang sudah ada.
  • Hilangkan ID sumber daya ruang kerja dan gunakan ruang kerja default yang dibuat untuk grup sumber daya Anda.
  • Buat ruang kerja Azure Monitor baru.

Mengaktifkan pengumpulan metrik jalur data

  1. Aktifkan pengumpulan metrik Prometheus pada kluster anggota Azure Kubernetes Application Network menggunakan perintah az aks update dengan parameter --azure-monitor-workspace-resource-id ditetapkan ke ID ruang kerja Anda yang sudah ada. Jika Metrik Azure Monitor sudah diaktifkan di kluster anggota, Anda dapat melompat ke langkah berikutnya.

    az aks update --enable-azure-monitor-metrics \
      --name $CLUSTER_NAME \
      --resource-group $AKS_RG \
      --azure-monitor-workspace-resource-id $WORKSPACE_ID
    
  2. Buat dan terapkan ConfigMap berikut di kube-system namespace menggunakan kubectl apply perintah . ConfigMap ini memungkinkan pengumpulan data dari Ztunnel, Istio CNI, waypoint, dan aplikasi/entitas kerja Anda.

    kubectl apply -f - <<EOF
    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: ama-metrics-settings-configmap
      namespace: kube-system
    data:
      schema-version: v1
      config-version: ver1
      prometheus-collector-settings: |-
        cluster_alias = ""
        https_config = true
      default-scrape-settings-enabled: |-
        ztunnel = true
        istio-cni = true
      pod-annotation-based-scraping: |-
        podannotationnamespaceregex = ".*"
      default-targets-metrics-keep-list: |-
        ztunnel = ""
        istio-cni = ""
        minimalingestionprofile = true
      default-targets-scrape-interval-settings: |-
        ztunnel = "30s"
        istio-cni = "30s"
        podannotations = "30s"
      debug-mode: |-
        enabled = false
    EOF
    
  3. Tambahkan anotasi ke pod aplikasi yang ingin Anda goreskan.

    • prometheus.io/scrape: "true" diperlukan untuk menunjukkan bahwa pod harus diekstraksi.
    • prometheus.io/path secara opsional digunakan untuk menunjukkan jalur tempat metrik dihosting. Jika dihilangkan, secara default akan menjadi /metrics.
    • prometheus.io/port secara opsional digunakan untuk menunjukkan port tempat metrik dihosting. Jika dihilangkan, Prometheus akan menggunakan port yang dinyatakan dalam spesifikasi pod dari kontainer. Untuk kontainer yang tidak memiliki port yang dinyatakan, Prometheus membuat target tanpa port (hanya IP), dan ini memerlukan pengaturan konfigurasi pelabelan ulang yang tepat agar dapat bekerja dengan anotasi port. Disarankan untuk secara eksplisit menentukan port untuk memastikan scraping yang andal.

    Sampel berikut mendefinisikan anotasi untuk pod yang menyediakan metrik di <pod IP>:15020/metrics

    prometheus.io/scrape: "true"
    prometheus.io/port: "15020"
    prometheus.io/path: "/metrics"
    

    Mungkin perlu waktu beberapa menit agar ReplicaSet metrik AMA memuat konfigurasi ini.

Menampilkan metrik sarana data

  1. Navigasi ke ruang kerja Azure Monitor Anda di portal Microsoft Azure untuk mengkueri metrik menggunakan PromQL.

  2. Buat beberapa lalu lintas, lalu pilih kueri dari metrik yang diekspos untuk melihat metrik. Misalnya, Anda dapat menjalankan kueri berikut untuk menampilkan jumlah total permintaan yang ditangani oleh titik arah:

    # ztunnel
    istio_xds_connection_terminations_total
    
    # waypoint
    istio_requests_total
    
    # istio-cni
    istio_cni_install_ready
    

    Cuplikan layar berikut menunjukkan hasil untuk kueri sampel:

    Cuplikan layar hasil kueri untuk melihat jumlah total permintaan yang ditangani oleh titik arah.

Daftar metrik yang diekspos

Komponen Metrik yang Diungkapkan
ZTunnel istio_build
istio_xds_connection_terminations_total
istio_xds_message_total
istio_xds_message_bytes_total
istio_tcp_connections_opened_total
istio_tcp_connections_closed_total
istio_tcp_received_bytes_total
istio_tcp_sent_bytes_total
istio_on_demand_dns
istio_dns_requests_total
istio_dns_upstream_requests
istio_dns_upstream_failures
istio_dns_upstream_request_duration_seconds
workload_manager_active_proxy_count
workload_manager_pending_proxy_count
workload_manager_proxies_started_total
workload_manager_proxies_stopped_total
Istio CNI istio_cni_install_ready
istio_cni_installs_total
nodeagent_reconcile_events_total
ztunnel_connected
Waypoint istio_build
istio_request_bytes_bucket
istio_request_bytes_count
istio_request_bytes_sum
istio_request_duration_milliseconds_bucket
istio_request_duration_milliseconds_count
istio_request_duration_milliseconds_sum
istio_requests_total
istio_response_bytes_bucket
istio_response_bytes_count
istio_response_bytes_sum

Mengakses metrik langsung dari proksi waypoint

Selain metrik permintaan/respons Istio, proksi titik arah juga memancarkan metrik Envoy.

  • Untuk menemukan daftar lengkap metrik yang dipancarkan oleh waypoint, Anda dapat melakukan port-forward ke proksi waypoint di ruang nama Anda dan mencantumkan metrik menggunakan perintah berikut:

    # Port-forward to waypoint proxy
    kubectl port-forward -n <namespace> deployment/waypoint 15020:15020 &
    
    # List metrics exposed by waypoint
    curl http://localhost:15020/stats/prometheus | grep -v '^#' | grep -v '^$' | awk -F'{' '{print $1}' | sort -u
    

Memvisualisasikan metrik dengan Grafana di portal Microsoft Azure

  1. Mengimpor dasbor komunitas Istio.

  2. Buat lalu lintas untuk kluster anggota Anda, lalu navigasikan ke ruang kerja Azure Monitor Anda di portal Microsoft Azure.

  3. Pilih Dasbor Pemantauan>dengan Grafana.

    Cuplikan layar berikut menunjukkan contoh mengimpor Dasbor Istio Ztunnel:

    Cuplikan layar memperlihatkan opsi dasbor impor di ruang kerja Azure Monitor di portal Microsoft Azure.

    Cuplikan layar memperlihatkan opsi tinjauan untuk mengimpor dasbor Ztunnel di portal Microsoft Azure.

    Cuplikan layar memperlihatkan visualisasi dasbor Ztunnel di Dasbor Grafana di portal Microsoft Azure.

Jika Anda ingin mengonfigurasi Azure Managed Grafana alih-alih Dasbor dengan Grafana, lihat Membuat ruang kerja Azure Managed Grafana menggunakan Azure CLI.

Untuk informasi selengkapnya tentang pengamatan dan pemantauan Azure Kubernetes Application Network, lihat artikel berikut: