Azure Kubernetes Uygulama Ağı ölçümlerini yapılandırma ve görüntüleme (önizleme)

Önemli

AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:

Azure Kubernetes Uygulama Ağı, Azure İzleyici ölçümleri aracılığıyla iş yükleriniz ve Azure Kubernetes Uygulama Ağı veri düzlemi bileşenleri (ZTunnel, Istio CNI ve Waypoint) için kapsamlı ölçümler sağlar. Bu makalede, Azure İzleyici'de bu ölçümlerin nasıl yapılandırılıp görüntüleneceği açıklanmaktadır.

Sınırlamalar

Denetim düzlemi ölçümleri şu anda desteklenmemektedir. Ancak veri düzlemi ölçümleri kullanılabilir ve bunları kullanarak iş yüklerinizin ve Azure Kubernetes Uygulama Ağı bileşenlerinin sistem durumunu ve performansını izleyebilirsiniz.

Veri düzlemi ölçümleri

Veri düzlemi ölçümleri, iş yüklerinizden/uygulamalarınızdan ve appnet-system ad alanından alınan ölçümleri içerir. Azure Kubernetes Application Network şu anda yalnızca veri düzlemi ölçümleri için destek sağlamaktadır.

Veri düzlemi ölçümlerini yapılandırma

Veri düzlemi ölçümleri için çalışma alanı yapılandırma seçenekleri

Azure Kubernetes Uygulama Ağı üye kümeleri için Prometheus ölçüm koleksiyonunu etkinleştirdiğinizde, çalışma alanı yapılandırması için aşağıdaki seçeneklere sahip olursunuz:

  • Mevcut bir Azure İzleyici çalışma alanını kullanın.
  • Çalışma alanı kaynak kimliğini atlayıp kaynak grubunuz için oluşturulan varsayılan çalışma alanını kullanın.
  • Yeni bir Azure İzleyici çalışma alanı oluşturun.

Veri düzlemi ölçüm toplamayı etkinleştirme

  1. Azure Kubernetes Uygulama Ağı üye kümenizde az aks update komutunu ve --azure-monitor-workspace-resource-id parametresini kullanarak, var olan çalışma alanı kimliğinize ayarlanmış Prometheus metrik toplamasını etkinleştirin. Üye kümenizde Azure İzleyici Ölçümleri zaten etkinleştirilmişse sonraki adıma geçebilirsiniz.

    az aks update --enable-azure-monitor-metrics \
      --name $CLUSTER_NAME \
      --resource-group $AKS_RG \
      --azure-monitor-workspace-resource-id $WORKSPACE_ID
    
  2. komutunu kullanarak ad alanında kube-system aşağıdaki ConfigMap'i kubectl apply oluşturun ve uygulayın. Bu ConfigMap, Ztunnel, Istio CNI, waypoint ve uygulamanızın/iş yüklerinizin kazınmalarına olanak tanır.

    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. Kazımak istediğiniz uygulama podlarına ek açıklamalar ekleyin.

    • prometheus.io/scrape: "true" podunun kazınması gerektiğini belirtmek için gereklidir.
    • prometheus.io/path isteğe bağlı olarak ölçümlerin barındırıldığı yolu belirtmek için kullanılır. Atlanırsa, varsayılan değer /metrics olur.
    • prometheus.io/port isteğe bağlı olarak ölçümlerin barındırıldığı bağlantı noktasını belirtmek için kullanılır. Belirtilmezse, Prometheus pod belirtiminden kapsayıcının bildirilen bağlantı noktalarını kullanır. Bildirilmemiş bağlantı noktası olmayan kapsayıcılar için Prometheus, bağlantı noktası ek açıklamalarıyla çalışmak için düzgün yeniden etiketleme yapılandırması gerektiren, bağlantı noktası içermeyen bir hedef (yalnızca IP) oluşturur. Güvenilir kazıma sağlamak için bağlantı noktasını açıkça belirtmeniz önerilir.

    Aşağıdaki örnek, şu konumda ölçümleri barındıran bir pod için ek açıklamaları tanımlar: <pod IP>:15020/metrics

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

    AMA ölçümlerinin ReplicaSet'in bu yapılandırmayı yüklemesi birkaç dakika sürebilir.

Veri düzlemi ölçümlerini görüntüleme

  1. PromQL kullanarak ölçümleri sorgulamak için Azure portalında Azure İzleyici çalışma alanınıza gidin.

  2. Biraz trafik oluşturun, ardından ölçümleri görüntülemek için kullanıma sunulan ölçümlerden sorgular seçin. Örneğin, waypoint tarafından işlenen toplam istek sayısını görüntülemek için aşağıdaki sorguyu çalıştırabilirsiniz:

    # ztunnel
    istio_xds_connection_terminations_total
    
    # waypoint
    istio_requests_total
    
    # istio-cni
    istio_cni_install_ready
    

    Aşağıdaki ekran görüntüsünde örnek sorguların sonuçları gösterilmektedir:

    Waypoint tarafından işlenen toplam istek sayısını görüntülemek için sorguların sonuçlarının ekran görüntüsü.

Kullanıma sunulan ölçümlerin listesi

Bileşen Kullanıma sunulan ölçümler
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
Yol noktası 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

Ölçümlere doğrudan waypoint proxy'lerinden erişme

Istio istek/yanıt ölçümlerinin yanı sıra, waypoint proxy'leri de Envoy ölçümlerini gösterir.

  • Waypoint tarafından yayılan ölçümlerin tam listesini bulmak için, ad alanınızdaki bir yol noktası proxy sunucusuna bağlantı noktası iletimi yapabilir ve aşağıdaki komutları kullanarak ölçümleri listeleyebilirsiniz.

    # 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
    

Azure portalında Grafana ile ölçümleri görselleştirme

  1. Istio topluluk panolarını içeri aktarın.

  2. Üye kümeniz için trafik oluşturun ve ardından Azure portalında Azure İzleyici çalışma alanınıza gidin.

  3. Grafana ile İzleme Panoları>'nı seçin.

    Aşağıdaki ekran görüntüleri , Istio Ztunnel Panosunu içeri aktarma örneklerini gösterir:

    Azure portalındaki Azure İzleyici çalışma alanında panoyu içeri aktarma seçeneğini gösteren ekran görüntüsü.

    Azure portalında Ztunnel panosunu içeri aktarmaya yönelik gözden geçirme seçeneklerini gösteren ekran görüntüsü.

    Azure portalında grafana panosundaki Ztunnel pano görselleştirmelerini gösteren ekran görüntüsü.

Grafana ile Panolar yerine Azure Yönetilen Grafana'yı yapılandırmak istiyorsanız bkz. Azure CLI kullanarak Azure Yönetilen Grafana çalışma alanı oluşturma.

Azure Kubernetes Uygulama Ağı gözlemlenebilirliği ve izlemesi hakkında daha fazla bilgi için aşağıdaki makalelere bakın: