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. Rozwiązanie Prometheus służy do monitorowania i zgłaszania alertów dotyczących wydajności infrastruktury i obciążeń oraz często używanych w środowiskach Kubernetes.
Użyj rozwiązania Prometheus jako usługi zarządzanej platformy 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, w którym można analizować i wizualizować dane przy użyciu Eksploratora metryk za pomocą rozwiązania PromQL i zarządzanego narzędzia Grafana platformy Azure.
Ważne
Usługa Azure Monitor zarządzana i hostowana rozwiązanie Prometheus jest przeznaczone do przechowywania informacji o kondycji usługi maszyn i aplikacji klientów. Nie jest przeznaczona do przechowywania żadnych danych sklasyfikowanych jako dane osobowe (PII) ani informacji umożliwiających identyfikację użytkownika końcowego (EUII). Zdecydowanie zalecamy, aby nie wysyłać żadnych poufnych informacji (nazw użytkowników, numerów kart kredytowych itp.) do pól usługi Prometheus hostowanych w usłudze Azure Monitor, takich jak nazwy metryk, nazwy etykiet lub wartości etykiet.
Usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus
Usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus to składnik metryk usługi Azure Monitor, który zapewnia w pełni zarządzane i skalowalne środowisko do uruchamiania rozwiązania Prometheus. Upraszcza wdrażanie, zarządzanie i skalowanie rozwiązania Prometheus w usłudze Azure Kubernetes Service, co pozwala skupić się na monitorowaniu aplikacji i infrastruktury.
Jako w pełni zarządzana usługa zarządzana azure Monitor dla rozwiązania Prometheus automatycznie wdraża rozwiązanie Prometheus w usłudze AKS lub kubernetes z obsługą usługi ARC. Usługa zapewnia wysoką dostępność, gwarancje umowy SLA i automatyczne aktualizacje oprogramowania. Usługa zapewnia wysoce skalowalny magazyn metryk z przechowywaniem danych do 18 miesięcy.
Usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus udostępnia wstępnie skonfigurowane alerty, reguły i pulpity nawigacyjne. Dzięki zalecanym pulpitom nawigacyjnym ze społeczności Prometheus i natywnej integracji narzędzia Grafana można natychmiast osiągnąć kompleksowe monitorowanie. Natywnie integruje się z usługą Azure Managed Grafana, a także współpracuje z własnym zarządzanym rozwiązaniem 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.
Włączanie usługi zarządzanej usługi Azure Monitor dla rozwiązania Prometheus
Zarządzana usługa Azure Monitor dla rozwiązania Prometheus zbiera dane z usług Azure Kubernetes:
- Azure Kubernetes Service (AKS)
- Platforma Kubernetes z obsługą usługi Azure Arc
Aby włączyć usługę zarządzaną usługi Azure Monitor dla rozwiązania Prometheus, musisz utworzyć obszar roboczy usługi Azure Monitor, aby przechowywać metryki. Po utworzeniu obszaru roboczego możesz dołączyć usługi, które zbierają metryki Rozwiązania Prometheus.
- Aby zebrać metryki rozwiązania Prometheus z klastra Kubernetes, zobacz Włączanie monitorowania klastrów Kubernetes.
- Aby skonfigurować zdalne zapisywanie w celu zbierania danych z własnego serwera Prometheus, zobacz Usługa zarządzana usługi Azure Monitor dla zdalnego zapisu Prometheus.
Aby włączyć usługę Managed Prometheus dla chmur z luką powietrzną platformy Microsoft Azure, skontaktuj się z pomocą techniczną.
Rozwiązanie Prometheus hostowane samodzielnie przez platformę Azure
Oprócz usługi zarządzanej dla rozwiązania Prometheus możesz 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 Arc
- Self manged Azure-hosted lub arc-enabled Klastry Kubernetes.
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 zapisu w obszarach roboczych usługi Azure Monitor dla usług Kubernetes, zobacz następujące artykuły:
- Wysyłanie danych rozwiązania Prometheus z usługi AKS do usługi Azure Monitor przy użyciu uwierzytelniania tożsamości zarządzanej
- Wysyłanie danych rozwiązania Prometheus z usługi AKS do usługi Azure Monitor przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft
- Wysyłanie danych rozwiązania Prometheus do usługi Azure Monitor przy użyciu uwierzytelniania tożsamości zarządzanej zasobnika Identyfikator firmy Microsoft (wersja zapoznawcza)
- Wysyłanie danych rozwiązania Prometheus do usługi Azure Monitor przy użyciu uwierzytelniania Tożsamość obciążeń microsoft Entra ID (wersja zapoznawcza)
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. Więcej informacji znajduje się w temacie Send Prometheus metrics from Virtual Machines to an Azure Monitor workspace (Wysyłanie metryk rozwiązania Prometheus z maszyn wirtualnych 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 przy użyciu języka Prometheus Query Language (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 Omówienie obszaru roboczego usługi Azure Monitor.
Dane są przechowywane w obszarach roboczych usługi Azure Monitor przez 18 miesięcy.
Wykonywanie zapytań i analizowanie metryk rozwiązania Prometheus
Dane rozwiązania Prometheus są pobierane przy użyciu języka Prometheus Query Language (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. Zobacz projekt 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
- Azure Managed Grafana
- Skoroszyty usługi Azure Monitor
- Interfejsy API zapytań Prometheus
Eksplorator metryk usługi Azure Monitor z rozwiązaniem PromQL
Eksplorator metryk z rozwiązaniem PromQL umożliwia analizowanie i wizualizowanie metryk platformy i rozwiązania Prometheus. Eksplorator metryk obsługuje metryki PromQL dla metryk Prometheus. Eksplorator metryk z rozwiązaniem PromQL (wersja zapoznawcza) jest dostępny w elemencie menu Metryki obszaru roboczego usługi Azure Monitor, w którym są przechowywane metryki Prometheus. Aby uzyskać więcej informacji, zobacz Eksplorator metryk za pomocą biblioteki PromQL.
Skoroszyty platformy Azure
Tworzenie wykresów i pulpitów nawigacyjnych obsługiwanych przez usługę zarządzaną usługi Azure Monitor dla rozwiązania Prometheus przy użyciu skoroszytów platformy Azure i 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
Metryki VisualizE 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 i możliwości tworzenia dowolnej liczby niestandardowych pulpitów nawigacyjnych. Aby uzyskać więcej informacji, zobacz Łączenie obszaru roboczego narzędzia Grafana z obszarem roboczym usługi Azure Monitor
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 Interfejs API zapytań Prometheus.
Reguły i alerty
Aplikacja Prometheus obsługuje reguły rejestrowania i reguły alertów przy użyciu zapytań PromQL. Reguły i alerty są automatycznie wdrażane w usłudze zarządzanej Azure Monitor dla rozwiązania Prometheus. Metryki rejestrowane przez reguły rejestrowania są przechowywane w obszarze roboczym usługi Azure Monitor i mogą być odpytywane przez pulpity nawigacyjne lub inne reguły. Reguły alertów i reguły rejestrowania można tworzyć i zarządzać nimi przy użyciu grup reguł usługi Azure Managed Prometheus. W przypadku klastra usługi AKS zapewnia się zestaw wstępnie zdefiniowanych reguł alertów Prometheus i reguł rejestrowania, aby umożliwić łatwy start.
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 przydziały usługi
Usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus ma domyślne limity i limity przydziału 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ć informacje na temat limitów metryk rozwiązania Prometheus, zobacz Limity usługi Azure Monitor.
Aby monitorować metryki pozyskiwania i otrzymywać alerty, zobacz Monitorowanie pozyskiwania metryk obszaru roboczego usługi Azure Monitor.
Ograniczenia/znane problemy — usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus
- Minimalna częstotliwość złomowania i przechowywania metryk wynosi 1 sekundę.
- Podczas aktualizacji węzłów mogą wystąpić luki trwające od 1 do 2 minut w niektórych kolekcjach metryk z naszego 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 jest oczekiwane i występuje z powodu aktualizacji węzła, w którym pojawia się ta luka. 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 Monitorowanie węzłów i zasobników systemu Windows w klastrach.
Uwzględnij wielkość liter
Rozwiązanie Prometheus zarządzane przez platformę Azure jest systemem bez uwzględniania wielkości liter. Traktuje ciągi, takie jak nazwy metryk, nazwy etykiet lub wartości etykiet, jako identyczne szeregi czasowe, jeśli różnią się one od innych szeregów czasowych tylko wielkością lister w ciągu.
Uwaga
To zachowanie różni się od natywnego rozwiązania Prometheus typu open source, który jest systemem uwzględniającym wielkość liter.
Wystąpienia rozwiązania Prometheus zarządzane samodzielnie działające na maszynach wirtualnych platformy Azure, maszynach wirtualnych lub klastrach usługi Azure Kubernetes Service (AKS) są systemami uwzględniającymi wielkość liter.
W zarządzanym rozwiązaniu Prometheus platformy Azure następujące serie 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.
- Wszystkie próbki pozyskane względem nich są przechowywane tak, jakby zostały zeskropane/pozyskane względem pojedynczego szeregu czasowego.
- Jeśli powyższe przykłady są pozyskiwane z tym samym znacznikiem czasu, jeden z nich jest losowo porzucony.
- Wielkość liter przechowywana w bazie danych szeregów czasowych i zwracana przez zapytanie jest nieprzewidywalna. Różne wielkości liter mogą być zwracane w różnych godzinach dla tych samych szeregów czasowych.
- Każda nazwa metryki lub dopasowanie etykiety/wartości obecne w zapytaniu jest pobierane z bazy danych szeregów czasowych przez porównanie bez uwzględniania wielkości liter. Jeśli w zapytaniu jest uwzględniana wielkość liter, jest ona automatycznie traktowana jako element matcher bez uwzględniania wielkości liter podczas porównywania ciągów.
Najlepszym rozwiązaniem jest zapewnienie, że szereg czasowy jest generowany lub złomowany przy użyciu pojedynczego spójnego przypadku.
W rozwiązaniu Prometheus typu open source powyższy szereg czasowy jest traktowany jako dwa różne szeregi czasowe. Wszystkie próbki zeskrobane/pozyskane na nie są przechowywane oddzielnie.
Odwołania do rozwiązania Prometheus
Poniżej znajdują się linki do dokumentacji rozwiązania Prometheus.
- Wykonywanie zapytań dotyczących rozwiązania Prometheus
- Obsługa narzędzia Grafana dla rozwiązania Prometheus
- Definiowanie reguł rejestrowania
- Reguły alertów
- Pisanie eksporterów
Następne kroki
- Włącz usługę zarządzaną usługi Azure Monitor dla rozwiązania Prometheus w klastrach Kubernetes.
- Wysyłanie metryk rozwiązania Prometheus z usługi Virtual Machines do obszaru roboczego usługi Azure Monitor.
- Konfigurowanie grup reguł alertów i rejestrowania alertów rozwiązania Prometheus.
- Dostosowywanie złomowania metryk rozwiązania Prometheus.
- Rozwiązywanie problemów z kolekcją metryk Rozwiązania Prometheus.