Konfigurera och visa Azure Kubernetes Application Network-mått (förhandsversion)

Viktigt!

AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och frivillig registrering. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. AKS-förhandsversioner stöds delvis av kundsupport efter bästa förmåga. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:

Azure Kubernetes Application Network innehåller omfattande mått för dina arbetsbelastningar och Azure Kubernetes Application Network-dataplanskomponenter (ZTunnel, Istio CNI och Waypoint) via Azure Monitor-mått. Den här artikeln beskriver hur du konfigurerar och visar dessa mått i Azure Monitor.

Begränsningar

Kontrollplansmetrik stöds inte just nu. Dataplansmått är dock tillgängliga och du kan använda dem för att övervaka hälsotillståndet och prestandan för dina arbetsbelastningar och Azure Kubernetes Application Network-komponenter.

Dataplansmått

Dataplanmetrik inkluderar metrik från dina arbetsbelastningar/applikationer och appnet-system-namnområdet. Azure Kubernetes Application Network tillhandahåller för närvarande endast stöd för dataplansmått.

Konfigurera dataplan-mätvärden

Konfigurering av arbetsytealternativ för dataplanets mätvärden

När du aktiverar Prometheus-måttinsamling för Azure Kubernetes Application Network-medlemskluster har du följande alternativ för konfiguration av arbetsytor:

  • Använd en befintlig Azure Monitor-arbetsyta.
  • Utelämna arbetsytans resurs-ID och använd standardarbetsytan som skapats för resursgruppen.
  • Skapa en ny Azure Monitor-arbetsyta.

Aktivera insamling av dataplanemetriker

  1. Aktivera Prometheus-måttsamling i ditt Azure Kubernetes Application Network-medlemskluster med kommandot az aks update med parametern --azure-monitor-workspace-resource-id inställd på ditt befintliga arbetsyte-ID. Om Azure Monitor Metrics redan är aktiverat i ditt medlemskluster kan du gå vidare till nästa steg.

    az aks update --enable-azure-monitor-metrics \
      --name $CLUSTER_NAME \
      --resource-group $AKS_RG \
      --azure-monitor-workspace-resource-id $WORKSPACE_ID
    
  2. Skapa och tillämpa följande ConfigMap i kube-system namnområdet med kommandot kubectl apply . Den här ConfigMap möjliggör skrapning av Ztunnel, Istio CNI, waypoint och dina program/arbetsbelastningar.

    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. Lägg till anteckningar i de programpoddar som du vill skrapa.

    • prometheus.io/scrape: "true" krävs för att ange att podden ska skrapas.
    • prometheus.io/path används valfritt för att ange sökvägen där metriken finns. Om det utelämnas är standardvärdet /metrics.
    • prometheus.io/port kan användas för att ange porten där måtten finns. Om det utelämnas använder Prometheus containerns deklarerade portar från poddspecifikationen. För containrar utan deklarerade portar skapar Prometheus ett portfritt mål (endast IP), vilket kräver korrekt ommärkningskonfiguration för att fungera med portanteckningar. Vi rekommenderar att du uttryckligen anger porten för att säkerställa tillförlitlig skrapning.

    Följande exempel definierar kommentarer för en pod som är värd för mätvärden på <pod IP>:15020/metrics

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

    Det kan dröja några minuter innan AMA-metrrik-ReplicaSet läser in den här konfigurationen.

Visa mått för dataplan

  1. Gå till Azure Monitor-arbetsytan i Azure-portalen för att fråga efter måtten med PromQL.

  2. Generera en del trafik och välj sedan frågor från de exponerade måtten för att visa mått. Du kan till exempel köra följande fråga för att visa det totala antalet begäranden som hanteras av waypoint:

    # ztunnel
    istio_xds_connection_terminations_total
    
    # waypoint
    istio_requests_total
    
    # istio-cni
    istio_cni_install_ready
    

    Följande skärmbild visar resultat för exempelfrågorna:

    Skärmbild av resultatet av frågorna för att visa det totala antalet begäranden som hanteras av waypoint.

Lista över mått som exponeras

Komponent Metrik som tillgängliggörs
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

Få åtkomst till mått direkt från waypoint-proxyservrar

Förutom måtten för Istio-begäran/svar genererar waypoint-proxyservrar även Envoy-mått.

  • Om du vill hitta en fullständig lista över mått som genereras av waypoint kan du porta vidare till en waypoint-proxy i ditt namnområde och lista måtten med hjälp av följande kommandon:

    # 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
    

Visualisera mått med Grafana i Azure-portalen

  1. Importera Istio Community-instrumentpanelerna.

  2. Generera trafik för ditt medlemskluster och navigera sedan till din Azure Monitor-arbetsyta i Azure-portalen.

  3. Välj Övervakning>Instrumentpaneler med Grafana.

    Följande skärmbilder visar exempel på import av Istio Ztunnel-instrumentpanelen:

    Skärmbild som visar alternativet importera instrumentpanel i Azure Monitor-arbetsytan i Azure-portalen.

    Skärmbild som visar granskningsalternativen för att importera Ztunnel-instrumentpanelen i Azure-portalen.

    Skärmbild som visar visualiseringar av Ztunnel-instrumentpaneler i en Grafana-instrumentpanel i Azure-portalen.

Om du vill konfigurera Azure Managed Grafana i stället för instrumentpaneler med Grafana kan du läsa Skapa en Azure Managed Grafana-arbetsyta med Hjälp av Azure CLI.

Mer information om observerbarhet och övervakning av Azure Kubernetes-programnätverk finns i följande artiklar: