Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida illustra come configurare e usare Azure Prometheus gestito per raccogliere le metriche dai carichi di lavoro del componente aggiuntivo mesh di servizi Istio nel cluster Kubernetes Azure.
Prerequisiti
Completare i passaggi per abilitare il componente aggiuntivo Istio nel cluster in base alla documentazione
Abilitare il servizio gestito di Monitoraggio di Azure per Prometheus
Monitoraggio di Azure servizio gestito per Prometheus raccoglie i dati dal cluster Kubernetes Azure. Per abilitare Monitoraggio di Azure servizio gestito per Prometheus, è necessario creare un'area di lavoro Monitoraggio di Azure per archiviare le metriche:
export AZURE_MONITOR_WORKSPACE=<azure-monitor-workspace-name>
export AZURE_MONITOR_WORKSPACE_ID=$(az monitor account create \
--name $AZURE_MONITOR_WORKSPACE \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--query id -o tsv)
Abilitare il componente aggiuntivo Prometheus
Per raccogliere le metriche di Prometheus dal cluster Kubernetes, abilitare il componente aggiuntivo Prometheus:
az aks update --enable-azure-monitor-metrics --name $CLUSTER --resource-group $RESOURCE_GROUP --azure-monitor-workspace-resource-id $AZURE_MONITOR_WORKSPACE_ID
Personalizzare la raccolta delle metriche di Prometheus nel servizio gestito di Monitoraggio di Azure
Creare una configurazione di scrape in un file denominato prometheus-config, simile all'esempio fornito di seguito. Questa configurazione abilita lo scarto basato sulle annotazioni dei pod, che consente a Prometheus di individuare e rimuovere automaticamente le metriche dai pod con annotazioni specifiche.
Importante
La configurazione di scrape seguente è solo un esempio. È consigliabile personalizzarla in base alle proprie esigenze. Se non è stato modificato, potrebbe causare costi imprevisti dalla raccolta frequente delle metriche e dall'aumento dell'archiviazione dei dati.
global:
scrape_interval: 30s
scrape_configs:
- job_name: workload
scheme: http
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
Per abilitare lo scraping basato sulle annotazioni dei pod, crea la configmap ama-metrics-prometheus-config che fa riferimento al file prometheus-config nel namespace kube-system.
kubectl create configmap ama-metrics-prometheus-config --from-file=prometheus-config -n kube-system
Verificare la raccolta di metriche
Configurate le autorizzazioni di accesso: passate all'area di lavoro di Monitoraggio di Azure nel portale di Azure e create un'assegnazione di ruolo per voi stessi per concedervi il ruolo "Lettore dati di monitoraggio" sulla risorsa dell'area di lavoro.
Generare traffico di esempio: inviare alcune richieste alla pagina del prodotto creata in precedenza, ad esempio:
curl -s "http://${GATEWAY_URL_EXTERNAL}/productpage" | grep -o "<title>.*</title>"Visualizza/esegui query sulle metriche nel portale di Azure: vai a Prometheus Explorer nell'area di lavoro di Monitoraggio di Azure ed eseguire query sulle metriche. L'esempio seguente mostra i risultati per la query
istio_requests_total.
Eliminare risorse
Se si vuole pulire la mesh del servizio Istio e i dati in ingresso (lasciando il cluster), eseguire il comando seguente:
az aks mesh disable --resource-group ${RESOURCE_GROUP} --name ${CLUSTER}
Se si desidera pulire tutte le risorse create dai documenti di istruzioni di Istio, eseguire il comando seguente:
az group delete --name ${RESOURCE_GROUP} --yes --no-wait