Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kontroler ingress-nginx w dodatkowym routerze aplikacji udostępnia wiele metryk dla żądań, procesu nginx i kontrolera, które mogą być pomocne w analizowaniu wydajności i użycia aplikacji.
Dodatek routingu aplikacji udostępnia punkt końcowy metryk Prometheus pod /metrics na porcie 10254 oraz prywatną usługę „Service” nginx-metrics.
Wymagania wstępne
- Klaster usługi Azure Kubernetes Service (AKS) z włączonym dodatkiem routingu aplikacji.
- Instancja Prometheus, taka jak zarządzana usługa Azure Monitor dla Prometheus.
Weryfikowanie punktu końcowego metryk
Aby sprawdzić, czy metryki są zbierane, możesz skonfigurować przekierowanie portu z portu lokalnego do portu 10254 do usługi nginx-metrics.
kubectl port-forward -n app-routing-system service/nginx-metrics :10254
Forwarding from 127.0.0.1:43307 -> 10254
Forwarding from [::1]:43307 -> 10254
Zanotuj port lokalny (43307 w tym przypadku) i otwórz http://localhost:43307/metrics go w przeglądarce. Powinny zostać wyświetlone metryki kontrolera ingress-nginx, które się ładują.
Teraz możesz zakończyć proces port-forward, aby zakończyć przekazywanie.
Konfigurowanie zarządzanej usługi Azure Monitor dla Prometheus
Zarządzana przez Azure Monitor usługa dla Prometheus to w pełni zarządzane rozwiązanie zgodne z Prometheus, które obsługuje standardowe funkcje branżowe, takie jak PromQL, pulpity nawigacyjne Grafana i alerty Prometheus. Ta usługa wymaga skonfigurowania dodatku metryk dla agenta usługi Azure Monitor, który wysyła dane do rozwiązania Prometheus. Jeśli klaster nie jest skonfigurowany przy użyciu dodatku, możesz wykonać czynności opisane w tym artykule, aby skonfigurować klaster usługi Azure Kubernetes Service (AKS) w celu wysyłania danych do usługi zarządzanej Azure Monitor dla rozwiązania Prometheus.
Włączanie zgarniania opartego na monitorze usług
Po zaktualizowaniu klastra agentem usługi Azure Monitor należy skonfigurować agenta, aby włączyć pozyskiwanie danych z punktu końcowego dla metryk. Aby to osiągnąć, możesz utworzyć zasobnik lub monitor usługi .
Poniżej przedstawiono sposób tworzenia monitor serwisu do pobierania metryk z kontrolera ingress-nginx wdrożonego przez dodatek routingu aplikacji.
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
Za kilka minut zasobniki ama-metrics w przestrzeni nazw kube-system powinny zostać zrestartowane i wczytać nową konfigurację.
Przeglądanie wizualizacji metryk w narzędziu Azure Managed Grafana
Teraz, gdy masz skonfigurowaną usługę zarządzaną Azure Monitor dla rozwiązań Prometheus i Azure Managed Grafana, powinieneś uzyskać dostęp do swojego wystąpienia Managed Grafana.
Istnieją dwa oficjalne pulpity nawigacyjne ruchu przychodzącego-nginx, które można pobrać i zaimportować do wystąpienia narzędzia Grafana:
- Konsola Ingress-nginx Controller
- Panel sterowania wydajnością obsługi żądań
Konsola Ingress-nginx Controller
Ten panel zapewnia wgląd w liczbę żądań, połączenia, współczynniki powodzenia, ponowne ładowania konfiguracji oraz konfiguracje niezsynchronizowane. Można go również użyć do wyświetlania obciążenia sieciowego IO, a także użycia pamięci i procesora CPU przez kontroler ruchu przychodzącego. Na koniec pokazuje również czasy odpowiedzi dla percentyli P50, P95 i P99 twoich wejść oraz ich przepustowość.
Ten pulpit nawigacyjny można pobrać z usługi GitHub.
Panel sterowania wydajnością obsługi żądań
Ten panel sterowania zapewnia wgląd w wydajność obsługi żądań na różnych miejscach docelowych ruchu przychodzącego, które są punktami końcowymi Twoich aplikacji, do których ruch jest przekazywany przez kontroler ruchu przychodzącego. Przedstawia percentyl P50, P95 i P99 dla całkowitego czasu żądania oraz czasu odpowiedzi systemu nadrzędnego. Można również wyświetlić agregacje błędów żądań i opóźnienia. Użyj tego pulpitu nawigacyjnego, aby przejrzeć i poprawić wydajność i skalowalność aplikacji.
Ten pulpit nawigacyjny można pobrać z usługi GitHub.
Importowanie pulpitu nawigacyjnego
Aby zaimportować pulpit nawigacyjny narzędzia Grafana, rozwiń menu po lewej stronie i kliknij pozycję Importuj w obszarze Pulpity nawigacyjne.
Następnie przekaż żądany plik pulpitu nawigacyjnego i kliknij pozycję Załaduj.
Następne kroki
- Można skonfigurować skalowanie obciążeń przy użyciu metryk ruchu przychodzącego zbieranych przez Prometheus za pomocą narzędzia Kubernetes Event Driven Autoscaler (KEDA). Dowiedz się więcej na temat integracji usługi KEDA z usługą AKS.
- Utwórz i uruchom test obciążeniowy za pomocą usługi Azure Load Testing , aby przetestować wydajność obciążenia i zoptymalizować skalowalność aplikacji.