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"