Aracılığıyla paylaş


Grafana'da Prometheus ile uygulama yönlendirme eklentisinde giriş-nginx denetleyicisi ölçümlerini izleme (önizleme)

Uygulama yönlendirme eklentisindeki giriş-nginx denetleyicisi, istekler, nginx işlemi ve denetleyici için uygulamanızın performansını ve kullanımını analiz etme konusunda yardımcı olabilecek birçok ölçümü kullanıma sunar.

Uygulama yönlendirme eklentisi, 10254 numaralı bağlantı noktasında Prometheus ölçüm uç noktasını /metrics kullanıma sunar.

Önemli

AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:

Önkoşullar

  • Uygulama yönlendirme eklentisinin etkinleştirildiği bir Azure Kubernetes Service (AKS) kümesi.
  • Prometheus için Azure İzleyici yönetilen hizmeti gibi bir Prometheus örneği.
  • Azure Yönetilen Grafana gibi bir Grafana örneği.

Ölçüm uç noktasını doğrulama

Ölçümlerin toplandığını doğrulamak için ingress-nginx denetleyici podlarından birine doğru bir bağlantı noktası ayarlayabilirsiniz.

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

Şimdi yerel bağlantı noktasını nginx podlarından birinde 10254 numaralı bağlantı noktasına iletin.

kubectl port-forward nginx-657bb8cdcf-qllmx -n app-routing-system :10254
Forwarding from 127.0.0.1:43307 -> 10254
Forwarding from [::1]:43307 -> 10254

Yerel bağlantı noktasını (43307 bu durumda) not edin ve tarayıcınızda açın http://localhost:43307/metrics . inging-nginx denetleyicisi ölçümlerinin yükleniyor olduğunu görmeniz gerekir.

Tarayıcıda Prometheus ölçümlerinin ekran görüntüsü.

Artık iletmeyi port-forward kapatmak için işlemi sonlandırabilirsiniz.

Container Insights kullanarak Prometheus ve Azure Yönetilen Grafana için Azure İzleyici yönetilen hizmetini yapılandırma

Prometheus için Azure İzleyici yönetilen hizmeti, PromQL, Grafana panoları ve Prometheus uyarıları gibi endüstri standardı özellikleri destekleyen tam olarak yönetilen bir Prometheus uyumlu hizmettir. Bu hizmet, Verileri Prometheus'a gönderen Azure İzleyici aracısı için ölçüm eklentisinin yapılandırılmasını gerektirir. Kümeniz eklentiyle yapılandırılmadıysa, Azure Kubernetes Service (AKS) kümenizi Prometheus için Azure İzleyici yönetilen hizmetine veri gönderecek ve toplanan ölçümleri bir Azure Yönetilen Grafana örneğine gönderecek şekilde yapılandırmak için bu makaleyi izleyebilirsiniz.

Pod ek açıklama tabanlı kazıma özelliğini etkinleştirme

Kümeniz Azure İzleyici aracısı ile güncelleştirildikten sonra, aracıyı ingress-nginx podlarına eklenen Pod ek açıklamalarını temel alarak kazıma özelliğini etkinleştirecek şekilde yapılandırmanız gerekir. Bu ayarı ayarlamanın bir yolu, ad alanında ConfigMap'tir ama-metrics-settings-configmap kube-system .

Dikkat

Bu, içindeki mevcut ama-metrics-settings-configmap ConfigMap'inizin kube-systemyerini alır. Zaten bir yapılandırmanız varsa, bir yedekleme almak veya bu yapılandırmayla birleştirmek isteyebilirsiniz.

Mevcut ama-metrics-settings-config bir ConfigMap varsa komutunu çalıştırarak yedekleyebilirsiniz kubectl get configmap ama-metrics-settings-configmap -n kube-system -o yaml > ama-metrics-settings-configmap-backup.yaml

Aşağıdaki yapılandırma, parametresini podannotationnamespaceregex .* tüm ad alanlarını kazımak için olarak ayarlar.

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

Birkaç dakika içinde ad ama-metrics alanı içindeki kube-system podların yeniden başlatılması ve yeni yapılandırmayı alması gerekir.

Azure Yönetilen Grafana'da ölçümlerin görselleştirmesini gözden geçirme

Prometheus ve Azure Yönetilen Grafana için Azure İzleyici yönetilen hizmetini yapılandırdığınıza göre Yönetilen Grafana örneğine erişmeniz gerekir.

Grafana örneğinize indirip içeri aktarabileceğiniz iki resmi giriş-nginx panosu vardır:

  • Ingress-nginx denetleyici panosu
  • İstek işleme performans panosu

Ingress-nginx denetleyici panosu

Bu pano, istek hacmi, bağlantılar, başarı oranları, yapılandırma yeniden yüklemeleri ve yapılandırmaların eşitlenmemiş olduğunu gösterir. Giriş denetleyicisinin ağ GÇ baskısını, belleği ve CPU kullanımını görüntülemek için de kullanabilirsiniz. Son olarak, girişlerinizin P50, P95 ve P99 yüzde birlik yanıt sürelerini ve bunların aktarım hızını da gösterir.

Bu panoyu GitHub'dan indirebilirsiniz.

Grafana'daki ingress-nginx panosunu gösteren tarayıcının ekran görüntüsü.

İstek işleme performans panosu

Bu pano, uygulamalarınızın giriş denetleyicisinin trafiği ilettiği uç noktaları olan farklı giriş yukarı akış hedeflerinin istek işleme performansı hakkında görünürlük sağlar. Toplam isteğin ve yukarı akış yanıt sürelerinin P50, P95 ve P99 yüzdebirlik değerlerini gösterir. Ayrıca istek hatalarının ve gecikme süresinin toplamlarını da görüntüleyebilirsiniz. Uygulamalarınızın performansını ve ölçeklenebilirliğini gözden geçirmek ve geliştirmek için bu panoyu kullanın.

Bu panoyu GitHub'dan indirebilirsiniz.

Grafana'daki ingress-nginx istek işleme performans panosunu gösteren tarayıcının ekran görüntüsü.

Panoyu içeri aktarma

Grafana panosunu içeri aktarmak için sol menüyü genişletin ve Panolar'ın altında İçeri Aktar'a tıklayın.

panoyu içeri aktar seçeneğinin vurgulandığı Grafana örneğini gösteren tarayıcının ekran görüntüsü.

Ardından istediğiniz pano dosyasını karşıya yükleyin ve Yükle'ye tıklayın.

Grafana örneği içeri aktarma panosu iletişim kutusunu gösteren tarayıcının ekran görüntüsü.

Sonraki adımlar