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.
In diesem Handbuch wird erläutert, wie Sie Azure Managed Prometheus einrichten und verwenden, um Metriken von Istio-Dienst-Gitter-Add-On-Workloads auf Ihrem Azure Kubernetes-Cluster zu sammeln.
Voraussetzungen
Führen Sie die Schritte aus, um das Istio-Add-On im Cluster gemäß Dokumentation zu aktivieren.
Aktivieren des verwalteten Azure Monitor-Diensts für Prometheus
Azure Monitor verwalteter Dienst für Prometheus sammelt Daten aus Azure Kubernetes-Cluster. Um Azure Monitor verwalteten Dienst für Prometheus zu aktivieren, müssen Sie einen Azure Monitor Arbeitsbereich erstellen, um die Metriken zu speichern:
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)
Aktivieren des Prometheus-Add-Ons
Aktivieren Sie Prometheus-Add-On, um Prometheus-Metriken aus Ihrem Kubernetes-Cluster zu sammeln:
az aks update --enable-azure-monitor-metrics --name $CLUSTER --resource-group $RESOURCE_GROUP --azure-monitor-workspace-resource-id $AZURE_MONITOR_WORKSPACE_ID
Anpassen des Scrapings von Prometheus-Metriken im verwalteten Azure Monitor-Dienst
Erstellen Sie eine Scrape-Konfiguration in einer Datei mit dem Namen prometheus-config, ähnlich dem unten angegebenen Beispiel. Diese Konfiguration aktiviert das auf Pod-Annotationen basierende Scraping, wodurch Prometheus Metriken von Pods mit bestimmten Annotationen automatisch erkennen und erfassen kann.
Von Bedeutung
Die nachstehende Scrape-Konfiguration ist nur ein Beispiel. Wir empfehlen dringend , sie basierend auf Ihren Anforderungen anzupassen. Wenn sie nicht angepasst werden, kann dies zu unerwarteten Kosten aus der häufigen metrischen Sammlung und erhöhtem Datenspeicher führen.
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__
Um Pod-Annotation-basiertes Scraping zu aktivieren, erstellen Sie die ConfigMap ama-metrics-prometheus-config, die auf die Datei prometheus-config im Namespace kube-system verweist.
kubectl create configmap ama-metrics-prometheus-config --from-file=prometheus-config -n kube-system
Metrikerfassung überprüfen
Zugriffsberechtigungen konfigurieren: Navigieren Sie im Azure Portal zu Ihrem Azure Monitor Arbeitsbereich, und erstellen Sie eine Rollenzuweisung für sich selbst, um der Arbeitsbereichsressource die Rolle "Überwachung des Datenlesers" zu gewähren.
Beispiel-Traffic generieren: Senden Sie einige Anfragen an die zuvor erstellte Produktseite, z. B.:
curl -s "http://${GATEWAY_URL_EXTERNAL}/productpage" | grep -o "<title>.*</title>"Metriken im Azure-Portal anzeigen/abfragen: Navigieren Sie in Ihrem Azure Monitor-Arbeitsbereich zum Prometheus-Explorer und fragen Sie Metriken ab. Das folgende Beispiel zeigt Ergebnisse für die Abfrage
istio_requests_total.
Löschen von Ressourcen
Wenn Sie das Istio-Dienstmesh und die Eingänge bereinigen (und den Cluster zurücklassen) möchten, führen Sie den folgenden Befehl aus:
az aks mesh disable --resource-group ${RESOURCE_GROUP} --name ${CLUSTER}
Wenn Sie alle Ressourcen bereinigen möchten, die in den Istio-Anleitungsdokumenten erstellt wurden, führen Sie den folgenden Befehl aus:
az group delete --name ${RESOURCE_GROUP} --yes --no-wait