Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les versions d'essai sont fournies « en l’état » et « selon disponibilité », et elles sont exclues des contrats de niveau de service et de la garantie limitée. Les versions préliminaires AKS sont, dans la mesure du possible, partiellement couvertes par le service clientèle. Par conséquent, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :
Azure Kubernetes Application Network fournit des métriques complètes pour vos charges de travail et les composants du plan de données Azure Kubernetes Application Network (ZTunnel, Istio CNI et Waypoint) via les métriques Azure Monitor. Cet article explique comment configurer et afficher ces métriques dans Azure Monitor.
Limites
Les métriques du plan de contrôle ne sont actuellement pas prises en charge. Toutefois, les métriques de plan de données sont disponibles et vous pouvez les utiliser pour surveiller l’intégrité et les performances de vos charges de travail et des composants Azure Kubernetes Application Network.
Métriques du plan de données
Les métriques du plan de service de données incluent les métriques de vos charges de travail/applications et de l’espace de noms appnet-system. Azure Kubernetes Application Network fournit actuellement uniquement la prise en charge des métriques de plan de données.
Configurer les métriques du plan de données
Options de configuration de l’espace de travail pour les métriques du plan de données
Lorsque vous activez la collecte de métriques Prometheus pour les clusters membres Azure Kubernetes Application Network, vous disposez des options suivantes pour la configuration de l’espace de travail :
- Utilisez un espace de travail Azure Monitor existant.
- Omettez l’ID de ressource de l’espace de travail et utilisez l’espace de travail par défaut créé pour votre groupe de ressources.
- Créez un espace de travail Azure Monitor.
Activer la collecte des métriques de plan de données
- Utiliser un espace de travail Azure Monitor existant
- Utiliser l’espace de travail par défaut
- Créer un espace de travail Azure Monitor
Activez la collecte de métriques Prometheus sur votre cluster membre Azure Kubernetes Application Network en utilisant la commande
az aks updateavec le paramètre--azure-monitor-workspace-resource-iddéfini à l'ID de votre espace de travail existant. Si les métriques Azure Monitor sont déjà activées sur votre cluster membre, vous pouvez passer à l’étape suivante.az aks update --enable-azure-monitor-metrics \ --name $CLUSTER_NAME \ --resource-group $AKS_RG \ --azure-monitor-workspace-resource-id $WORKSPACE_IDCréez et appliquez le ConfigMap suivant nommé dans l’espace de noms
kube-systemà l’aide de la commandekubectl apply. Ce ConfigMap permet d'extraire des données de Ztunnel, d'Istio CNI, de waypoint et de votre application ou vos charges de travail.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 EOFAjoutez des annotations aux pods des applications que vous souhaitez collecter.
-
prometheus.io/scrape: "true"est nécessaire pour indiquer que le pod doit être inspecté. -
prometheus.io/pathest éventuellement utilisé pour indiquer le chemin d’accès où les métriques sont hébergées. S’il est omis, il est défini par défaut sur/metrics. -
prometheus.io/portest éventuellement utilisé pour indiquer le port où les métriques sont hébergées. S’il est omis, Prometheus utilise les ports déclarés du conteneur à partir de la spécification du pod. Pour les conteneurs sans ports déclarés, Prometheus crée une cible sans port (IP uniquement), qui nécessite une configuration appropriée de réétiquetage pour fonctionner avec les annotations de port. Il est recommandé de spécifier explicitement le port afin de garantir une collecte fiable.
L’exemple suivant définit des annotations pour un pod qui héberge des métriques à l’adresse
<pod IP>:15020/metricsprometheus.io/scrape: "true" prometheus.io/port: "15020" prometheus.io/path: "/metrics"Le replicaSet des métriques AMA peut prendre quelques minutes pour charger cette configuration.
-
Afficher les métriques du plan de données
Accédez à votre espace de travail Azure Monitor dans le portail Azure pour interroger les métriques à l’aide de PromQL.
Générez du trafic, puis sélectionnez des requêtes dans les métriques exposées pour afficher les métriques. Par exemple, vous pouvez exécuter la requête suivante pour afficher le nombre total de requêtes gérées par un point de route :
# ztunnel istio_xds_connection_terminations_total # waypoint istio_requests_total # istio-cni istio_cni_install_readyLa capture d’écran suivante montre les résultats des exemples de requêtes :
Liste des métriques exposées
| Composant | Métriques exposées |
|---|---|
| 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 |
| Waypoint | 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 |
Accéder directement aux métriques depuis les proxies waypoint
Outre les métriques de demande/réponse Istio, les proxys waypoint émettent également des métriques Envoy.
Pour trouver une liste complète des métriques émises par waypoint, vous pouvez transférer le port vers un proxy waypoint dans votre espace de noms et répertorier les métriques à l’aide des commandes suivantes :
# 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
Visualiser les métriques avec Grafana dans le portail Azure
Importez les tableaux de bord de la communauté Istio.
Générez le trafic pour votre cluster membre, puis accédez à votre espace de travail Azure Monitor dans le portail Azure.
Sélectionnez Tableaux de bord de surveillance>avec Grafana.
Les captures d’écran suivantes montrent des exemples d’importation du tableau de bord Istio Ztunnel :
Si vous souhaitez configurer Azure Managed Grafana au lieu de Tableaux de bord avec Grafana, consultez Créer un espace de travail Azure Managed Grafana à l’aide d’Azure CLI.
Contenu connexe
Pour plus d’informations sur l’observabilité et la surveillance du réseau d’applications Azure Kubernetes, consultez les articles suivants :