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
- Prometheus veri toplama sorunlarını giderme.