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-metrics
kazır. DaemonSet podları, ilgili düğümlerinde aşağıdaki hedeflerden ölçümleri kazır: kubelet
, cAdvisor
, node-exporter
ve ö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 Metrics
gidin 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:
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
OOMKilled
pod ö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ındadata
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>
- Yapılandırma haritanızın ad alanında doğru ada
- Ö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:
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/config
bir 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.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.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 gidin
Özel Kaynaklar
- Özel Kaynaklar eklediyseniz yapılandırma, hizmet bulma ve hedefler altında gösterildiklerinden emin olun.
Yapılandırma
Hizmet Bulma
Hedefler
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
- Ölçümleri yüksek ölçekte toplamak için dikkat edilmesi gereken noktaları denetleyin.