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 bu 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 oluşturulan dosyaları eklerken destek olayınızın daha hızlı çözümlenmesi için bir destek isteği oluşturabilirsiniz.

Ölçüm Azaltma

Prometheus için Azure İzleyici Yönetilen hizmetinin alım için varsayılan sınırları ve kotaları vardır. Alma sınırlarına ulaştığınızda azaltma oluşabilir. Bu sınırlarda artış isteyebilirsiniz. Prometheus ölçüm sınırları hakkında bilgi için bkz . Azure İzleyici hizmet sınırları.

Azure portalında Azure İzleyici Çalışma Alanınıza gidin. adresine Metricsgidin ve ölçümleri Active Time Series % Utilization ve Events Per Minute Received % Utilizationöğesini seçin. Her ikisinin de %100'in altında olduğunu doğrulayın.

Alma ölçümlerinizde izleme ve uyarı alma hakkında daha fazla bilgi için bkz . Azure İzleyici çalışma alanı ölçümlerini alma işlemini izleme.

Ö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ığı node'un normal bir güncelleştirme işlemi kapsamında 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 beklenen bir davranıştır ve üzerinde çalıştığı node'un 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

Hizmet doğru çalıştığında, biçimdeki ama-metrics-xxxxxxxxxx-xxxxx podların aşağıdaki listesi döndürülür:

  • ama-metrics-operator-targets-*
  • ama-metrics-ksm-*
  • ama-metrics-node-* kümedeki her düğüm için pod.

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.

Yapılandırmaları yeniden etiketlemeyi denetleme

Ölçümler eksikse, yeniden etiketleme yapılandırmalarınız olup olmadığını da de kontrol edebilirsiniz. Yeniden etiketleme yapılandırmalarıyla, yeniden etiketlemenin hedefleri filtrelemediğinden ve yapılandırılan etiketlerin hedeflerle doğru şekilde eşleştiğinden emin olun. Daha fazla bilgi için Prometheus yeniden etiketleme yapılandırması belgelerine bakın.

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-config kube-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 hizmet bulma işlemini gösteren 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 true debug-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

Ölçüm 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 eksik 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

Ölçümlerin alımını azaltmayı önlemek için, alım sınırlarıyla ilgili bir uyarı izleyebilir ve ayarlayabilirsiniz. Bkz. Alım limitlerini izleme.

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.

Azure İlkesi değerlendirme nedeniyle Azure İzleyici Çalışma Alanı oluşturulamadı

Azure İzleyici Çalışma Alanı oluşturma işlemi "'resource-name-xyz' kaynağına ilke tarafından izin verilmedi" hatasıyla başarısız olursa, kaynağın oluşturulmasını engelleyen bir Azure ilkesi olabilir. Azure kaynaklarınız veya kaynak gruplarınız için adlandırma kuralı uygulayan bir ilke varsa, Azure İzleyici Çalışma Alanı oluşturmak için adlandırma kuralı için bir muafiyet oluşturmanız gerekir.

Azure İzleyici çalışma alanı oluşturduğunuzda, "azure-monitor-workspace-name" biçiminde bir veri toplama kuralı ve veri toplama uç noktası varsayılan olarak "MA_azure-monitor-workspace-name_location_managed" biçiminde bir kaynak grubunda otomatik olarak oluşturulur. Şu anda bu kaynakların adlarını değiştirmenin bir yolu yoktur ve yukarıdaki kaynakları ilke değerlendirmesinden muaf tutabilmek için Azure İlkesi bir muafiyet ayarlamanız gerekir. Bkz. Azure İlkesi muafiyet yapısı.

Sonraki adımlar