Zarządzana usługa Azure Monitor dla grup reguł Prometheusa

Reguły w Prometheus działają na danych jednocześnie z ich zbieraniem, aby wstępnie obliczyć wartości przechowywane w szeregach czasowych lub generować alerty na podstawie zdefiniowanych wcześniej warunków w zebranych metrykach. usługa zarządzana Azure Monitor dla rozwiązania Prometheus udostępnia wstępnie zdefiniowane zestawy każdej reguły i umożliwia tworzenie reguł niestandardowych i zarządzanie nimi przy użyciu portalu Azure.

Typy grup reguł

Grupa reguł Prometheus jest kolekcją reguł alertów/lub reguł rejestrowania, które są oceniane razem. Każda reguła musi być członkiem jednej grupy reguł. Grupy reguł definiują zakres wszystkich reguł w grupie oraz częstotliwość ich oceny.

Istnieją dwa typy reguł Prometheus.

Typ Opis
Alarm Reguły umożliwiają utworzenie alertu Azure Monitor na podstawie wyników zapytania Prometheus Query Language (PromQL). Alerty wyzwalane przez reguły alertowe Azure Managed Prometheus są przetwarzane i uruchamiają powiadomienia w sposób podobny do innych alertów w Azure Monitor.
Nagranie Reguły rejestrowania umożliwiają wstępne obliczanie często potrzebnych lub obliczeniowo rozbudowanych wyrażeń i przechowywanie ich wyników jako nowego zestawu szeregów czasowych. Szeregi czasowe utworzone przez reguły rejestrowania są pobierane z powrotem do obszaru roboczego Azure Monitor jako nowe metryki Prometheus.

Azure zarządzane grupy reguł Prometheus są zgodne ze strukturą i terminologią open-source'owych grup reguł Prometheus. Nazwy reguł, wyrażenia, etykiety i adnotacje są obsługiwane w Azure.

Istnieją pewne różnice między grupami reguł Prometheus zarządzanymi przez Azure i open-source'owymi grupami reguł Prometheus. Grupy reguł zarządzane przez Azure dla Prometheus są traktowane jako zasoby Azure i zawierają informacje niezbędne do zarządzania zasobami, takie jak subskrypcja i grupa zasobów, w której powinna znajdować się grupa reguł. Reguły alertów obejmują dedykowane właściwości, takie jak dotkliwość alertu, skojarzenie grupy akcji i konfiguracja automatycznego rozwiązywania alertów, które umożliwiają przetwarzanie alertów w taki sam sposób jak inne alerty Azure Monitor.

Zakres grupy reguł

Zakres grupy reguł w grupach reguł zarządzanych Azure Prometheus określa, do jakich zasobów są stosowane reguły w grupie. Nie można stosować pojedynczych reguł bezpośrednio do klastra Kubernetes. W poniższej tabeli opisano różne zakresy grup reguł.

Scope Opis
Wszystkie klastry w obszarze roboczym Wszystkie włączone reguły w grupie będą stosowane do wszystkich klastrów aktualnie połączonych z obszarem roboczym Azure Monitor.
Określony klaster — nazwa klastra Wszystkie włączone reguły w grupie będą stosowane tylko do wybranego klastra.
Określony klaster — nazwa klastra w zapytaniu Wszystkie włączone reguły w grupie będą stosowane do klastrów zawierających określony tekst w ich nazwie.

Wyświetlanie grup reguł Prometheus

Istnieje wiele sposobów na wyświetlanie grup reguł Prometheus oraz ich reguł w portalu Azure.

Zasady w obszarze roboczym usługi Azure Monitor

Wybierz Grupy reguł z przestrzeni roboczej Azure Monitor w ramach portalu Azure, aby wyświetlić wszystkie grupy reguł w tej przestrzeni roboczej. Możesz rozwinąć dowolną grupę reguł, aby wyświetlić listę reguł w tej grupie. Wybierz dowolną grupę lub regułę, aby wyświetlić jej szczegóły.

 Zrzut ekranu grup reguł Prometheus z Azure Monitor workspace.

Wszystkie reguły

Na stronie Alerts w menu Monitor w portalu Azure wybierz Grupy reguł Prometheus, aby wyświetlić wszystkie grupy reguł w subskrypcjach, do których masz dostęp.

Zrzut ekranu przedstawiający sposób wyświetlania grup reguł rozwiązania Prometheus na ekranie alertów.

Ten widok identyfikuje obszar roboczy, w którym znajduje się grupa reguł, czy jest włączona, oraz klaster, jeśli grupa reguł jest ograniczona do określonego zakresu klastra. Użyj filtrów w górnej części ekranu, aby zawęzić listę grup reguł według różnych właściwości. Możesz usunąć wiele grup reguł z tego widoku, wybierając je, a następnie klikając pozycję Usuń. Może to być przydatne, na przykład, aby wyczyścić grupy reguł, które nie są już potrzebne po usunięciu klastra.

Zrzut ekranu przedstawiający wszystkie grupy reguł Prometheus.

Wskazówka

Dostęp do tego samego widoku można również uzyskać na stronie Alerty klastra Kubernetes. Spowoduje to ustawienie początkowego filtru dla grup reguł przypisanych do tego klastra.

Tworzenie grup reguł i reguł Prometheus

Otwórz widok Wszystkie reguły opisany powyżej i wybierz pozycję + Utwórz

Zrzut ekranu przedstawiający opcję utworzenia nowej grupy reguł Prometheus.

Scope

Setting Opis
obszar roboczy Azure Monitor Obszar roboczy Azure Monitor, z którego grupa reguł będzie pobierać zapytania o dane. Tej wartości nie można zmienić dla istniejącej grupy reguł.
Lokalizacja Lokalizacja wybranego obszaru roboczego Azure Monitor.
Klaster Określa, gdzie grupa reguł ma zastosowanie do wszystkich klastrów w obszarze roboczym lub określonym klastrze. Wybierz określony klaster lub wprowadź tekst zgodny z nazwami klastrów.

Szczegóły

Setting Opis
Subscription Subskrypcja, w której zostanie utworzony zasób grupy reguł. Tej wartości nie można zmienić dla istniejącej grupy reguł.
Grupa zasobów Grupa zasobów, w której zostanie utworzony zasób typu grupa reguł. Tej wartości nie można zmienić dla istniejącej grupy reguł.
Nazwa Nazwa zasobu grupy reguł. Ta nazwa musi być unikatowa w wybranej grupie zasobów. Tej wartości nie można zmienić dla istniejącej grupy reguł.
Opis Opis grupy reguł.
Oceń każdego Częstotliwość oceniania reguł w grupie. Domyślnie wynosi 1 minutę.
Włączona Włącz lub wyłącz grupę reguł. Wyłączone grupy reguł będą nadal tworzone, ale reguły będą uruchamiane tylko wtedy, gdy grupa jest włączona.
Etykiety Opcjonalne pary klucz-wartość dla etykiety reguły. Te etykiety są dodawane do metryki utworzonej przez regułę.

Reguły

Wybierz pozycję Dodaj regułę rejestrowania lub Dodaj regułę alertu , aby dodać reguły do grupy. Każdy typ reguły ma inne ustawienia, jak opisano poniżej.

Reguły rejestrowania

Setting Opis
Nazwa Nazwa reguły rejestrowania. Ta nazwa jest używana dla metryki utworzonej przez regułę.
Włączona Określa, czy reguła jest włączona, czy wyłączona. Wyłączone reguły zostaną utworzone, ale nie będą oceniane, dopóki nie zostaną aktywowane.
Expression Wyrażenie PromQL definiujące regułę. Wybierz pozycję Uruchom zapytanie , aby wyświetlić wyniki zapytania wyrażenia wizualizowanego na wykresie podglądu. Zmodyfikuj zakres czasowy podglądu, aby powiększyć lub pomniejszyć historię wyników wyrażenia.

Reguły alertów

Setting Opis
Nazwa Nazwa reguły rejestrowania. Ta nazwa to nazwa alertów wyzwalanych przez regułę.
Severity Wartość ważności alertów wyzwolonych przez tę regułę.
Expression Wyrażenie PromQL definiujące regułę. Wybierz pozycję Uruchom zapytanie , aby wyświetlić wyniki zapytania wyrażenia wizualizowanego na wykresie podglądu. Zmodyfikuj zakres czasowy podglądu, aby powiększyć lub pomniejszyć historię wyników wyrażenia.
Poczekaj na Okres między czasem, kiedy wyrażenie alertu po raz pierwszy stanie się prawdziwe, a do momentu wyzwolenia alertu.
Etykiety Opcjonalne pary klucz-wartość dla etykiety reguły. Te etykiety są dodawane do alertów wyzwalanych przez regułę.
Annotations Opcjonalne pary adnotacji klucz/wartość dla reguły. Te adnotacje są dodawane do alertów wyzwalanych przez regułę.
Grupy akcji Grupy akcji definiujące odpowiedź na wyzwalany alert.
Włączona Określa, czy reguła jest włączona, czy wyłączona. Wyłączone reguły zostaną utworzone, ale nie będą oceniane, dopóki nie zostaną aktywowane.
Automatyczne rozwiązywanie alertów Automatycznie rozwiąż alerty, jeśli warunek reguły nie jest już spełniony w czasie automatycznego rozwiązywania problemów .

Konfigurowanie zakresu grupy reguł

Na karcie Zakres :

  1. Wybierz obszar roboczy Azure Monitor z listy obszarów roboczych, które są dostępne w subskrypcjach. Reguły w tej grupie wysyłają zapytania o dane z tego obszaru roboczego.

  2. Aby ograniczyć grupę reguł do zakresu klastra, wybierz opcję Określony klaster :

    • Wybierz klaster z listy klastrów, które są już połączone z wybranym obszarem roboczym Azure Monitor.
    • Domyślna wartość nazwa klastra jest wprowadzona dla Ciebie. Zmień tę wartość tylko wtedy, gdy zmieniono wartość etykiety klastra przy użyciu cluster_alias.
  3. Wybierz przycisk Dalej , aby skonfigurować szczegóły grupy reguł.

    Zrzut ekranu przedstawiający konfigurację zakresu grupy reguł Rozwiązania Prometheus.

Konwertowanie pliku reguł Prometheus na zarządzaną grupę reguł Prometheus

Jeśli masz plik konfiguracji reguł Prometheus w formacie YAML, możesz przekonwertować go na szablon ARM dla grupy reguł Prometheus zarządzanego przez Azure, używając narzędzia az-prom-rules-converter. Plik reguł może zawierać definicję co najmniej jednej grupy reguł.

Oprócz pliku reguł narzędzie wymaga innych właściwości potrzebnych do utworzenia grup reguł Azure Prometheus, w tym subskrypcji, grupy zasobów, lokalizacji, docelowego obszaru roboczego Azure Monitor, identyfikatora klastra docelowego i nazwy oraz grup akcji. Narzędzie tworzy plik szablonu, który można wdrożyć przy użyciu dowolnych standardowych metod wdrażania szablonów usługi ARM.

Ograniczanie reguł do określonego klastra

Opcjonalnie można ograniczyć reguły w grupie reguł, aby wykonywać zapytania dotyczące danych pochodzących z jednego określonego klastra, dodając zakres klastra do grupy reguł lub używając właściwości grupy clusterName reguł. Ogranicz reguły do pojedynczego klastra, jeśli obszar roboczy Azure Monitor zawiera dużą ilość danych z wielu klastrów. W takim przypadku istnieje ryzyko, że uruchomienie jednego zestawu reguł na wszystkich danych może spowodować problemy z wydajnością lub przepustowością. Korzystając z zakresu klastra, można utworzyć wiele grup reguł, z których każda jest skonfigurowana przy użyciu tych samych reguł, z każdą grupą obejmującą inny klaster.

Aby ograniczyć grupę reguł do zakresu klastra za pomocą szablonu usługi ARM, dodaj wartość identyfikatora zasobu Azure swojego klastra do listy grup reguł scopes[]. Lista zakresów musi nadal zawierać identyfikator zasobu obszaru roboczego Azure Monitor. Następujące typy zasobów klastra są obsługiwane jako zakres klastra:

  • klastry Azure Kubernetes Service (Microsoft.ContainerService/managedClusters)
  • klastry Kubernetes z obsługą Azure Arc (Microsoft.kubernetes/connectedClusters)
  • Azure podłączonych urządzeń (Microsoft.ResourceConnector/appliances)

Oprócz identyfikatora klastra można skonfigurować właściwość dla grupy reguł clusterName. Właściwość clusterName musi być zgodna z etykietą cluster dodaną do metryk po pobraniu z określonego klastra. Domyślnie ta etykieta jest ustawiona na ostatnią część (nazwę zasobu) identyfikatora klastra. Jeśli zmieniłeś tę etykietę za pomocą ustawienia cluster_alias w ConfigMap klastrowym do scrapingu, musisz uwzględnić zaktualizowaną wartość we właściwości clusterName grupy reguł. Jeśli skrobanie używa domyślnej wartości etykiety cluster, właściwość clusterName jest opcjonalna.

Oto przykład konfigurowania grupy reguł w celu ograniczenia zapytania do określonego klastra:

{
    "name": "sampleRuleGroup",
    "type": "Microsoft.AlertsManagement/prometheusRuleGroups",
    "apiVersion": "2023-03-01",
    "location": "northcentralus",
    "properties": {
         "description": "Sample Prometheus Rule Group limited to a specific cluster",
         "scopes": [
             "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.monitor/accounts/<azure-monitor-workspace-name>",
             "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.containerservice/managedclusters/<myClusterName>"
         ],
         "clusterName": "<myCLusterName>",
         "rules": [
             {
                ...
             }
         ]
    }
}

Jeśli zarówno zakres identyfikatora klastra, jak i clusterName właściwość nie są określone dla grupy reguł, reguły w grupie wysyłają zapytania o dane ze wszystkich klastrów w obszarze roboczym ze wszystkich klastrów.

Skonfiguruj szczegóły grupy reguł

Zrzut ekranu przedstawiający konfigurację reguły rejestrowania grupy reguł Prometheus.

Zrzut ekranu przedstawiający konfigurację reguły grupy reguł alertów Prometheus.

Uwaga / Notatka

W przypadku reguł alertów zapytania oparte na wyrażeniach zwykle zwracają tylko szereg danych czasowych spełniający warunek wyrażenia. Jeśli wykres podglądu nie jest wyświetlany i zostanie wyświetlony komunikat "Zapytanie nie zwróciło żadnego wyniku", prawdopodobnie warunek nie został spełniony w przedziale czasu podglądu.

Zakończ tworzenie grupy reguł

  1. Na karcie Tags ustaw wszystkie wymagane tagi zasobów Azure, które mają być dodane do zasobu grupy reguł.

    Zrzut ekranu przedstawiający kartę Tagi podczas tworzenia nowej reguły alertu.

  2. Na karcie Przeglądanie i tworzenie grupa reguł jest weryfikowana i informuje o wszelkich problemach. Na tej karcie możesz również wybrać opcję Wyświetl szablon automatyzacji i pobrać szablon dla grupy, którą chcesz utworzyć.

  3. Po zakończeniu walidacji i przejrzeniu ustawień wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający kartę Przegląd i tworzenie podczas tworzenia nowej reguły alertu.

  4. Możesz śledzić proces wdrażania grupy reguł, aby upewnić się, że zakończy się on pomyślnie albo aby być powiadomionym o ewentualnych błędach.

Obejrzyj stany zdrowia zasobów grup reguł Prometheus

Teraz możesz wyświetlić stan kondycji zasobu grupy reguł Prometheus w portalu. W grupach reguł można wykrywać problemy, takie jak nieprawidłowa konfiguracja lub problemy z ograniczaniem przepustowości zapytań.

  1. W portalu przejdź do przeglądu grupy reguł Prometheus, którą chcesz monitorować.

  2. W okienku po lewej stronie w obszarze Pomoc wybierz pozycję Kondycja zasobu.

    Zrzut ekranu przedstawiający sposób wyświetlania stanu kondycji zasobu grupy reguł Prometheus.

  3. W okienku Kondycja zasobu można zobaczyć bieżący stan dostępności grupy reguł. Możesz również wyświetlić historię ostatnich zdarzeń dotyczących kondycji zasobów, maksymalnie z ostatnich 30 dni.

    Zrzut ekranu przedstawiający sposób wyświetlania historii kondycji zasobów grupy reguł Prometheus.

    • Jeśli grupa reguł jest oznaczona jako Dostępna, działa zgodnie z oczekiwaniami.
    • Jeśli grupa reguł jest oznaczona jako Zdegradowana, co najmniej jedna reguła w grupie nie działa zgodnie z oczekiwaniami. Zapytanie reguły może być ograniczone (np. z powodu limitu szybkości) lub inne problemy mogą spowodować niepowodzenie w ocenie reguły. Rozwiń wpis stanu, aby uzyskać więcej informacji na temat wykrytego problemu, sugestii dotyczących ograniczania ryzyka lub dalszego rozwiązywania problemów.
    • Jeśli grupa reguł jest oznaczona jako Niedostępna, cała grupa reguł nie działa zgodnie z oczekiwaniami. Może wystąpić problem z konfiguracją (na przykład nie można wykryć obszaru roboczego Azure Monitor) lub problemy z wewnętrznymi usługami. Rozwiń wpis stanu, aby uzyskać więcej informacji na temat wykrytego problemu, sugestii dotyczących ograniczania ryzyka lub dalszego rozwiązywania problemów.
    • Jeśli grupa reguł jest oznaczona jako Nieznana, cała grupa reguł jest wyłączona lub jest w nieznanym stanie.

Wyłączanie i włączanie grup reguł

Aby włączyć lub wyłączyć regułę, wybierz grupę reguł w portalu Azure. Wybierz pozycję Włącz lub Wyłącz , aby zmienić jego stan.