Konfigurace a zobrazení metrik aplikační sítě Azure Kubernetes (Preview)

Důležité

Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "jak jsou" a "podle aktuální dostupnosti" a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

Azure Kubernetes Application Network poskytuje komplexní metriky pro vaše úlohy a komponenty roviny dat aplikační sítě Azure Kubernetes (ZTunnel, Istio CNI a Waypoint) prostřednictvím metrik služby Azure Monitor. Tento článek vysvětluje, jak nakonfigurovat a zobrazit tyto metriky ve službě Azure Monitor.

Omezení

Metriky řídicí roviny se v současné době nepodporují. Jsou ale k dispozici metriky roviny dat a můžete je použít k monitorování stavu a výkonu úloh a komponent aplikační sítě Azure Kubernetes.

Metriky roviny dat

Metriky roviny dat zahrnují metriky z vašich úloh nebo aplikací a appnet-system oboru názvů. Azure Kubernetes Application Network v současné době poskytuje podporu pouze pro metriky roviny dat.

Konfigurace metrik roviny dat

Možnosti konfigurace pracovního prostoru pro metriky roviny dat

Když pro členské clustery aplikační sítě Azure Kubernetes povolíte shromažďování metrik Prometheus, máte pro konfiguraci pracovního prostoru následující možnosti:

  • Použijte existující pracovní prostor služby Azure Monitor.
  • Vynechejte ID prostředku pracovního prostoru a použijte výchozí pracovní prostor, který byl vytvořen pro vaši skupinu prostředků.
  • Vytvořte nový pracovní prostor služby Azure Monitor.

Povolení shromažďování metrik roviny dat

  1. Povolte shromažďování metrik Prometheus v clusteru členů aplikační sítě Azure Kubernetes pomocí az aks update příkazu s parametrem --azure-monitor-workspace-resource-id nastaveným na vaše stávající ID pracovního prostoru. Pokud je metrika Služby Azure Monitor už ve vašem členském clusteru povolená, můžete přejít k dalšímu kroku.

    az aks update --enable-azure-monitor-metrics \
      --name $CLUSTER_NAME \
      --resource-group $AKS_RG \
      --azure-monitor-workspace-resource-id $WORKSPACE_ID
    
  2. V kube-system namespace vytvořte a použijte následující objekt ConfigMap pomocí příkazu kubectl apply. Tento ConfigMap umožňuje sběr dat ze Ztunnelu, Istio CNI, waypointu a vašich aplikací a úloh.

    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. Do podů aplikací, které chcete sešrotovat, přidejte poznámky.

    • prometheus.io/scrape: "true" je nutné indikovat, že pod by měl být škrábaný.
    • prometheus.io/path se volitelně používá k označení cesty, kde jsou metriky hostované. Pokud tento parametr vynecháte, výchozí hodnota je /metrics.
    • prometheus.io/port volitelně se používá k označení portu, kde jsou hostované metriky. Pokud tento parametr vynecháte, nástroj Prometheus použije deklarované porty kontejneru ze specifikace podu. Pro kontejnery bez deklarovaných portů vytvoří Prometheus cíl bez portu (jenom IP adresa), který vyžaduje správnou konfiguraci opětovného označení pro práci s poznámkami portů. Doporučujeme explicitně zadat port pro zajištění spolehlivého scrapování.

    Následující ukázka definuje poznámky pro pod, který hostuje metriky na <pod IP>:15020/metrics

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

    Načtení této konfigurace pomocí skupiny AMA metrics ReplicaSet může trvat několik minut.

Zobrazení metrik roviny dat

  1. Na webu Azure Portal přejděte do pracovního prostoru služby Azure Monitor a dotazujte se na metriky pomocí nástroje PromQL.

  2. Vygenerujte nějaký provoz a pak výběrem dotazů z vystavených metrik zobrazte metriky. Spuštěním následujícího dotazu můžete například zobrazit celkový počet žádostí zpracovaných waypointem:

    # ztunnel
    istio_xds_connection_terminations_total
    
    # waypoint
    istio_requests_total
    
    # istio-cni
    istio_cni_install_ready
    

    Následující snímek obrazovky ukazuje výsledky ukázkových dotazů:

    Snímek obrazovky s výsledky dotazů pro zobrazení celkového počtu žádostí zpracovaných na základě bodu cesty

Seznam vystavených metrik

Součást Vystavené metriky
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

Přístup k metrikám přímo z proxy waypointu

Kromě metrik požadavků a odpovědí Istio emitují waypoint proxy také metriky Envoy.

  • Pokud chcete najít úplný seznam metrik vygenerovaných waypointem, můžete portovat na proxy směrového bodu ve vašem oboru názvů a zobrazit seznam metrik pomocí následujících příkazů:

    # 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
    

Vizualizace metrik pomocí Grafany na webu Azure Portal

  1. Importujte řídicí panely komunity Istio.

  2. Vygenerujte provoz pro váš členský cluster a pak přejděte do pracovního prostoru služby Azure Monitor na webu Azure Portal.

  3. Vyberte Monitorovací panely>s Grafanou.

    Následující snímky obrazovky ukazují příklady importu řídicího panelu Istio Ztunnel:

    Snímek obrazovky znázorňující možnost importu řídicího panelu v pracovním prostoru Služby Azure Monitor na webu Azure Portal

    Snímek obrazovky znázorňující možnosti kontroly pro import řídicího panelu Ztunnel na webu Azure Portal

    Snímek obrazovky znázorňující vizualizace řídicího panelu Ztunnel na řídicím panelu Grafana na webu Azure Portal

Pokud chcete nakonfigurovat Azure Managed Grafana místo řídicích panelů pomocí Grafany, přečtěte si téma Vytvoření pracovního prostoru Azure Managed Grafana pomocí Azure CLI.

Další informace o pozorovatelnosti a monitorování aplikační sítě Azure Kubernetes najdete v následujících článcích: