Share via


Azure İzleyici'de Prometheus ölçümlerini toplama sorunlarını giderme

Azure İzleyici'de Prometheus ölçümlerinin beklendiği gibi toplanmamasının nedenini belirlemek için bu makaledeki adımları izleyin.

Çoğaltma podu, yapılandırma haritasındaki ama-metrics-prometheus-config özel kazıma hedeflerinden ve Özel Kaynaklarda tanımlanan özel kazıma hedeflerinden ölçümleri kube-state-metricskazır. DaemonSet podları, ilgili düğümlerinde aşağıdaki hedeflerden ölçümleri kazır: kubelet, cAdvisor, node-exporterve özel kazıma hedefleri yapılandırma haritasında ama-metrics-prometheus-config-node . Günlükleri görüntülemek istediğiniz pod ve bunun için Prometheus kullanıcı arabirimi, araştırdığınız kazıma hedefine bağlıdır.

PowerShell betiğini kullanma sorunlarını giderme

AKS kümeniz için izlemeyi etkinleştirmeye çalışırken bir hatayla karşılaşırsanız sorun giderme betiğini çalıştırmak için lütfen burada belirtilen yönergeleri izleyin. Bu betik, kümenizdeki tüm yapılandırma sorunları için temel bir tanılama yapmak üzere tasarlanmıştır ve destek olayınız için daha hızlı çözüm için bir destek isteği oluştururken oluşturulan dosyaları ekleyebilirsiniz.

Ölçüm Azaltma

Azure portalında Azure İzleyici Çalışma Alanınıza gidin. Metrics adresine gidin ve ölçümlerin Active Time Series % UtilizationEvents Per Minute Ingested % Utilization %100'in altında olduğunu doğrulayın.

Azaltma ölçümlerine nasıl gidiliyor gösteren ekran görüntüsü.

Bunlardan herhangi biri %100'den fazlaysa, bu çalışma alanına alım kısıtlanır. Aynı çalışma alanında adresine giderek New Support Request sınırları artırmak için bir istek oluşturun. Sorun türünü olarak Service and subscription limits (quotas) ve kota türünü olarak Managed Prometheusseçin.

Ölçüm verisi toplamada aralıklı boşluklar

Düğüm güncelleştirmeleri sırasında, küme düzeyi toplayıcımızdan toplanan ölçümler için ölçüm verilerinde 1 ila 2 dakikalık bir boşluk görebilirsiniz. Bu boşluğun nedeni, üzerinde çalıştığı düğümün normal bir güncelleştirme işleminin parçası olarak güncelleştiriliyor olmasıdır. Belirtilen kube-state-metrics ve özel uygulama hedefleri gibi küme genelindeki hedefleri etkiler. Kümeniz el ile veya otomatik güncelleştirme yoluyla güncelleştirildiğinde oluşur. Bu davranış beklenir ve üzerinde çalıştırıldığı düğümün güncelleştirilmesi nedeniyle oluşur. Önerilen uyarı kurallarımızın hiçbiri bu davranıştan etkilenmez.

Pod durumu

Pod durumunu aşağıdaki komutla denetleyin:

kubectl get pods -n kube-system | grep ama-metrics
  • Kümedeki her düğüm için bir ama-metrics-xxxxxxxxxx-xxxxx çoğaltma podu, ama-metrics-operator-targets-*bir , bir ama-metrics-ksm-* pod ve bir ama-metrics-node-* pod olmalıdır.
  • Her pod durumu, uygulanmış olan yapılandırma haritası değişikliklerinin sayısına eşit sayıda yeniden başlatmaya sahip olmalıdır Running . ama-metrics-operator-targets-* podunun başında ek bir yeniden başlatma olabilir ve bu beklenen bir durumdur:

Pod durumunu gösteren ekran görüntüsü.

Her pod durumu Running bir veya daha fazla pod yeniden başlatma işlemine sahipse aşağıdaki komutu çalıştırın:

kubectl describe pod <ama-metrics pod name> -n kube-system
  • Bu komut, yeniden başlatmaların nedenini sağlar. Yapılandırma haritası değişiklikleri yapıldıysa pod yeniden başlatmaları beklenir. Yeniden başlatmanın nedeni ise OOMKilledpod ölçümlerin hacmine ayak uyduramaz. Ölçüm hacmi için ölçeklendirme önerilerine bakın.

Podlar beklendiği gibi çalışıyorsa, denetlenecek bir sonraki yer kapsayıcı günlükleridir.

Kapsayıcı günlükleri

Kapsayıcı günlüklerini aşağıdaki komutla görüntüleyin:

kubectl logs <ama-metrics pod name> -n kube-system -c prometheus-collector

Başlangıçta, tüm ilk hatalar kırmızı, uyarılar ise sarı renkte yazdırılır. (Renkli günlükleri görüntülemek için en az PowerShell sürüm 7 veya linux dağıtımı gerekir.)

  • Kimlik doğrulama belirtecini almayla ilgili bir sorun olup olmadığını doğrulayın:
    • AKS kaynağı için yapılandırma yok iletisi her 5 dakikada bir günlüğe kaydedilir.
    • Pod her 15 dakikada bir yeniden başlatılır ve şu hatayla yeniden denenir: AKS kaynağı için yapılandırma yok.
      • Öyleyse, Kaynak grubunuzda Veri Toplama Kuralı ve Veri Toplama Uç Noktası'nın mevcut olup olmadığını denetleyin.
      • Ayrıca Azure İzleyici Çalışma Alanı'nın var olduğunu doğrulayın.
      • Özel aks kümeniz olmadığını ve başka bir hizmet için Azure İzleyici Özel Bağlantı Kapsamına bağlı olmadığını doğrulayın. Bu senaryo şu anda desteklenmiyor.

Yapılandırma İşleme

Kapsayıcı günlüklerini aşağıdaki komutla görüntüleyin:

kubectl logs <ama-metrics-operator-targets pod name> -n kube-system -c config-reader
  • Prometheus yapılandırmasını ayrıştırma, varsayılan kazıma hedefleriyle birleştirme ve tam yapılandırmayı doğrulama ile ilgili hata olmadığını doğrulayın.
  • Özel bir Prometheus yapılandırması eklediyseniz, bunun günlüklerde tanındığını doğrulayın. Değilse:
    • Yapılandırma haritanızın ad alanında doğru ada ama-metrics-prometheus-configkube-system sahip olduğunu doğrulayın.
    • Yapılandırma haritasında Prometheus yapılandırmanızın aşağıda gösterildiği gibi altında adlı prometheus-config bir bölümün altında data olduğunu doğrulayın:
      kind: ConfigMap
      apiVersion: v1
      metadata:
        name: ama-metrics-prometheus-config
        namespace: kube-system
      data:
        prometheus-config: |-
          scrape_configs:
          - job_name: <your scrape job here>
      
  • Özel Kaynaklar oluşturduysanız pod/hizmet izleyicileri oluşturulurken doğrulama hataları görmüş olmanız gerekir. Hedeflerden ölçümleri yine de görmüyorsanız günlüklerde hata gösterilmediğinden emin olun.
kubectl logs <ama-metrics-operator-targets pod name> -n kube-system -c targetallocator
  • Azure İzleyici çalışma alanında kimlik doğrulamasıyla ilgili hata MetricsExtension olmadığını doğrulayın.
  • hedeflerini kazıma hakkında hata OpenTelemetry collector olmadığını doğrulayın.

Şu komutu çalıştırın:

kubectl logs <ama-metrics pod name> -n kube-system -c addon-token-adapter
  • Bu komut, Azure İzleyici çalışma alanında kimlik doğrulamasıyla ilgili bir sorun varsa bir hata gösterir. Aşağıdaki örnekte sorun olmayan günlükler gösterilmektedir: Eklenti belirteci günlüğünü gösteren ekran görüntüsü.

Günlüklerde hata yoksa Prometheus arabirimi, beklenen yapılandırmayı ve kazınan hedefleri doğrulamak üzere hata ayıklama için kullanılabilir.

Prometheus arabirimi

Her ama-metrics-* pod, 9090 numaralı bağlantı noktasında Prometheus Aracı modu Kullanıcı Arabirimine sahiptir. Özel yapılandırma ve Özel Kaynaklar hedefleri pod tarafından ama-metrics-* , düğüm hedefleri ise pod tarafından kazınıyor ama-metrics-node-* . Özel yapılandırmaların doğru olduğunu, her iş için hedeflenen hedeflerin bulunduğunu ve belirli hedeflerin kazındığını doğrulamak için burada açıklandığı gibi yapılandırma, hizmet bulma ve hedef uç noktalarını denetlemek için çoğaltma poduna veya daemon kümesi podlarından birine bağlantı noktası iletme.

kubectl port-forward <ama-metrics pod> -n kube-system 9090 komutunu çalıştırın.

  • adresine 127.0.0.1:9090/configbir tarayıcı açın. Bu kullanıcı arabirimi tam kazıma yapılandırmasına sahiptir. Tüm işlerin yapılandırmaya dahil olduğunu doğrulayın. Yapılandırma işlerini gösteren ekran görüntüsü.

  • 127.0.0.1:9090/service-discovery Belirtilen hizmet bulma nesnesi tarafından bulunan hedefleri ve relabel_configs hedefleri ne olacak şekilde filtrelemiş olduğunu görüntülemek için adresine gidin. Örneğin, belirli bir poddaki ölçümler eksik olduğunda, söz konusu pod bulunup bulunmadığını ve URI'sini bulabilirsiniz. Daha sonra, kazıma hataları olup olmadığını görmek için hedeflere bakarken bu URI'yi kullanabilirsiniz. Hizmet bulmayı gösteren ekran görüntüsü.

  • 127.0.0.1:9090/targets Tüm işleri, bu işin uç noktasının en son ne zaman kazındığını ve hataları görüntülemek için adresine gidinHedefleri gösteren ekran görüntüsü.

Özel Kaynaklar

  • Özel Kaynaklar eklediyseniz yapılandırma, hizmet bulma ve hedefler altında gösterildiklerinden emin olun.

Yapılandırma

Pod izleyicisi için yapılandırma işlerini gösteren ekran görüntüsü.

Hizmet Bulma

Pod izleyicisi için sd'nin gösterildiği ekran görüntüsü.

Hedefler

Pod izleyicisi hedeflerini gösteren ekran görüntüsü.

Herhangi bir sorun yoksa ve hedeflenen hedefler kazınıyorsa, hata ayıklama modunu etkinleştirerek tam olarak kazınan ölçümleri görüntüleyebilirsiniz.

Hata ayıklama modu

Uyarı

Bu mod performansı etkileyebilir ve hata ayıklama amacıyla yalnızca kısa bir süre için etkinleştirilmelidir.

Ölçüm eklentisi, buradaki yönergeleri izleyerek altındaki truedebug-mode configmap ayarını enabled olarak değiştirerek hata ayıklama modunda çalışacak şekilde yapılandırılabilir.

Etkinleştirildiğinde, kazınmış olan tüm Prometheus ölçümleri 9091 numaralı bağlantı noktasında barındırılır. Şu komutu çalıştırın:

kubectl port-forward <ama-metrics pod name> -n kube-system 9091

127.0.0.1:9091/metrics Ölçümlerin OpenTelemetry Collector tarafından kazınmış olup olmadığını görmek için tarayıcıda adresine gidin. Bu kullanıcı arabirimine her ama-metrics-* pod için erişilebilir. Ölçümler yoksa, ölçüm veya etiket adı uzunlukları ya da etiket sayısıyla ilgili bir sorun olabilir. Ayrıca, bu makalede belirtildiği gibi Prometheus ölçümleri için alım kotasını aşmayı denetleyin.

Ölçüm adları, etiket adları ve etiket değerleri

Aracı tabanlı kazıma şu anda aşağıdaki tabloda sınırlamalara sahiptir:

Özellik Sınır
Etiket adı uzunluğu 511 karakterden küçük veya buna eşit. Bir işteki herhangi bir zaman serisi için bu sınır aşıldığında, kazıma işinin tamamı başarısız olur ve ölçümler alımdan önce bu işten bırakılır. Bu iş için up=0 değerini görebilir ve hedef Ux, up=0'ın nedenini gösterir.
Etiket değeri uzunluğu 1023 karakterden küçük veya buna eşit. Bir işteki herhangi bir zaman serisi için bu sınır aşıldığında, kazıma işleminin tamamı başarısız olur ve ölçümler alımdan önce bu işten bırakılır. Bu iş için up=0 değerini görebilir ve hedef Ux, up=0'ın nedenini gösterir.
Zaman serisi başına etiket sayısı 63'ten küçük veya buna eşit. Bir işteki herhangi bir zaman serisi için bu sınır aşıldığında, kazıma işinin tamamı başarısız olur ve ölçümler alımdan önce bu işten bırakılır. Bu iş için up=0 değerini görebilir ve hedef Ux, up=0'ın nedenini gösterir.
Ölçüm adı uzunluğu 511 karakterden küçük veya buna eşit. Bir işteki herhangi bir zaman serisi için bu sınır aşıldığında, yalnızca belirli bir seri bırakılır. MetricextensionConsoleDebugLog, bırakılan ölçüme yönelik izlere sahiptir.
Farklı büyük/küçük harfe sahip etiket adları Aynı ölçüm örneğindeki farklı büyük/küçük harfe sahip iki etiket, yinelenen etiketlere sahip olarak kabul edilir ve alındıklarında bırakılır. Örneğin, yinelenen etiketler ExampleLabel nedeniyle zaman serisi my_metric{ExampleLabel="label_value_0", examplelabel="label_value_1} bırakılır ve examplelabel aynı etiket adı olarak görülür.

Azure İzleyici çalışma alanında alma kotası denetleme

Ölçümlerin yanıtsız olduğunu görürseniz, önce Azure İzleyici çalışma alanınız için alım sınırlarının aşılıp aşılmadığını kontrol edebilirsiniz. Azure portalında, herhangi bir Azure İzleyici Çalışma Alanı için geçerli kullanımı de kontrol edebilirsiniz. Azure İzleyici çalışma alanı menüsünün altında Metrics geçerli kullanım ölçümlerini görebilirsiniz. Aşağıdaki kullanım ölçümleri her Azure İzleyici çalışma alanı için standart ölçümler olarak kullanılabilir.

  • Etkin Zaman Serisi - Son 12 saat içinde çalışma alanına alınan benzersiz zaman serisinin sayısı
  • Etkin Zaman Serisi Sınırı - Çalışma alanına etkin olarak alınabilecek benzersiz zaman serisi sayısı sınırı
  • Etkin Zaman Serisi Kullanım Yüzdesi - Kullanılan geçerli etkin zaman serisi yüzdesi
  • Alınan Dakika Başına Olay Sayısı - Yakın zamanda alınan dakika başına olay (örnek) sayısı
  • Dakika Başına Alınan Olay Sayısı Sınırı - Azaltılmadan önce dakika başına alınabilecek en fazla olay sayısı
  • Dakika Başına Alınan Olay Sayısı Kullanım Yüzdesi - Geçerli ölçüm alma oranı sınırının yardımcı program olma yüzdesi

Varsayılan kotalar için hizmet kotaları ve sınırlarına ve ayrıca kullanımınıza göre nelerin artırılabileceğini anlamak için bkz. Azure İzleyici çalışma alanı menüsünü kullanarak Support Request Azure İzleyici çalışma alanları için kota artışı isteyebilirsiniz. Destek isteğine Azure İzleyici çalışma alanının kimliğini, iç kimliğini ve Konumunu/Bölgesini eklediğinizden emin olun. Bunu Azure portalındaki Azure İzleyici çalışma alanının 'Özellikler' menüsünde bulabilirsiniz.

Sonraki adımlar