Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Das Azure Kubernetes-Anwendungsnetzwerk bietet umfassende Metriken für Ihre Workloads und die Azure Kubernetes Application Network-Datenebenenkomponenten (ZTunnel, Istio CNI und Waypoint) über Azure Monitor-Metriken. In diesem Artikel wird erläutert, wie Sie diese Metriken in Azure Monitor konfigurieren und anzeigen.
Einschränkungen
Steuerungsebenenmetriken werden derzeit nicht unterstützt. Datenebenenmetriken sind jedoch verfügbar, und Sie können sie verwenden, um die Integrität und Leistung Ihrer Workloads und Azure Kubernetes Application Network-Komponenten zu überwachen.
Datenebenenmetriken
Metriken der Datenebene umfassen Metriken aus Ihren Workloads/Anwendungen und dem appnet-system Namespace. Das Azure Kubernetes-Anwendungsnetzwerk bietet derzeit nur Unterstützung für Datenebenenmetriken.
Konfigurieren von Datenebenenmetriken
Arbeitsbereichskonfigurationsoptionen für Datenebenenmetriken
Wenn Sie die Prometheus-Metriksammlung für Azure Kubernetes Application Network-Membercluster aktivieren, haben Sie die folgenden Optionen für die Arbeitsbereichskonfiguration:
- Verwenden Sie einen vorhandenen Azure Monitor-Arbeitsbereich.
- Lassen Sie die Arbeitsbereichsressourcen-ID aus, und verwenden Sie den standardarbeitsbereich, der für Ihre Ressourcengruppe erstellt wurde.
- Erstellen Sie einen neuen Azure Monitor-Arbeitsbereich.
Aktivieren Sie die Sammlung von Datenebenenkennzahlen
- Verwenden eines vorhandenen Azure Monitor-Arbeitsbereichs
- Verwenden des Standardarbeitsbereichs
- Erstellen eines neuen Azure Monitor-Arbeitsbereichs
Aktivieren Sie die Prometheus-Metriken-Sammlung auf Ihrem Azure Kubernetes Application Network-Mitgliedscluster, indem Sie den
az aks update-Befehl verwenden und den--azure-monitor-workspace-resource-id-Parameter auf Ihre vorhandene Arbeitsbereichs-ID setzen. Wenn Azure Monitor-Metriken bereits in Ihrem Mitgliedscluster aktiviert sind, können Sie mit dem nächsten Schritt fortfahren.az aks update --enable-azure-monitor-metrics \ --name $CLUSTER_NAME \ --resource-group $AKS_RG \ --azure-monitor-workspace-resource-id $WORKSPACE_IDErstellen und anwenden Sie die folgende ConfigMap im
kube-systemNamespace mithilfe deskubectl applyBefehls. Diese ConfigMap ermöglicht das Scraping von Ztunnel, Istio CNI, Waypoint und Ihrer Anwendung/Workloads.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 EOFFügen Sie Anmerkungen zu den Anwendungspods hinzu, die Sie entfernen möchten.
-
prometheus.io/scrape: "true"ist erforderlich, um anzugeben, dass der Pod entfernt werden soll. -
prometheus.io/pathoptional verwendet wird, um den Pfad anzugeben, in dem Metriken gehostet werden. Wenn dieser Wert nicht angegeben wird, wird standardmäßig auf/metricsgesetzt. -
prometheus.io/portoptional verwendet wird, um den Port anzugeben, an dem Metriken gehostet werden. Ohne Angabe verwendet Prometheus die deklarierten Ports des Containers aus der Pod-Spezifikation. Für Container ohne deklarierte Ports erstellt Prometheus ein portfreies Ziel (nur IP), das eine ordnungsgemäße Neubezeichnungskonfiguration erfordert, um mit Portanmerkungen zu arbeiten. Es wird empfohlen, den Port explizit anzugeben, um ein zuverlässiges Scraping sicherzustellen.
Im folgenden Beispiel werden Anmerkungen für einen Pod definiert, der Metriken hostet:
<pod IP>:15020/metricsprometheus.io/scrape: "true" prometheus.io/port: "15020" prometheus.io/path: "/metrics"Es kann einige Minuten dauern, bis die AMA-Metrik ReplicaSet diese Konfiguration lädt.
-
Datenebenenmetriken anzeigen
Navigieren Sie zum Azure Monitor-Arbeitsbereich im Azure-Portal, um die Metriken mithilfe von PromQL abzufragen.
Generieren Sie datenverkehr, und wählen Sie dann Abfragen aus den verfügbar gemachten Metriken aus, um Metriken anzuzeigen. Sie können z. B. die folgende Abfrage ausführen, um die Gesamtanzahl der anforderungen anzuzeigen, die per Waypoint verarbeitet werden:
# ztunnel istio_xds_connection_terminations_total # waypoint istio_requests_total # istio-cni istio_cni_install_readyDer folgende Screenshot zeigt Ergebnisse für die Beispielabfragen:
Liste der verfügbar gemachten Metriken
| Bestandteil | Metriken offengelegt |
|---|---|
| ZTunnel | istio_buildistio_xds_connection_terminations_totalistio_xds_message_totalistio_xds_message_bytes_totalistio_tcp_connections_opened_totalistio_tcp_connections_closed_totalistio_tcp_received_bytes_totalistio_tcp_sent_bytes_totalistio_on_demand_dnsistio_dns_requests_totalistio_dns_upstream_requestsistio_dns_upstream_failuresistio_dns_upstream_request_duration_secondsworkload_manager_active_proxy_countworkload_manager_pending_proxy_countworkload_manager_proxies_started_totalworkload_manager_proxies_stopped_total |
| Istio CNI | istio_cni_install_readyistio_cni_installs_totalnodeagent_reconcile_events_totalztunnel_connected |
| Wegpunkt | istio_buildistio_request_bytes_bucketistio_request_bytes_countistio_request_bytes_sumistio_request_duration_milliseconds_bucketistio_request_duration_milliseconds_countistio_request_duration_milliseconds_sumistio_requests_totalistio_response_bytes_bucketistio_response_bytes_countistio_response_bytes_sum |
Zugreifen auf Metriken direkt von Waypoint-Proxys
Neben den Istio-Anforderungs-/Antwortmetriken geben Waypoint-Proxys auch Envoy-Metriken aus.
Um eine vollständige Liste der metriken zu finden, die von WayPoint ausgegeben werden, können Sie zu einem Waypoint-Proxy in Ihrem Namespace portieren und die Metriken mithilfe der folgenden Befehle auflisten:
# 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
Visualisieren von Metriken mit Grafana im Azure-Portal
Importieren Sie die Istio-Community-Dashboards.
Generieren Sie Datenverkehr für Ihren Mitgliedscluster, und navigieren Sie dann im Azure-Portal zu Ihrem Azure Monitor-Arbeitsbereich.
Wählen SieÜberwachungsdashboards> mit Grafana aus.
Die folgenden Screenshots zeigen Beispiele für den Import des Istio Ztunnel-Dashboards:
Wenn Sie Azure Managed Grafana anstelle von Dashboards mit Grafana konfigurieren möchten, lesen Sie " Erstellen eines Azure Managed Grafana"-Arbeitsbereichs mithilfe der Azure CLI.
Verwandte Inhalte
Weitere Informationen zu Azure Kubernetes Application Network Observability und Monitoring finden Sie in den folgenden Artikeln: