Aracılığıyla paylaş


Azure İzleyici'de Prometheus ölçümlerini uygun ölçekte kazıma

Bu makale , Prometheus için Azure İzleyici yönetilen hizmeti için yüksek ölçekte toplama ölçümleri yapıldığında beklenen performans hakkında rehberlik sağlar.

CPU ve bellek

CPU ve bellek kullanımı, her bir örneğin bayt sayısı ve kazınan örnek sayısı ile ilişkilendirilir. Bu karşılaştırmalar , kazınan varsayılan hedefleri, kazınan özel ölçümlerin hacmini ve düğüm, pod ve kapsayıcı sayısını temel alır. Kullanım, ölçüm başına zaman serisi ve bayt sayısına bağlı olarak önemli ölçüde farklılık gösterebileceğinden, bu sayılar başvuru olarak ifade edilir.

Örnek başına bayt sayısına bağlı olarak pod başına üst hacim sınırı şu anda dakikada yaklaşık 3-3,5 milyon örnektir. Gelecekte parçalama eklendiğinde bu sınırlama giderilir.

Aracı, ölçümleri kazıma için tek çoğaltma ve DaemonSet içeren bir dağıtımdan oluşur. DaemonSet cAdvisor, kubelet ve düğüm verme gibi düğüm düzeyindeki hedefleri kazır. Statik yapılandırmalarla düğüm düzeyindeki tüm özel hedefleri kazımak için de yapılandırabilirsiniz. Çoğaltma kümesi kube-state-metrics veya hizmet bulma kullanan özel kazıma işleri gibi diğer her şeyi kazır.

Çoğaltma için küçük ve büyük küme karşılaştırması

Hedefleri Kazıma Gönderilen Örnekler / Dakika Düğüm Sayısı Pod Sayısı Prometheus-Collector CPU Kullanımı (çekirdekler) Prometheus-Collector Bellek Kullanımı (bayt)
varsayılan hedefler 11,344 3 40 12.9 mc 148 Mi
varsayılan hedefler 260,000 340 13000 1.10 c 1,70 GB
varsayılan hedefler
+ özel hedefler
3,56 milyon 340 13000 5.13 c 9,52 GB

DaemonSets için küçük ve büyük küme karşılaştırması

Hedefleri Kazıma Gönderilen Örnekler / Dakika Toplamı Gönderilen Örnekler / Dakika / Pod Düğüm Sayısı Pod Sayısı Prometheus-Collector CPU Kullanım Toplamı (çekirdekler) Prometheus-Collector Bellek Kullanım Toplamı (bayt) Prometheus-Collector CPU Kullanımı / Pod (çekirdekler) Prometheus-Collector Bellek Kullanımı / Pod (bayt)
varsayılan hedefler 9,858 3,327 3 40 41.9 mc 581 Mi 14.7 mc 189 Mi
varsayılan hedefler 2,3 milyon 14,400 340 13000 805 mc 305,34 GB 2,36 mc 898 Mi

Daha fazla özel ölçüm için tek pod, özel ölçümlerin hacmine bağlı olarak çoğaltma poduyla aynı şekilde davranır.

Daha fazla kaynak içeren bir düğüm havuzunda ama-metrics çoğaltma podu zamanlama

Pod başına büyük miktarda ölçüm, gereken CPU ve bellek kullanımını işleyebilmek için yeterince büyük bir düğüm gerektirir. Ama-metrics çoğaltma podu yeterli kaynağı olan bir düğümde veya düğüm havuzunda zamanlanmamışsa, OOMKilled'i almaya devam edebilir ve CrashLoopBackoff'a gidebilir. Bu sorunun üstesinden gelmek için kümenizde daha yüksek kaynaklara ( sistem düğümü havuzunda) sahip bir düğüm veya düğüm havuzu varsa ve çoğaltmayı bu düğümde zamanlanmış olarak almak istiyorsanız, etiketi azuremonitor/metrics.replica.preferred=true düğüme ekleyebilirsiniz ve çoğaltma podu bu düğümde zamanlanır. Ayrıca, gerekirse daha büyük düğümlerle ek sistem havuzları oluşturabilir ve düğümlerine veya düğüm havuzuna aynı etiketi ekleyebilirsiniz. Bu etiket havuzdaki tüm düğümler için geçerli olduğunda zamanlamak için aynı havuzdaki daha yeni düğümlerin de kullanılabilmesi için düğümler yerine nodepool'a etiket eklemek de daha iyidir.

kubectl label nodes <node-name> azuremonitor/metrics.replica.preferred="true"

Sonraki adımlar