Udostępnij za pośrednictwem


Wysyłanie metryk rozwiązania Prometheus z maszyn wirtualnych, zestawów skalowania lub klastrów Kubernetes do obszaru roboczego usługi Azure Monitor

Rozwiązanie Prometheus nie ogranicza się do monitorowania klastrów Kubernetes. Użyj rozwiązania Prometheus, aby monitorować aplikacje i usługi uruchomione na serwerach, niezależnie od tego, gdzie są uruchomione. Można na przykład monitorować aplikacje uruchomione na maszynach wirtualnych, zestawach skalowania maszyn wirtualnych, a nawet na serwerach lokalnych. Metryki rozwiązania Prometheus można również wysyłać do obszaru roboczego usługi Azure Monitor z poziomu własnego klastra i serwera Prometheus.

W tym artykule wyjaśniono, jak skonfigurować zdalne zapisywanie w celu wysyłania danych z wystąpienia rozwiązania Prometheus do obszaru roboczego usługi Azure Monitor.

Opcje zdalnego zapisu

Self-managed Prometheus może działać w środowiskach platformy Azure i spoza platformy Azure. Poniżej przedstawiono opcje uwierzytelniania dla zdalnego zapisu w obszarze roboczym usługi Azure Monitor na podstawie środowiska, w którym działa rozwiązanie Prometheus.

Maszyny wirtualne zarządzane przez platformę Azure, zestawy skalowania maszyn wirtualnych i klastry Kubernetes

Użyj uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika na potrzeby usług z rozwiązaniem Prometheus zarządzanym samodzielnie w środowisku platformy Azure. Usługi zarządzane przez platformę Azure obejmują:

  • Azure Virtual Machines
  • Zestawy skalowania maszyn wirtualnych Azure
  • Azure Kubernetes Service (AKS)

Aby skonfigurować zdalny zapis dla zasobów zarządzanych przez platformę Azure, zobacz Zdalne zapisywanie przy użyciu uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika w dalszej części tego artykułu.

Maszyny wirtualne i klastry Kubernetes działające w środowiskach spoza platformy Azure

Jeśli masz maszyny wirtualne lub klaster Kubernetes w środowiskach spoza platformy Azure lub dołączono do usługi Azure Arc, zainstaluj rozwiązanie Prometheus zarządzane samodzielnie i skonfiguruj zdalny zapis przy użyciu uwierzytelniania aplikacji Microsoft Entra. Aby uzyskać więcej informacji, zobacz Remote write using Microsoft Entra application authentication w dalszej części tego artykułu.

Dołączanie do serwerów z obsługą usługi Azure Arc umożliwia zarządzanie i konfigurowanie maszyn wirtualnych spoza platformy Azure na platformie Azure. Aby uzyskać więcej informacji, zobacz Serwery z obsługą usługi Azure Arc i platforma Kubernetes z obsługą usługi Azure Arc. Serwery z obsługą usługi Azure Arc obsługują tylko uwierzytelnianie firmy Microsoft Entra.

Uwaga

Tożsamości zarządzane przypisane przez system nie są obsługiwane w przypadku zdalnego zapisu w obszarach roboczych usługi Azure Monitor. Użyj tożsamości zarządzanej przypisanej przez użytkownika lub uwierzytelniania aplikacji Entra firmy Microsoft.

Wymagania wstępne

Obsługiwane wersje

  • Wersje prometheus nowsze niż 2.45 są wymagane do uwierzytelniania tożsamości zarządzanej.
  • Wersje prometheus nowsze niż 2.48 są wymagane do uwierzytelniania aplikacji Firmy Microsoft Entra.

Obszar roboczy usługi Azure Monitor

W tym artykule opisano wysyłanie metryk rozwiązania Prometheus do obszaru roboczego usługi Azure Monitor. Aby utworzyć obszar roboczy usługi Azure Monitor, zobacz Zarządzanie obszarem roboczym usługi Azure Monitor.

Uprawnienia

Uprawnienia administratora dla klastra lub zasobu są wymagane do wykonania kroków opisanych w tym artykule.

Konfigurowanie uwierzytelniania na potrzeby zdalnego zapisu

W zależności od środowiska, w którym działa rozwiązanie Prometheus, można skonfigurować zdalny zapis tak, aby używał tożsamości zarządzanej przypisanej przez użytkownika lub uwierzytelniania aplikacji Microsoft Entra w celu wysyłania danych do obszaru roboczego usługi Azure Monitor.

Użyj witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure, aby utworzyć tożsamość zarządzaną przypisaną przez użytkownika lub aplikację Microsoft Entra.

Zdalne zapisywanie przy użyciu uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika

Uwierzytelnianie tożsamości zarządzanej przypisanej przez użytkownika może być używane w dowolnym środowisku zarządzanym przez platformę Azure. Jeśli usługa Prometheus jest uruchomiona w środowisku spoza platformy Azure, możesz użyć uwierzytelniania aplikacji Microsoft Entra.

Aby skonfigurować tożsamość zarządzaną przypisaną przez użytkownika na potrzeby zdalnego zapisu w obszarze roboczym usługi Azure Monitor, wykonaj następujące kroki.

Tworzenie tożsamości zarządzanej przypisanej przez użytkownika

Aby utworzyć tożsamość zarządzaną przez użytkownika do użycia w konfiguracji zdalnego zapisu, zobacz Zarządzanie tożsamościami zarządzanymi przypisanymi przez użytkownika.

Zanotuj wartość clientId utworzonej tożsamości zarządzanej. Ten identyfikator jest używany w konfiguracji zapisu zdalnego rozwiązania Prometheus.

Przypisywanie roli Wydawca metryk monitorowania do aplikacji

W regule zbierania danych obszaru roboczego przypisz rolę Wydawca metryk monitorowania do tożsamości zarządzanej:

  1. W okienku przeglądu obszaru roboczego usługi Azure Monitor wybierz link Reguła zbierania danych.

    Zrzut ekranu przedstawiający link do reguły zbierania danych w okienku obszaru roboczego usługi Azure Monitor.

  2. Na stronie reguły zbierania danych wybierz pozycję Kontrola dostępu (IAM).

  3. Wybierz pozycję Dodaj>Dodaj przypisanie roli.

    Zrzut ekranu przedstawiający dodawanie przypisania roli dla reguły zbierania danych.

  4. Wyszukaj i wybierz pozycję Wydawca metryk monitorowania, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający menu przypisania roli dla reguły zbierania danych.

  5. Wybierz pozycję Tożsamość zarządzana.

  6. Wybierz pozycję Wybierz członków.

  7. Z listy rozwijanej Tożsamość zarządzana wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika.

  8. Wybierz tożsamość przypisaną przez użytkownika, której chcesz użyć, a następnie wybierz pozycję Wybierz.

    Zrzut ekranu przedstawiający wybieranie członków i tożsamość zarządzaną przypisaną przez użytkownika dla reguły zbierania danych.

  9. Wybierz pozycję Przejrzyj i przypisz , aby ukończyć przypisanie roli.

Przypisywanie tożsamości zarządzanej do maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych

Ważne

Aby wykonać kroki opisane w tej sekcji, musisz mieć uprawnienia właściciela lub administratora dostępu użytkowników dla maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych.

  1. W witrynie Azure Portal przejdź do strony klastra, maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych.

  2. Wybierz Tożsamość.

  3. Wybierz pozycję Przypisany użytkownik.

  4. Wybierz Dodaj.

  5. Wybierz utworzoną przez użytkownika tożsamość zarządzaną, a następnie wybierz pozycję Dodaj.

    Zrzut ekranu przedstawiający okienko dodawania tożsamości zarządzanej przypisanej przez użytkownika.

Przypisywanie tożsamości zarządzanej dla usługi Azure Kubernetes Service

W przypadku usługi Azure Kubernetes Service tożsamość zarządzana musi być przypisana do zestawów skalowania maszyn wirtualnych.

Usługa AKS tworzy grupę zasobów zawierającą zestawy skalowania maszyn wirtualnych. Nazwa grupy zasobów ma format MC_<resource group name>_<AKS cluster name>_<region>.

Dla każdego zestawu skalowania maszyn wirtualnych w grupie zasobów przypisz tożsamość zarządzaną zgodnie z krokami w poprzedniej sekcji Przypisz tożsamość zarządzaną do maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych.

Konfigurowanie zdalnego zapisu

Zapis zdalny jest konfigurowany w pliku prometheus.yml konfiguracji Rozwiązania Prometheus lub w operatorze Prometheus.

Aby uzyskać więcej informacji na temat konfigurowania zdalnego zapisu, zobacz ten Prometheus.io artykuł: Konfiguracja. Aby uzyskać informacje na temat dostrajania konfiguracji zdalnego zapisu, zobacz Zdalne dostrajanie zapisu.

Aby wysłać dane do obszaru roboczego usługi Azure Monitor, dodaj następującą sekcję do pliku konfiguracji (prometheus.yml) wystąpienia rozwiązania Prometheus zarządzanego samodzielnie:

remote_write:   
  - url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
# Microsoft Entra ID configuration.
# The Azure cloud. Options are 'AzurePublic', 'AzureChina', or 'AzureGovernment'.
    azuread:
      cloud: 'AzurePublic'
      managed_identity:
        client_id: "<client-id of the managed identity>"
      oauth:
        client_id: "<client-id from the Entra app>"
        client_secret: "<client secret from the Entra app>"
        tenant_id: "<Azure subscription tenant Id>"

Parametr url określa punkt końcowy pozyskiwania metryk w obszarze roboczym usługi Azure Monitor. Możesz go znaleźć w okienku przeglądu obszaru roboczego usługi Azure Monitor w witrynie Azure Portal.

Zrzut ekranu przedstawiający punkt końcowy pozyskiwania metryk dla obszaru roboczego usługi Azure Monitor.

managed_identity W zależności od implementacji należy użyć uwierzytelniania aplikacji firmy Microsoft lub oauth w przypadku uwierzytelniania aplikacji Entra firmy Microsoft. Usuń obiekt, którego nie używasz.

Znajdź identyfikator klienta tożsamości zarządzanej przy użyciu następującego polecenia interfejsu wiersza polecenia platformy Azure:

az identity list --resource-group <resource group name>

Aby uzyskać więcej informacji, zobacz az identity list.

Aby znaleźć klienta na potrzeby uwierzytelniania tożsamości zarządzanej w portalu, przejdź do pozycji Tożsamości zarządzane w witrynie Azure Portal i wybierz odpowiednią nazwę tożsamości. Skopiuj wartość identyfikatora klienta z okienka Przegląd tożsamości zarządzanej.

Zrzut ekranu przedstawiający identyfikator klienta w okienku przeglądu tożsamości zarządzanej.

Aby znaleźć identyfikator klienta aplikacji Microsoft Entra ID, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure (lub zobacz pierwszy krok we wcześniejszej sekcji Zdalne zapisywanie przy użyciu uwierzytelniania aplikacji Microsoft Entra):

$ az ad app list --display-name < application name>

Aby uzyskać więcej informacji, zobacz az ad app list.

Uwaga

Po zmodyfikowaniu pliku konfiguracji uruchom ponownie aplikację Prometheus, aby zastosować zmiany.

Sprawdź, czy dane zapisu zdalnego przepływają

Użyj następujących metod, aby sprawdzić, czy dane rozwiązania Prometheus są wysyłane do obszaru roboczego usługi Azure Monitor.

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

Aby sprawdzić, czy metryki przepływają do obszaru roboczego usługi Azure Monitor, w obszarze roboczym usługi Azure Monitor w witrynie Azure Portal wybierz pozycję Metryki. Użyj eksploratora metryk w języku Prometheus Query Language (PromQL), aby wykonać zapytanie dotyczące metryk, których oczekujesz od środowiska Prometheus zarządzanego przez siebie. Aby uzyskać więcej informacji, zobacz Eksplorator metryk usługi Azure Monitor z rozwiązaniem PromQL.

Eksplorator prometheus w obszarze roboczym usługi Azure Monitor

Eksplorator rozwiązania Prometheus zapewnia wygodny sposób interakcji z metrykami rozwiązania Prometheus w środowisku platformy Azure, dzięki czemu monitorowanie i rozwiązywanie problemów są wydajniejsze. Aby użyć eksploratora Rozwiązania Prometheus, przejdź do obszaru roboczego usługi Azure Monitor w witrynie Azure Portal i wybierz pozycję Prometheus Explorer. Następnie możesz wykonać zapytanie o metryki, których oczekujesz w środowisku Prometheus zarządzanym przez siebie.

Aby uzyskać więcej informacji, zobacz Query Prometheus metrics using Azure workbooks (Wykonywanie zapytań o metryki Prometheus przy użyciu skoroszytów platformy Azure).

Grafana

Użyj zapytań PromQL w narzędziu Grafana, aby sprawdzić, czy wyniki zwracają oczekiwane dane. Aby skonfigurować narzędzie Grafana, zobacz artykuł dotyczący konfigurowania narzędzia Grafana za pomocą zarządzanego rozwiązania Prometheus.

Rozwiązywanie problemów z zdalnym zapisem

Jeśli dane zdalne nie są wyświetlane w obszarze roboczym usługi Azure Monitor, zobacz Rozwiązywanie problemów z zapisem zdalnym w przypadku typowych problemów i rozwiązań.