Złomowanie metryk Prometheus na dużą skalę w usłudze Azure Monitor
Ten artykuł zawiera wskazówki dotyczące wydajności, które mogą być oczekiwane w przypadku metryk zbierania na dużą skalę dla usługi zarządzanej Azure Monitor dla usługi Prometheus.
Procesor CPU i pamięć
Użycie procesora CPU i pamięci jest skorelowane z liczbą bajtów każdej próbki i liczbą próbek zeskrobanych. Te testy porównawcze są oparte na domyślnych obiektach docelowych złomowanych, woluminach metryk niestandardowych oraz liczbie węzłów, zasobników i kontenerów. Liczby te są przeznaczone jako odwołanie, ponieważ użycie nadal może się znacznie różnić w zależności od liczby szeregów czasowych i bajtów na metrykę.
Górny limit objętości na zasobnik wynosi obecnie około 3–3,5 miliona próbek na minutę, w zależności od liczby bajtów na próbkę. To ograniczenie zostało rozwiązane podczas dodawania fragmentowania w przyszłości.
Agent składa się z wdrożenia z jedną repliką i zestawem DaemonSet na potrzeby złomowania metryk. DaemonSet złomuje wszystkie cele na poziomie węzła, takie jak cAdvisor, kubelet i eksporter węzłów. Można ją również skonfigurować tak, aby usuwała wszystkie niestandardowe obiekty docelowe na poziomie węzła ze statycznymi konfiguracjami. Zestaw replik zeskrapuje wszystkie inne elementy, takie jak kube-state-metrics lub niestandardowe zadania złomowania korzystające z odnajdywania usług.
Porównanie małych i dużych klastrów dla repliki
Elementy docelowe zeskrobania | Przykłady wysłane / minuta | Liczba węzłów | Liczba zasobników | Prometheus-Collector użycie procesora CPU (rdzenie) | Prometheus-Collector użycie pamięci (bajty) |
---|---|---|---|---|---|
domyślne elementy docelowe | 11,344 | 3 | 40 | 12,9 mc | 148 Mi |
domyślne elementy docelowe | 260,000 | 340 | 13000 | 1.10 c | 1,70 GB |
domyślne elementy docelowe + niestandardowe elementy docelowe |
3,56 mln | 340 | 13000 | 5.13 c | 9,52 GB |
Porównanie małych i dużych klastrów dla demonów
Elementy docelowe zeskrobania | Przykłady wysłane / łączna liczba minut | Przykłady wysłane / minuta / zasobnik | Liczba węzłów | Liczba zasobników | Prometheus-Collector całkowite użycie procesora CPU (rdzenie) | Prometheus-Collector łączna liczba użycia pamięci (bajty) | Prometheus-Collector użycie procesora CPU/zasobnika (rdzenie) | użycie pamięci Prometheus-Collector /zasobnik (bajty) |
---|---|---|---|---|---|---|---|---|
domyślne elementy docelowe | 9,858 | 3,327 | 3 | 40 | 41,9 mc | 581 Mi | 14,7 mc | 189 Mi |
domyślne elementy docelowe | 2,3 mln | 14,400 | 340 | 13000 | 805 mc | 305,34 GB | 2.36 mc | 898 Mi |
W przypadku większej liczby metryk niestandardowych pojedynczy zasobnik zachowuje się tak samo jak zasobnik repliki w zależności od ilości metryk niestandardowych.
Planowanie zasobnika repliki ama-metrics w puli węzłów z większą pulą zasobów
Duża liczba metryk na zasobnik wymaga wystarczająco dużego węzła, aby można było obsłużyć wymagane użycie procesora CPU i pamięci. Jeśli zasobnik repliki ama-metrics nie jest zaplanowany w węźle lub puli węzłów, która ma wystarczającą ilość zasobów, może to spowodować zatrzymanie operacji OOMKilled i przejście do pozycji CrashLoopBackoff. Aby rozwiązać ten problem, jeśli masz węzeł lub pulę węzłów w klastrze z wyższymi zasobami (w puli węzłów systemowych) i chcesz uzyskać replikę zaplanowaną w tym węźle, możesz dodać etykietę azuremonitor/metrics.replica.preferred=true
w węźle, a zasobnik repliki zostanie zaplanowany na tym węźle. W razie potrzeby można również utworzyć dodatkowe pule systemowe z większymi węzłami i dodać tę samą etykietę do ich węzłów lub puli węzłów. Lepiej jest również dodać etykiety do puli węzłów , a nie węzłów, aby nowsze węzły w tej samej puli mogły być również używane do planowania, gdy ta etykieta ma zastosowanie do wszystkich węzłów w puli.
kubectl label nodes <node-name> azuremonitor/metrics.replica.preferred="true"
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla