Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:
Azure Kubernetes Application Network proporciona métricas completas para las cargas de trabajo y los componentes del plano de datos de Azure Kubernetes Application Network (ZTunnel, Istio CNI y Waypoint) mediante métricas de Azure Monitor. En este artículo se explica cómo configurar y ver estas métricas en Azure Monitor.
Limitaciones
Actualmente no se admiten las métricas del plano de control. Sin embargo, las métricas del plano de datos están disponibles y puede usarlas para supervisar el estado y el rendimiento de las cargas de trabajo y los componentes de Azure Kubernetes Application Network.
Métricas del plano de datos
Las métricas del plano de datos incluyen métricas de las cargas de trabajo o las aplicaciones y del espacio de nombres appnet-system. Actualmente, Application Network de Azure Kubernetes solo proporciona compatibilidad con las métricas del plano de datos.
Configuración de métricas del plano de datos
Opciones de configuración del área de trabajo para las métricas del plano de datos
Al habilitar la recopilación de métricas de Prometheus para clústeres de miembros de Application Network de Azure Kubernetes, tiene las siguientes opciones para la configuración del área de trabajo:
- Use un área de trabajo de Azure Monitor existente.
- Omita el identificador de recurso del área de trabajo y use el área de trabajo predeterminada creada para el grupo de recursos.
- Cree un área de trabajo de Azure Monitor.
Habilitación de la recopilación de métricas del plano de datos
- Uso de un área de trabajo de Azure Monitor existente
- Uso del área de trabajo predeterminada
- Creación de un área de trabajo de Azure Monitor
Habilite la recopilación de métricas de Prometheus en el clúster miembro de Azure Kubernetes Application Network mediante el comando
az aks updatecon el parámetro--azure-monitor-workspace-resource-idestablecido en su identificador de área de trabajo existente. Si las métricas de Azure Monitor ya están habilitadas en el clúster de miembros, puede ir directamente al paso siguiente.az aks update --enable-azure-monitor-metrics \ --name $CLUSTER_NAME \ --resource-group $AKS_RG \ --azure-monitor-workspace-resource-id $WORKSPACE_IDCree y aplique el siguiente ConfigMap en el espacio de nombres
kube-systemusando el comandokubectl apply. Este objeto ConfigMap permite la recolección de datos de Ztunnel, Istio CNI, waypoint y tus aplicaciones o cargas de trabajo.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 EOFAgregue anotaciones a los pods de las aplicaciones que desee extraer.
-
prometheus.io/scrape: "true"es necesario para indicar que debe extraerse el pod. -
prometheus.io/pathopcionalmente se usa para indicar la ruta de acceso donde se hospedan las métricas. Si se omite, el valor predeterminado es/metrics. -
prometheus.io/portopcionalmente se usa para indicar el puerto donde se hospedan las métricas. Si se omite, Prometheus utilizará los puertos declarados del contenedor desde la especificación del pod. En el caso de contenedores sin puertos declarados, Prometheus creará un destino sin puertos (solo IP), que requiere una configuración de re-etiquetado adecuada para trabajar con las anotaciones de puerto. Se recomienda especificar explícitamente el puerto para garantizar la extracción confiable.
En el ejemplo siguiente se definen anotaciones para un pod que hospeda métricas en
<pod IP>:15020/metricsprometheus.io/scrape: "true" prometheus.io/port: "15020" prometheus.io/path: "/metrics"Es posible que el ReplicaSet de métricas AMA tarde unos minutos en cargar esta configuración.
-
Visualización de métricas del plano de datos
Vaya al área de trabajo de Azure Monitor en Azure Portal para consultar las métricas mediante PromQL.
Genere tráfico y, a continuación, seleccione consultas de las métricas expuestas para ver las métricas. Por ejemplo, puede ejecutar la consulta siguiente para ver el número total de solicitudes controladas por punto de referencia:
# ztunnel istio_xds_connection_terminations_total # waypoint istio_requests_total # istio-cni istio_cni_install_readyEn la captura de pantalla siguiente se muestran los resultados de las consultas de ejemplo:
Lista de métricas expuestas
| Componente | Métricas visibles |
|---|---|
| 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 |
| Punto de referencia | 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 |
Acceso a métricas directamente desde servidores proxy de punto de acceso
Además de las métricas de solicitud y respuesta de Istio, los servidores proxy de waypoint también emiten métricas de Envoy.
Para ver una lista completa de las métricas emitidas por el punto de referencia, puede utilizarse el reenvío de puertos hacia un proxy de puntos de referencia en el espacio de nombres y enumerar las métricas mediante los siguientes comandos:
# 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
Visualización de métricas con Grafana en Azure Portal
Importe los paneles de la comunidad de Istio.
Genere tráfico para el clúster de miembros y vaya al área de trabajo de Azure Monitor en Azure Portal.
Seleccione Paneles de supervisión>con Grafana.
En las capturas de pantalla siguientes se muestran ejemplos de importación del panel de Istio Ztunnel:
Si desea configurar Azure Managed Grafana en lugar de los dashboards con Grafana, consulte Crear un área de trabajo de Azure Managed Grafana mediante la CLI de Azure.
Contenido relacionado
Para más información sobre la observabilidad y supervisión de Application Network de Azure Kubernetes, consulte los siguientes artículos: