Udostępnij za pośrednictwem


Azure Monitor i Prometheus

Prometheus to popularne rozwiązanie do monitorowania i zgłaszania alertów typu open source, które jest powszechnie używane w ekosystemie natywnym dla chmury. Organizacje używają rozwiązania Prometheus do monitorowania i zgłaszania alertów dotyczących wydajności infrastruktury i obciążeń. Jest ona często używana w środowiskach Kubernetes.

Możesz użyć rozwiązania Prometheus jako usługi zarządzanej przez platformę Azure lub jako samoobsługowej usługi do zbierania metryk. Metryki rozwiązania Prometheus można zbierać z klastrów usługi Azure Kubernetes Service (AKS), klastrów Kubernetes z włączoną usługą Azure Arc, maszyn wirtualnych i zestawów skalowania maszyn wirtualnych.

Metryki rozwiązania Prometheus są przechowywane w obszarze roboczym usługi Azure Monitor. Dane w obszarze roboczym można analizować i wizualizować, używając eksploratora metryk z językiem Prometheus Query Language (PromQL) oraz zarządzanej przez Azure wersji Grafana.

Ważne

Korzystanie z usługi Azure Monitor do zarządzania i hostowania rozwiązania Prometheus jest przeznaczone do przechowywania informacji o kondycji usługi maszyn i aplikacji klientów. Nie jest ona przeznaczona do przechowywania żadnych danych osobowych. Zdecydowanie zalecamy, aby nie wysyłać żadnych poufnych informacji (na przykład nazw użytkowników i numerów kart kredytowych) do pól prometheus hostowanych w usłudze Azure Monitor, takich jak nazwy metryk, nazwy etykiet lub wartości etykiet.

Azure Monitor — usługa zarządzana dla rozwiązania Prometheus

Zarządzana usługa Azure Monitor dla Prometheus jest składnikiem Azure Monitor Metrics, który zapewnia w pełni zarządzane i skalowalne środowisko do uruchamiania Prometheus. Upraszcza wdrażanie, zarządzanie i skalowanie rozwiązania Prometheus w usługach AKS i Kubernetes z obsługą usługi Azure Arc, dzięki czemu można skoncentrować się na monitorowaniu aplikacji i infrastruktury.

Jako w pełni zarządzana usługa Azure Monitor dla Prometheus automatycznie wdraża Prometheus w AKS lub Kubernetes z obsługą usługi Azure Arc. Usługa zapewnia wysoką dostępność, gwarancje umowy dotyczącej poziomu usług (SLA) i automatyczne aktualizacje oprogramowania. Zapewnia wysoce skalowalny magazyn metryk, który przechowuje dane przez maksymalnie 18 miesięcy.

Zarządzana usługa Azure Monitor dla Prometheus udostępnia wstępnie skonfigurowane alerty, reguły i pulpity nawigacyjne. Dzięki zalecanym dashboardom ze społeczności Prometheus oraz natywnej integracji z narzędziem Grafana, można natychmiast uzyskać pełne monitorowanie. Zarządzana usługa Azure Monitor dla Prometheus integruje się z usługą Azure Managed Grafana, a także współpracuje z samodzielnie zarządzaną Grafana.

Ceny są oparte na pozyskiwaniu i wysyłaniu zapytań bez dodatkowych kosztów magazynowania. Aby uzyskać więcej informacji, zobacz kartę Metryki w cenniku usługi Azure Monitor.

Uwaga / Notatka

Usługa Azure Managed Prometheus obsługuje automatyczną skalowalność horyzontalną zasobników zestawów replik w klastrach Kubernetes w usłudze AKS. Aby dowiedzieć się więcej, zobacz Autoskalowanie .

Włącz zarządzaną usługę Azure Monitor dla Prometheusa

Zarządzana usługa Azure Monitor dla Prometheus zbiera dane z AKS i Kubernetes z obsługą Azure Arc.

Aby włączyć zarządzaną usługę Azure Monitor dla Prometheus, musisz utworzyć obszar roboczy usługi Azure Monitor, aby przechowywać metryki. Następnie możesz dołączyć usługi, które zbierają metryki Rozwiązania Prometheus:

Aby włączyć zarządzane rozwiązania Prometheus dla chmur z lukami powietrznymi platformy Microsoft Azure, skontaktuj się z pomocą techniczną.

Samodzielna aplikacja Prometheus hostowana na platformie Azure

Oprócz usługi zarządzanej dla rozwiązania Prometheus można zainstalować własne wystąpienie rozwiązania Prometheus i zarządzać nim oraz używać zdalnego zapisu do przechowywania metryk w obszarze roboczym usługi Azure Monitor.

Za pomocą zdalnego zapisu można zbierać dane z zarządzanych samodzielnie serwerów Prometheus działających w następujących środowiskach:

  • Maszyny wirtualne platformy Azure
  • Zestawy skalowania maszyn wirtualnych platformy Azure
  • Serwery z obsługą usługi Azure Arc
  • Samoobsługowe klastry Kubernetes hostowane na platformie Azure lub z obsługą usługi Azure Arc

Samoobsługowe usługi Kubernetes

Wysyłanie metryk z zarządzanego samodzielnie rozwiązania Prometheus w klastrach Kubernetes. Aby uzyskać więcej informacji na temat zdalnego zapisywania danych w obszarach roboczych Azure Monitor dla środowisk Kubernetes, zobacz następujące artykuły:

Maszyny wirtualne i zestawy skalowania maszyn wirtualnych

Wysyłaj dane z własnego rozwiązania Prometheus na maszynach wirtualnych i zestawach skalowania maszyn wirtualnych. Maszyny wirtualne mogą znajdować się w środowisku zarządzanym przez platformę Azure lub lokalnie. Aby uzyskać więcej informacji, zobacz Wysyłanie metryk rozwiązania Prometheus z maszyn wirtualnych, zestawów skalowania lub klastrów Kubernetes do obszaru roboczego usługi Azure Monitor.

Magazyn danych

Metryki rozwiązania Prometheus są przechowywane w obszarze roboczym usługi Azure Monitor. Dane są przechowywane w bazie danych szeregów czasowych, do których można wykonywać zapytania za pośrednictwem biblioteki PromQL. Dane można przechowywać z kilku źródeł danych Rozwiązania Prometheus w jednym obszarze roboczym usługi Azure Monitor. Aby uzyskać więcej informacji, zobacz Architektura obszaru roboczego usługi Azure Monitor.

Obszary robocze usługi Azure Monitor zachowują dane przez 18 miesięcy.

Wykonywanie zapytań i analizowanie metryk rozwiązania Prometheus

Dane rozwiązania Prometheus są pobierane za pośrednictwem rozwiązania PromQL. Możesz pisać własne zapytania, używać zapytań ze społeczności open source i używać pulpitów nawigacyjnych Grafana, które obejmują zapytania PromQL. Aby uzyskać więcej informacji, zobacz Zapytanie Prometheus na stronie internetowej Prometheus.

Następujące usługi platformy Azure obsługują wykonywanie zapytań dotyczących metryk rozwiązania Prometheus z obszaru roboczego usługi Azure Monitor:

Eksplorator metryk usługi Azure Monitor z rozwiązaniem PromQL

Użyj eksploratora metryk z rozwiązaniem PromQL (wersja zapoznawcza), aby analizować i wizualizować metryki platformy i rozwiązania Prometheus. Eksplorator metryk z rozwiązaniem PromQL jest dostępny w okienku Metryki w obszarze roboczym usługi Azure Monitor, w którym są przechowywane metryki rozwiązania Prometheus. Aby uzyskać więcej informacji, zobacz Eksplorator metryk usługi Azure Monitor z rozwiązaniem PromQL.

Zrzut ekranu przedstawiający zapytanie PromQL w Eksploratorze metryk usługi Azure Monitor.

Skoroszyty platformy Azure

Twórz wykresy i pulpity nawigacyjne zasilane przez zarządzaną usługę Azure Monitor dla Prometheus, korzystając ze skoroszytów platformy Azure oraz zapytań PromQL. Aby uzyskać więcej informacji, zobacz Query Prometheus metrics using Azure workbooks (Wykonywanie zapytań o metryki Prometheus przy użyciu skoroszytów platformy Azure).

Integracja narzędzia Grafana

Wizualizowanie metryk rozwiązania Prometheus przy użyciu narzędzia Azure Managed Grafana. Połącz obszar roboczy usługi Azure Monitor z obszarem roboczym narzędzia Grafana, aby można było go użyć jako źródła danych na pulpicie nawigacyjnym narzędzia Grafana. Następnie masz dostęp do wielu wstępnie utworzonych pulpitów nawigacyjnych korzystających z metryk rozwiązania Prometheus. Możesz również utworzyć dowolną liczbę niestandardowych pulpitów nawigacyjnych. Aby uzyskać więcej informacji, zobacz Łączenie obszaru roboczego Grafana.

Interfejs API zapytań Prometheus

Użyj języka PromQL za pośrednictwem interfejsu API REST, aby wykonywać zapytania dotyczące metryk rozwiązania Prometheus przechowywanych w obszarze roboczym usługi Azure Monitor. Aby uzyskać więcej informacji, zobacz Query Prometheus metrics using the API and PromQL (Wykonywanie zapytań o metryki Prometheus przy użyciu interfejsu API i biblioteki PromQL).

Reguły i alerty

Aplikacja Prometheus obsługuje reguły rejestrowania i reguły alertów przy użyciu zapytań PromQL. Azure Monitor, zarządzana usługa dla Prometheus, automatycznie wdraża reguły i alerty. Metryki rejestrowane przez reguły są przechowywane w obszarze roboczym usługi Azure Monitor. Panele kontrolne lub inne reguły mogą następnie przetwarzać zapytania dotyczące metryk.

Reguły alertów i reguły rejestrowania można tworzyć i zarządzać nimi przy użyciu usługi zarządzanej Azure Monitor dla grup reguł Prometheus. W przypadku klastra usługi AKS zestaw wstępnie zdefiniowanych reguł alertów rozwiązania Prometheus i reguł rejestrowania ułatwia szybkie rozpoczęcie pracy.

Alerty wyzwalane przez reguły alertów mogą wyzwalać akcje lub powiadomienia zgodnie z definicją w grupach akcji skonfigurowanych dla reguły alertu. Możesz również wyświetlić wyzwolone i rozwiązane alerty Prometheus w witrynie Azure Portal wraz z innymi typami alertów.

Limity i kwoty usługi

Zarządzana usługa Azure Monitor dla Prometheusa ma domyślne limity i przydziały dotyczące pozyskiwania. Po osiągnięciu limitów pozyskiwania może wystąpić ograniczanie przepustowości. Możesz zażądać zwiększenia tych limitów. Aby uzyskać więcej informacji, zobacz Limity usługi Azure Monitor.

Aby monitorować metryki pozyskiwania i otrzymywać alerty, zobacz Monitorowanie pozyskiwania metryk obszaru roboczego usługi Azure Monitor.

Ograniczenia

Następujące ograniczenia dotyczą usługi zarządzanej Azure Monitor dla rozwiązania Prometheus:

  • Minimalna częstotliwość zrzucania i przechowywania metryk wynosi 1 sekunda.
  • Podczas aktualizacji węzłów mogą wystąpić luki, które trwają od 1 do 2 minut w niektórych kolekcjach metryk z modułu zbierającego na poziomie klastra. Ta luka wynika z regularnej akcji usługi Azure Kubernetes Service w celu zaktualizowania węzłów w klastrze. To zachowanie nie ma wpływu na zalecane reguły alertów.
  • Zarządzana aplikacja Prometheus dla węzłów systemu Windows nie jest automatycznie włączona. Aby włączyć monitorowanie węzłów i zasobników systemu Windows w klastrach, zobacz Włączanie zbierania metryk systemu Windows (wersja zapoznawcza).

Uwzględnij wielkość liter

Usługa zarządzana Azure Monitor dla Prometheus jest systemem niewrażliwym na wielkość liter. Traktuje ciągi (takie jak nazwy metryk, nazwy etykiet lub wartości etykiet) jako szeregi czasowe, jeśli różnią się one od innej serii czasowej tylko przez przypadek ciągu.

Uwaga / Notatka

To zachowanie różni się od natywnego rozwiązania Prometheus typu open source, czyli systemu z uwzględnieniem wielkości liter. Instancje Prometheus zarządzane samodzielnie działające na maszynach wirtualnych platformy Azure, zestawach skalowalnych maszyn wirtualnych lub klastrach usługi Azure Kubernetes Service są systemami rozróżniającymi wielkość liter.

W usłudze zarządzanej dla rozwiązania Prometheus następujące szeregi czasowe są traktowane tak samo:

diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")

Powyższe przykłady to pojedynczy szereg czasowy w bazie danych szeregów czasowych. Obowiązują następujące zastrzeżenia:

  • Wszystkie próbki wprowadzone do nich są przechowywane tak, jakby zostały zeskrobane lub wprowadzone jako część pojedynczego szeregu czasowego.
  • Jeśli powyższe przykłady są przetwarzane przy użyciu tego samego znacznika czasu, jeden z nich jest losowo odrzucony.
  • Formatowanie, które jest przechowywane w bazie danych szeregów czasowych i zwracane przez zapytania, jest nieprzewidywalne. Ten sam szereg czasowy może zwracać różne formatowanie wielkości liter w różnym czasie.
  • Każda nazwa metryki lub dopasowanie nazwy etykiety/wartości występujące w zapytaniu jest pobierana z bazy danych szeregów czasowych poprzez porównanie niebiorące pod uwagę wielkości liter. Jeśli w zapytaniu znajduje się dopasowanie uwzględniające wielkość liter, jest ono automatycznie traktowane jako dopasowanie bez uwzględniania wielkości liter w porównaniach ciągów.

Najlepiej jest użyć jednego spójnego przypadku do produkcji lub pozyskiwania szeregów czasowych.

Rozwiązanie Prometheus typu open source traktuje powyższe przykłady jako dwa różne szeregi czasowe. Wszystkie próbki zebrane lub pobrane względem nich są przechowywane oddzielnie.

Nazwy metryk, nazwy etykiet i wartości etykiet

Obecnie metryki są ograniczane w poniższej tabeli:

Majątek Ograniczenie
Długość nazwy etykiety Mniejsze niż lub równe 511 znaków. Gdy ten limit zostanie przekroczony dla dowolnego szeregu czasowego w zadaniu, całe zadanie złomu nie powiedzie się, a metryki zostaną porzucone z tego zadania przed pozyskaniem. Możesz zobaczyć wartość up=0 dla tego zadania, a także docelowy element Ux pokazuje przyczynę up=0.
Długość wartości etykiety Mniejsze niż lub równe 1023 znaki. Gdy ten limit zostanie przekroczony dla dowolnego szeregu czasowego w zadaniu, całe złomowanie zakończy się niepowodzeniem, a metryki zostaną porzucone z tego zadania przed pozyskaniem. Możesz zobaczyć wartość up=0 dla tego zadania, a także docelowy element Ux pokazuje przyczynę up=0.
Liczba etykiet na szeregi czasowe Mniejsze niż lub równe 63. Gdy ten limit zostanie przekroczony dla dowolnego szeregu czasowego w zadaniu, całe zadanie złomu nie powiedzie się, a metryki zostaną porzucone z tego zadania przed pozyskaniem. Możesz zobaczyć wartość up=0 dla tego zadania, a także docelowy element Ux pokazuje przyczynę up=0.
Długość nazwy metryki Mniejsze niż lub równe 511 znaków. Gdy ten limit zostanie przekroczony dla dowolnego szeregu czasowego w zadaniu, tylko ta określona seria zostanie porzucona. Element MetricextensionConsoleDebugLog zawiera ślady usuniętej metryki.
Nazwy etykiet z inną wielkością liter Dwie etykiety w tym samym przykładzie metryki z inną wielkością są traktowane jako zduplikowane etykiety i są porzucane podczas pozyskiwania. Na przykład szereg my_metric{ExampleLabel="label_value_0", examplelabel="label_value_1} czasowy jest porzucony z powodu zduplikowanych etykiet, ponieważ ExampleLabel i examplelabel jest postrzegany jako ta sama nazwa etykiety.

Odwołania do Prometheus

Poniżej znajdują się linki do dokumentacji rozwiązania Prometheus: