Az Azure Kubernetes Application Network metrikáinak konfigurálása és megtekintése (előzetes verzió)

Fontos

Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióihoz részleges támogatást nyújt az ügyfélszolgálat a tőle telhető legjobb módon. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:

Az Azure Kubernetes Application Network átfogó metrikákat biztosít a számítási feladatokhoz és az Azure Kubernetes Application Network adatsík-összetevőihez (ZTunnel, Istio CNI és Waypoint) az Azure Monitor-metrikákon keresztül. Ez a cikk bemutatja, hogyan konfigurálhatja és tekintheti meg ezeket a metrikákat az Azure Monitorban.

Korlátozások

A vezérlősík metrikái jelenleg nem támogatottak. Az adatsík-metrikák azonban elérhetők, és ezek használatával monitorozhatja a számítási feladatok és az Azure Kubernetes Application Network összetevőinek állapotát és teljesítményét.

Adatforgalmi sík metrikái

Az adatsík metrikái közé tartoznak a számítási feladatokból/alkalmazásokból származó metrikák és a appnet-system névtér. Az Azure Kubernetes Application Network jelenleg csak adatsík-metrikákhoz nyújt támogatást.

Adatsík-metrikák konfigurálása

Munkaterület konfigurációs beállításai adatsík-metrikákhoz

Ha engedélyezi a Prometheus-metrikák gyűjtését az Azure Kubernetes hálózati tagfürtökhöz, a munkaterület konfigurációjához az alábbi lehetőségek állnak rendelkezésre:

  • Használjon meglévő Azure Monitor-munkaterületet.
  • Hagyja ki a munkaterület erőforrás-azonosítóját, és használja az erőforráscsoporthoz létrehozott alapértelmezett munkaterületet.
  • Hozzon létre egy új Azure Monitor-munkaterületet.

Adatsík metrikák gyűjtésének engedélyezése

  1. Engedélyezze a Prometheus-metrikák gyűjtését az Azure Kubernetes Alkalmazási Hálózat tagi fürtjén a az aks update paranccsal, amelynek paramétere a meglévő munkaterület-azonosítóra van beállítva. Ha az Azure Monitor Metrics már be van engedélyezve a klaszteren, léphet a következő lépésre.

    az aks update --enable-azure-monitor-metrics \
      --name $CLUSTER_NAME \
      --resource-group $AKS_RG \
      --azure-monitor-workspace-resource-id $WORKSPACE_ID
    
  2. Hozza létre és alkalmazza a következő ConfigMap-et a kube-system névtérben a kubectl apply paranccsal. Ez a ConfigMap lehetővé teszi a Ztunnel, az Istio CNI, a waypoint és az alkalmazásait/munkaterheléseit érintő adatgyűjtést.

    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. Adjon hozzá széljegyzeteket a kaparni kívánt alkalmazás podokhoz.

    • prometheus.io/scrape: "true" szükséges annak jelzéséhez, hogy a podot le kell kaparni.
    • prometheus.io/path opcionálisan a metrikák elérési útját jelzi. Ha nincs megadva, alapértelmezés szerint a /metrics használatos.
    • prometheus.io/port opcionálisan használható annak jelzésére, hogy melyik porton van hostolva a metrikák. Ha nincs megadva, a Prometheus a pod specifikációjából a tároló deklarált portját fogja használni. Deklarált portokkal nem rendelkező tárolók esetén a Prometheus létrehoz egy portmentes célértéket (csak IP-cím esetén), amelyhez megfelelő újracímkezési konfiguráció szükséges a portjegyzetek használatához. Javasoljuk, hogy a megbízható kaparás biztosítása érdekében explicit módon adja meg a portot.

    Az alábbi minta a metrikákat üzemeltető pod széljegyzeteit határozza meg a következő helyen: <pod IP>:15020/metrics

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

    A konfiguráció betöltése eltarthat néhány percig, amíg az AMA-metrikák ReplicaSetje betölti ezt a konfigurációt.

Adatsík metrikáinak megtekintése

  1. Lépjen az Azure Monitor-munkaterületre az Azure Portalon a metrikák PromQL használatával történő lekérdezéséhez.

  2. Hozzon létre némi forgalmat, majd válassza ki a lekérdezéseket a közzétett metrikákból a metrikák megtekintéséhez. Futtathatja például a következő lekérdezést a waypoint által kezelt kérelmek teljes számának megtekintéséhez:

    # ztunnel
    istio_xds_connection_terminations_total
    
    # waypoint
    istio_requests_total
    
    # istio-cni
    istio_cni_install_ready
    

    Az alábbi képernyőképen a minta lekérdezések eredményei láthatók:

    Képernyőkép a lekérdezések eredményeiről a waypoint által kezelt kérelmek teljes számának megtekintéséhez.

A közzétett metrikák listája

Komponens Közzétett metrikák
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
Útpont 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

Metrikák elérése közvetlenül a WayPoint-proxykból

Az Istio kérés- és válaszmetrikák mellett a waypoint proxyk is kibocsátanak Envoy metrikákat.

  • A waypoint által kibocsátott metrikák teljes listájának megkereséséhez továbbíthatja a névtérben lévő waypoint-proxyt, és az alábbi parancsokkal listázhatja a metrikákat:

    # 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
    

Metrikák vizualizációja a Grafana használatával az Azure Portalon

  1. Importálja az Istio közösségi irányítópultjait.

  2. Generáljon forgalmat a tagfürthöz, majd navigáljon az Azure Monitor munkaterületére az Azure Portalban.

  3. Válassza a figyelés>irányítópultokat a Grafanával.

    Az alábbi képernyőképeken példák láthatók az Istio Ztunnel-irányítópult importálására:

    Képernyőkép az Azure Monitor-munkaterület importálási irányítópultjáról az Azure Portalon.

    Képernyőkép a Ztunnel-irányítópult Azure Portalon való importálásának áttekintési lehetőségeiről.

    Képernyőkép a Ztunnel-irányítópult vizualizációiról egy Grafana-irányítópulton az Azure Portalon.

Ha irányítópultok helyett Azure Managed Grafana-t szeretne konfigurálni a Grafana használatával, olvassa el az Azure Managed Grafana-munkaterület létrehozása az Azure CLI használatával című témakört.

Az Azure Kubernetes Application Network megfigyelhetőségével és monitorozásával kapcsolatos további információkért tekintse meg az alábbi cikkeket: