Az alkalmazás-útválasztási bővítmény bejövő nginx vezérlőmetrikáinak monitorozása a Grafana Prometheus használatával (előzetes verzió)
Az alkalmazás-útválasztási bővítmény bejövő nginx vezérlője számos metrikát tesz elérhetővé a kérésekhez, az nginx folyamathoz és a vezérlőhöz, amelyek hasznosak lehetnek az alkalmazás teljesítményének és használatának elemzésében.
Az alkalmazás-útválasztási bővítmény elérhetővé teszi a Prometheus-metrikák végpontját /metrics
az 10254-ös porton.
Fontos
Az AKS előzetes verziójú funkciói önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az AKS előzetes verzióit részben az ügyfélszolgálat fedezi a legjobb munkamennyiség alapján. Ezért ezek a funkciók nem éles használatra vannak szánva. További információkért tekintse meg az alábbi támogatási cikkeket:
Előfeltételek
- Egy Azure Kubernetes Service-fürt (AKS) az alkalmazás-útválasztási bővítmény engedélyezésével.
- Prometheus-példány, például a Prometheushoz készült Azure Monitor felügyelt szolgáltatás.
- Egy Grafana-példány, például az Azure Managed Grafana.
A metrikák végpontjának érvényesítése
A metrikák gyűjtésének ellenőrzéséhez beállíthat egy portot az egyik bejövő nginx vezérlő podra.
kubectl get pods -n app-routing-system
NAME READY STATUS RESTARTS AGE
external-dns-667d54c44b-jmsxm 1/1 Running 0 4d6h
nginx-657bb8cdcf-qllmx 1/1 Running 0 4d6h
nginx-657bb8cdcf-wgcr7 1/1 Running 0 4d6h
Most továbbítsa a helyi portot az 10254-ös portra az egyik nginx podon.
kubectl port-forward nginx-657bb8cdcf-qllmx -n app-routing-system :10254
Forwarding from 127.0.0.1:43307 -> 10254
Forwarding from [::1]:43307 -> 10254
Jegyezze fel a helyi portot (43307
ebben az esetben), és nyissa meg http://localhost:43307/metrics a böngészőben. Látnia kell a bejövő nginx vezérlő metrikáinak betöltését.
Most már leállíthatja a folyamatot a port-forward
továbbítás bezárásához.
Az Azure Monitor által felügyelt szolgáltatás konfigurálása a Prometheushoz és az Azure Managed Grafana-hoz a Container Insights használatával
A Prometheushoz készült Azure Monitor felügyelt szolgáltatás egy teljes mértékben felügyelt Prometheus-kompatibilis szolgáltatás, amely támogatja az iparági szabványnak megfelelő funkciókat, például a PromQL-t, a Grafana-irányítópultokat és a Prometheus-riasztásokat. Ehhez a szolgáltatáshoz konfigurálnia kell az Azure Monitor-ügynök metrikák bővítményét, amely adatokat küld a Prometheusnak. Ha a fürt nincs konfigurálva a bővítményrel, ezt a cikket követve konfigurálhatja az Azure Kubernetes Service (AKS) fürtöt, hogy adatokat küldjön a Prometheushoz készült Azure Monitor felügyelt szolgáltatásnak, és küldje el az összegyűjtött metrikákat egy Azure Managed Grafana-példánynak.
Podjegyzetalapú kaparás engedélyezése
Miután frissítette a fürtöt az Azure Monitor-ügynökkel, konfigurálnia kell az ügynököt, hogy podjegyzetek alapján engedélyezze a kaparást, amelyeket hozzáad a bejövő nginx podokhoz. A beállítás beállításának egyik módja a ama-metrics-settings-configmap
névtér ConfigMap-térképe kube-system
.
Figyelemfelhívás
Ez lecseréli a meglévő ama-metrics-settings-configmap
ConfigMap-et a kube-system
. Ha már rendelkezik konfigurációval, érdemes lehet biztonsági másolatot készítenie vagy egyesítenie ezzel a konfigurációval.
Ha létezik, biztonsági másolatot készíthet egy meglévő ama-metrics-settings-config
ConfigMap-ról a kubectl get configmap ama-metrics-settings-configmap -n kube-system -o yaml > ama-metrics-settings-configmap-backup.yaml
Az alábbi konfiguráció úgy állítja be a podannotationnamespaceregex
paramétert, hogy .*
az összes névteret lekaparja.
kubectl apply -f - <<EOF
kind: ConfigMap
apiVersion: v1
metadata:
name: ama-metrics-settings-configmap
namespace: kube-system
data:
schema-version:
#string.used by agent to parse config. supported versions are {v1}. Configs with other schema versions will be rejected by the agent.
v1
config-version:
#string.used by customer to keep track of this config file's version in their source control/repository (max allowed 10 chars, other chars will be truncated)
ver1
prometheus-collector-settings: |-
cluster_alias = ""
default-scrape-settings-enabled: |-
kubelet = true
coredns = false
cadvisor = true
kubeproxy = false
apiserver = false
kubestate = true
nodeexporter = true
windowsexporter = false
windowskubeproxy = false
kappiebasic = true
prometheuscollectorhealth = false
# Regex for which namespaces to scrape through pod annotation based scraping.
# This is none by default. Use '.*' to scrape all namespaces of annotated pods.
pod-annotation-based-scraping: |-
podannotationnamespaceregex = ".*"
default-targets-metrics-keep-list: |-
kubelet = ""
coredns = ""
cadvisor = ""
kubeproxy = ""
apiserver = ""
kubestate = ""
nodeexporter = ""
windowsexporter = ""
windowskubeproxy = ""
podannotations = ""
kappiebasic = ""
minimalingestionprofile = true
default-targets-scrape-interval-settings: |-
kubelet = "30s"
coredns = "30s"
cadvisor = "30s"
kubeproxy = "30s"
apiserver = "30s"
kubestate = "30s"
nodeexporter = "30s"
windowsexporter = "30s"
windowskubeproxy = "30s"
kappiebasic = "30s"
prometheuscollectorhealth = "30s"
podannotations = "30s"
debug-mode: |-
enabled = false
EOF
Néhány perc múlva a ama-metrics
névtérben lévő kube-system
podok újraindulnak, és felveszik az új konfigurációt.
Metrikák vizualizációjának áttekintése az Azure Managed Grafana-ban
Most, hogy konfigurálta a Prometheushoz és az Azure Managed Grafana-hoz készült Azure Monitor felügyelt szolgáltatást, hozzá kell férnie a felügyelt Grafana-példányhoz.
Két hivatalos bejövő nginx-irányítópultot tölthet le és importálhat a Grafana-példányba:
- Bejövőforgalom-nginx vezérlő irányítópultja
- Kérelemkezelési teljesítmény irányítópultja
Bejövőforgalom-nginx vezérlő irányítópultja
Ez az irányítópult áttekintést nyújt a kérelmek mennyiségéről, a kapcsolatokról, a sikerességi arányokról, a konfiguráció újratöltéséről és a konfigurációk szinkronizáláson kívüli használatáról. Azt is használhatja, hogy megtekintse a hálózati IO-nyomást, a memóriát és a processzorhasználatot a bejövőforgalom-vezérlőben. Végül a P50, P95 és P99 percentilis válaszidőket és azok átviteli sebességét is megjeleníti.
Ezt az irányítópultot a GitHubról töltheti le.
Kérelemkezelési teljesítmény irányítópultja
Ez az irányítópult bemutatja a különböző bejövő bejövő forgalom célhelyeinek kéréskezelési teljesítményét, amelyek az alkalmazások végpontjai, amelyekre a bejövőforgalom-vezérlő továbbítja a forgalmat. A teljes kérelem és a felsőbb réteg válaszidejének P50, P95 és P99 percentilisét jeleníti meg. Megtekintheti a kéréshibák és késések összesítését is. Ezen az irányítópulton áttekintheti és javíthatja az alkalmazások teljesítményét és méretezhetőségét.
Ezt az irányítópultot a GitHubról töltheti le.
Irányítópult importálása
Grafana-irányítópult importálásához bontsa ki a bal oldali menüt, és kattintson az Importálás elemre az Irányítópultok területen.
Ezután töltse fel a kívánt irányítópultfájlt, és kattintson a Betöltés gombra.
Következő lépések
- A számítási feladatok skálázását a Prometheussal lekaparott bejövő metrikák használatával konfigurálhatja a Kubernetes eseményvezérelt automatikus skálázási (KEDA) használatával. További információ a KEDA és az AKS integrálásáról.
- Hozzon létre és futtasson egy terheléstesztet az Azure Load Testing használatával a számítási feladatok teljesítményének teszteléséhez és az alkalmazások méretezhetőségének optimalizálásához.
Azure Kubernetes Service