Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Ingress-nginx-kontrollanten i tillägget för programdirigering exponerar många mått för begäranden, nginx-processen och kontrollanten som kan vara till hjälp vid analys av programmets prestanda och användning.
Tillägget för programroutning exponerar Prometheus-metrikslutpunkten på /metrics via port 10254 samt en privat tjänst nginx-metrics.
Förutsättningar
- Ett AKS-kluster (Azure Kubernetes Service) med tillägget programroutning aktiverat.
- En Prometheus-instans, till exempel Azure Monitor-hanterad tjänst för Prometheus.
Validera måttslutpunkten
För att verifiera att måtten samlas in kan du konfigurera en port framåt från en lokal port till port 10254 på nginx-metrics tjänsten.
kubectl port-forward -n app-routing-system service/nginx-metrics :10254
Forwarding from 127.0.0.1:43307 -> 10254
Forwarding from [::1]:43307 -> 10254
Observera den lokala porten (43307 i det här fallet) och öppna http://localhost:43307/metrics i webbläsaren. Du bör se ingress-nginx-kontrollantmåtten läsas in.
Nu kan du avsluta port-forward processen för att stänga vidarebefordran.
Konfigurera azure monitor-hanterad tjänst för Prometheus
Azure Monitor-hanterad tjänst för Prometheus är en fullständigt hanterad Prometheus-kompatibel tjänst som stöder branschstandardfunktioner som PromQL, Grafana-instrumentpaneler och Prometheus-aviseringar. Den här tjänsten kräver att du konfigurerar måtttillägget för Azure Monitor-agenten, som skickar data till Prometheus. Om klustret inte har konfigurerats med tillägget kan du följa den här artikeln för att konfigurera ditt Azure Kubernetes Service-kluster (AKS) för att skicka data till azure monitor-hanterad tjänst för Prometheus.
Aktivera Service Monitor-baserad skrapning
När klustret har uppdaterats med Azure Monitor-agenten måste du konfigurera agenten för att möjliggöra insamling av metrikslutpunkten. Du kan skapa en Pod eller en tjänstövervakare för att åstadkomma detta.
Följande skapar ett Service Monitor-skrapmått från ingress-nginx-kontrollanten som distribueras av tillägget för programdirigering.
kubectl apply -f - <<EOF
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: nginx-monitor
namespace: app-routing-system
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
selector:
matchLabels:
app.kubernetes.io/component: ingress-controller
app.kubernetes.io/managed-by: aks-app-routing-operator
app.kubernetes.io/name: nginx
endpoints:
- port: prometheus
EOF
Om några minuter ama-metrics bör poddarna i kube-system namnområdet startas om och hämta den nya konfigurationen.
Granska visualisering av mått i Azure Managed Grafana
Nu när du har konfigurerat Azure Monitor-hanterad tjänst för Prometheus och Azure Managed Grafana bör du komma åt din Hanterade Grafana-instans.
Det finns två officiella instrumentpaneler för ingress-nginx som du kan ladda ned och importera till din Grafana-instans:
- Instrumentpanel för ingress-nginx-styrenhet
- Instrumentpanel för hantering av begäranden
Instrumentpanel för ingress-nginx-styrenhet
Den här instrumentpanelen ger dig insyn i begärandevolym, anslutningar, lyckade priser, konfigurationsåterladdningar och konfigurationer som inte är synkroniserade. Du kan också använda den för att visa nätverkets I/O-tryck, minne och cpu-användning av ingresskontrollanten. Slutligen visas även svarstiderna P50, P95 och P99-percentilen för dina ingresser och deras dataflöde.
Du kan ladda ned den här instrumentpanelen från GitHub.
Instrumentpanel för hantering av begäranden
Den här instrumentpanelen ger dig insyn i prestanda för hantering av begäranden för de olika överordnade målen, som är dina programslutpunkter som ingresskontrollanten vidarebefordrar trafik till. Den visar P50-, P95- och P99-percentilen för totalt antal begäranden och uppströms svarstider. Du kan också visa aggregeringar av begärandefel och svarstider. Använd den här instrumentpanelen för att granska och förbättra prestanda och skalbarhet för dina program.
Du kan ladda ned den här instrumentpanelen från GitHub.
Importera en instrumentpanel
Om du vill importera en Grafana-instrumentpanel expanderar du den vänstra menyn och klickar på Importera under Instrumentpaneler.
Ladda sedan upp önskad instrumentpanelsfil och klicka på Läs in.
Nästa steg
- Du kan konfigurera skalning av dina arbetsbelastningar med hjälp av ingressmått som skrapats med Prometheus med kubernetes händelsedriven autoskalning (KEDA). Läs mer om att integrera KEDA med AKS.
- Skapa och kör ett belastningstest med Azure Load Testing för att testa arbetsbelastningens prestanda och optimera skalbarheten för dina program.
Azure Kubernetes Service