Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:
A Rede de Aplicativos kubernetes do Azure fornece métricas abrangentes para suas cargas de trabalho e os componentes do plano de dados da Rede de Aplicativos kubernetes do Azure (ZTunnel, Istio CNI e Waypoint) por meio das métricas do Azure Monitor. Este artigo explica como configurar e exibir essas métricas no Azure Monitor.
Limitações
No momento, não há suporte para métricas do plano de controle. No entanto, as métricas do plano de dados estão disponíveis e você pode usá-las para monitorar a integridade e o desempenho de suas cargas de trabalho e componentes da Rede de Aplicativos do Kubernetes do Azure.
Métricas do plano de dados
As métricas do plano de dados incluem métricas de suas cargas de trabalho/aplicativos e do appnet-system namespace. Atualmente, a Rede de Aplicativos kubernetes do Azure fornece suporte apenas para métricas do plano de dados.
Configurar métricas do plano de dados
Opções de configuração do espaço de trabalho para métricas do plano de dados
Ao habilitar a coleção de métricas do Prometheus para clusters de membros da Rede de Aplicativos do Kubernetes do Azure, você terá as seguintes opções para a configuração do workspace:
- Use um workspace existente do Azure Monitor.
- Omita o ID do recurso do espaço de trabalho e use o espaço de trabalho padrão criado para o grupo de recursos.
- Crie um novo espaço de trabalho do Azure Monitor.
Habilitar a coleta de métricas do plano de dados
- Usar um espaço de trabalho existente do Azure Monitor
- Usar a área de trabalho padrão
- Criar um novo workspace do Azure Monitor
Habilite a coleta de métricas do Prometheus no cluster membro da Rede de Aplicativos do Azure Kubernetes usando o comando
az aks updatecom o parâmetro--azure-monitor-workspace-resource-iddefinido como o ID do espaço de trabalho existente. Se as Métricas do Azure Monitor já estiverem habilitadas no cluster de membros, você poderá pular para a próxima etapa.az aks update --enable-azure-monitor-metrics \ --name $CLUSTER_NAME \ --resource-group $AKS_RG \ --azure-monitor-workspace-resource-id $WORKSPACE_IDCrie e aplique o seguinte ConfigMap no namespace
kube-systemusando o comandokubectl apply. Esse ConfigMap habilita a extração de dados de Ztunnel, CNI Istio, ponto de passagem e suas cargas de trabalho/aplicativo.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 EOFAdicione anotações aos pods dos aplicativos dos quais extrair dados.
-
prometheus.io/scrape: "true"é necessário para indicar que o pod deve ser extraído. -
prometheus.io/pathopcionalmente é usado para indicar o caminho em que as métricas estão hospedadas. Se omitido, o padrão será/metrics. -
prometheus.io/portopcionalmente é usado para indicar a porta em que as métricas estão hospedadas. Se for omitido, o Prometheus usará as portas declaradas do contêiner na especificação do pod. Para contêineres sem portas declaradas, o Prometheus cria um destino sem porta (apenas IP), que requer a configuração de nova rotulagem adequada para funcionar com anotações de porta. Recomenda-se especificar explicitamente a porta para garantir uma extração de dados confiável.
O exemplo a seguir define anotações para um pod que está hospedando métricas em
<pod IP>:15020/metricsprometheus.io/scrape: "true" prometheus.io/port: "15020" prometheus.io/path: "/metrics"Pode levar alguns minutos para que o ReplicaSet de métricas AMA carregue a configuração.
-
Exibir métricas do plano de dados
Navegue até o workspace do Azure Monitor no portal do Azure para consultar as métricas usando o PromQL.
Gere algum tráfego e selecione consultas nas métricas expostas para exibir métricas. Por exemplo, você pode executar a consulta a seguir para exibir o número total de solicitações manipuladas pelo ponto de passagem:
# ztunnel istio_xds_connection_terminations_total # waypoint istio_requests_total # istio-cni istio_cni_install_readyA captura de tela a seguir mostra os resultados das consultas de exemplo:
Lista de métricas expostas
| Componente | Métricas expostas |
|---|---|
| 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 |
Acessar as métricas diretamente de waypoint proxies
Além das métricas de solicitação/resposta do Istio, os proxies de ponto de passagem também emitem métricas do Envoy.
Para encontrar uma lista completa de métricas emitidas pelo waypoint, você pode realizar um port-forward para um waypoint proxy em seu namespace e listar as métricas usando os seguintes 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
Visualizar métricas com o Grafana no portal do Azure
Importe os painéis da comunidade Istio.
Gere tráfego para seu cluster de membros e navegue até o workspace do Azure Monitor no portal do Azure.
Selecione Monitoramento>Painéis com o Grafana.
As capturas de tela a seguir mostram exemplos de importação do Painel do Istio Ztunnel:
Se você quiser configurar o Espaço Gerenciado do Azure para Grafana em vez de Painéis com o Grafana, consulte Criar um Espaço Gerenciado do Azure para Grafana usando a CLI do Azure.
Conteúdo relacionado
Para obter mais informações sobre a observabilidade e o monitoramento da Rede de Aplicativos kubernetes do Azure, consulte os seguintes artigos: