Azure İzleyici'de Prometheus ölçümlerini büyük ölçekte kazıma

Bu makalede, Prometheus için Azure İzleyici yönetilen hizmeti için yüksek ölçekte toplama ölçümleri beklendiğinde beklenen performansla ilgili yönergeler sağlanır.

CPU ve bellek

CPU ve bellek kullanımı, her bir örneğin bayt sayısı ve kazınan örnek sayısıyla 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 tasarlanabilir.

Örnek başına bayt sayısına bağlı olarak pod başına üst birim 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 bir ç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 pod'larını zamanlama

Pod başına büyük hacimli ölçümlerin yeterli CPU ve belleğe sahip bir düğüme ihtiyacı vardır. Ama-metrics çoğaltma podu yeterli kaynağa sahip bir düğümde veya düğüm havuzunda zamanlanmamışsa, OOMKilled alabilir ve CrashLoopBackoff'a gidebilir. Bunu düzeltmek için, etiketi azuremonitor/metrics.replica.preferred=true daha yüksek kaynaklara sahip kümenizdeki bir düğüme veya düğüm havuzuna ekleyebilirsiniz ( sistem düğümü havuzunda). Bu, çoğaltma podunun bu düğümde zamanlanmasını sağlar. Ayrıca daha büyük düğümlere sahip ek sistem havuzları oluşturabilir ve aynı etiketi ekleyebilirsiniz. Havuzdaki yeni düğümlerin zamanlama için de kullanılabilmesi için düğüm havuzlarını tek tek düğümler yerine etiketlemek daha iyidir.

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

Sonraki adımlar