Freigeben über


Senden von Prometheus-Metriken von VMs, Skalierungsgruppen oder Kubernetes-Clustern an einen Azure Monitor-Arbeitsbereich

Prometheus ist nicht auf die Überwachung von Kubernetes-Clustern beschränkt. Verwenden Sie Prometheus, um Anwendungen und Dienste zu überwachen, die auf Ihren Servern ausgeführt werden, unabhängig davon, wo sie ausgeführt werden. Beispielsweise können Sie Anwendungen überwachen, die auf Virtual Machines, Virtual Machine Scale Sets oder sogar auf lokalen Servern ausgeführt werden. Sie können Prometheus-Metriken auch von Ihrem selbstverwalteten Cluster und Prometheus-Server an einen Azure Monitor-Arbeitsbereich senden. Installieren Sie Prometheus auf Ihren Servern, und konfigurieren Sie remote-write, um Metriken an einen Azure Monitor-Arbeitsbereich zu senden.

In diesem Artikel wird erläutert, wie Sie remote-write zum Senden von Daten aus einer selbstverwalteten Prometheus-Instanz an einen Azure Monitor-Arbeitsbereich konfigurieren.

Optionen für remote-write

Selbstverwaltetes Prometheus kann in Azure- und Nicht-Azure-Umgebungen ausgeführt werden. Im Folgenden finden Sie Authentifizierungsoptionen für remote-write zum Azure Monitor-Arbeitsbereich basierend auf der Umgebung, in der Prometheus ausgeführt wird.

Von Azure verwaltete Virtual Machines-Instanzen, Virtual Machine Scale Sets und Kubernetes-Cluster

Verwenden Sie die Authentifizierung mit der benutzerseitig zugewiesenen verwalteten Identität für Dienste, die selbstverwaltetes Prometheus in einer Azure-Umgebung ausführen. Zu den verwalteten Azure-Diensten gehören:

  • Azure Virtual Machines
  • Azure Virtual Machine Scale Sets
  • Azure Kubernetes Service (AKS)

Informationen zum Einrichten des Remoteschreibzugriffs für von Azure verwaltete Ressourcen finden Sie unter Remote-write mithilfe der benutzerseitig zugewiesenen verwalteten Identität.

VMs und Kubernetes-Cluster, die in Nicht-Azure-Umgebungen ausgeführt werden

Wenn Sie über VMs oder einen Kubernetes-Cluster in Nicht-Azure-Umgebungen verfügen oder ein Onboarding in Azure Arc durchgeführt haben, installieren Sie eine selbstverwaltete Prometheus-Instanz, und konfigurieren Sie den Remoteschreibzugriff (remote-write) mithilfe der Microsoft Entra ID-Anwendungsauthentifizierung. Weitere Informationen finden Sie unter Remote-write mithilfe der Microsoft Entra ID-Anwendungsauthentifizierung.

Durch das Onboarding in Azure Arc-fähige Dienste können Sie Nicht-Azure-VMs in Azure verwalten und konfigurieren. Weitere Informationen zum Onboarding von Virtual Machines in Azure Arc-fähige Server finden Sie unter Azure Arc-fähige Server und Kubernetes mit Azure Arc-Unterstützung. Arc-fähige Dienste unterstützen nur die Microsoft Entra ID-Authentifizierung.

Hinweis

Eine systemseitig zugewiesene verwaltete Identität wird für Remoteschreibzugriff in Azure Monitor-Arbeitsbereichen nicht unterstützt. Verwenden Sie die Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität oder Microsoft Entra ID-Anwendungsauthentifizierung.

Voraussetzungen

Unterstützte Versionen

  • Prometheus-Versionen größer als v2.45 sind für die Authentifizierung mit der verwalteten Identität erforderlich.
  • Für die Microsoft Entra ID-Anwendungsauthentifizierung sind Prometheus-Versionen größer als v2.48 erforderlich.

Azure Monitor-Arbeitsbereich

Dieser Artikel behandelt das Senden von Prometheus-Metriken an einen Azure Monitor-Arbeitsbereich. Informationen zum Erstellen eines Azure Monitor-Arbeitsbereichs finden Sie unter Verwalten eines Azure Monitor-Arbeitsbereichs.

Berechtigungen

Zum Ausführen der Schritte in diesem Artikel sind Administratorberechtigungen für den Cluster oder die Ressource erforderlich.

Einrichten der Authentifizierung für remote-write

Abhängig von der Umgebung, in der Prometheus ausgeführt wird, können Sie remote-write so konfigurieren, dass die benutzerseitig zugewiesene verwaltete Identität oder die Microsoft Entra ID-Anwendungsauthentifizierung zum Senden von Daten an den Azure Monitor-Arbeitsbereich verwendet wird.

Verwenden Sie das Azure-Portal oder die Befehlszeilenschnittstelle, um eine benutzerseitig zugewiesene verwaltete Identität oder Microsoft Entra ID-Anwendung zu erstellen.

Remote-write mithilfe der Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität

Die Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität kann in jeder von Azure verwalteten Umgebung verwendet werden. Wenn Ihr Prometheus-Dienst in einer Nicht-Azure-Umgebung ausgeführt wird, können Sie die Microsoft Entra ID-Anwendungsauthentifizierung verwenden.

Führen Sie die folgenden Schritte aus, um eine benutzerseitig zugewiesene verwaltete Identität für remote-write in den Azure Monitor-Arbeitsbereich zu konfigurieren.

Erstellen einer benutzerseitig zugewiesenen verwalteten Identität

Informationen zum Erstellen einer benutzerseitig verwalteten Identität, die in Ihrer remote-write-Konfiguration verwendet werden soll, finden Sie unter Verwalten von benutzerseitig zugewiesenen verwalteten Identitäten.

Notieren Sie sich den Wert der clientId der verwalteten Identität, die Sie erstellt haben. Diese ID wird in der remote-write-Konfiguration in Prometheus verwendet.

Zuweisen der Rolle „Überwachen der Metriken-Herausgeber“ an die Anwendung

Weisen Sie in der Datensammlungsregel des Arbeitsbereichs der verwalteten Identität die Rolle Monitoring Metrics Publisher zu.

  1. Wählen Sie auf der Übersicht des Azure Monitor-Arbeitsbereichs den Link Datensammlungsregel aus.

    Ein Screenshot zeigt den Link zur Datensammlungsregel auf einer Azure Monitor-Arbeitsbereichsseite.

  2. Wählen Sie auf der Seite „Datensammlungsregel“ die Option Zugriffssteuerung (IAM)aus.

  3. Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus. Ein Screenshot zeigt die Datensammlungsregel.

  4. Suchen Sie nach Überwachungsmetriken-Herausgeber, wählen Sie dies aus, und wählen Sie dann Weiter aus. Ein Screenshot zeigt das Menüs „Rollenzuweisung“ für eine Datensammlungsregel.

  5. Wählen Sie Verwaltete Identität aus.

  6. Wählen Sie Mitglieder auswählen aus.

  7. Wählen Sie im Dropdownmenü Verwaltete Entität die Option benutzerseitig zugewiesene verwaltete Identität aus.

  8. Wählen Sie die benutzerseitig zugewiesene Identität aus, die Sie verwenden möchten, und klicken Sie dann auf Auswählen.

  9. Wählen Sie Überprüfen und zuweisen, um die Rollenzuweisung abzuschließen.

    Ein Screenshot zeigt das Menü „Mitglieder auswählen“ für eine Datensammlungsregel.

Zuweisen der verwalteten Identität zu einer VM oder einer VM-Skalierungsgruppe

Wichtig

Um die Schritte in diesem Abschnitt abzuschließen, müssen Sie über Berechtigungen als Besitzer- oder Benutzerzugriffsadministrator für die VM oder die VM-Skalierungsgruppe verfügen.

  1. Wechseln Sie im Azure-Portal zur Seite Cluster, VM oder VM-Skalierungsgruppe.

  2. Wählen Sie Identität aus.

  3. Wählen Sie Benutzerseitig zugewiesen aus.

  4. Wählen Sie Hinzufügen aus.

  5. Wählen Sie die von Ihnen erstellte benutzerseitig zugewiesene verwaltete Identität und dann Hinzufügen aus.

    Screenshot: Seite „Hinzufügen einer benutzerseitig zugewiesenen verwalteten Identität“

Zuweisen der verwalteten Identität für Azure Kubernetes Service

Für Azure Kubernetes Service (AKS) muss die verwaltete Identität den VM-Skalierungsgruppen zugewiesen werden.

AKS erstellt eine Ressourcengruppe, die die VM-Skalierungsgruppe enthält. Der Name der Ressourcengruppe hat das Format MC_<resource group name>_<AKS cluster name>_<region>. Weisen Sie für jede VM-Skalierungsgruppe in der Ressourcengruppe die verwaltete Identität gemäß den Schritten im vorherigen Abschnitt (Zuweisen der verwalteten Identität zu einer VM oder einer VM-Skalierungsgruppe) zu.

Konfigurieren des Remoteschreibzugriffs

Remoteschreibzugriff wird in der Prometheus-Konfigurationsdatei prometheus.ymloder im Prometheus-Operator konfiguriert.

Weitere Informationen zum Konfigurieren von remote-write finden Sie im Prometheus.io-Artikel: Konfiguration. Weitere Informationen zum Optimieren der remote-write-Konfiguration finden Sie unter remote-write-Optimierung.

Um Daten an Ihren Azure Monitor-Arbeitsbereich zu senden, fügen Sie den folgenden Abschnitt zur Konfigurationsdatei (prometheus.yml) Ihrer selbstverwalteten Prometheus-Instanz hinzu.

remote_write:   
  - url: "<metrics ingestion endpoint for your Azure Monitor workspace>"
# AzureAD 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>"

Der url-Parameter gibt den Endpunkt für die Erfassung von Metriken des Azure Monitor-Arbeitsbereichs an. Sie finden ihn auf der Übersicht Ihres Azure Monitor-Arbeitsbereichs im Azure-Portal.

Ein Screenshot zeigt den Endpunkt für die Erfassung von Metriken für einen Azure Monitor-Arbeitsbereich.

Verwenden Sie je nach Ihrer Implementierung entweder managed_identity, oder oauth für Microsoft Entra ID-Anwendungsauthentifizierung. Entfernen Sie das Objekt, das Sie nicht verwenden.

Suchen Sie Ihre Client-ID für die verwaltete Identität mithilfe des folgenden Azure CLI-Befehls:

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

Weitere Informationen finden Sie unter az identity list.

Um Ihren Client für die Authentifizierung mit der verwalteten Identität im Portal zu finden, wechseln Sie zur Seite Verwaltete Identitäten im Azure-Portal, und wählen Sie den relevanten Identitätsnamen aus. Kopieren Sie den Wert der Client-ID auf der Seite Identitätsübersicht.

Ein Screenshot zeigt die Client-ID auf der Seite „Identitätsübersicht“.

Um die Client-ID für die Microsoft Entra-ID-Anwendung zu finden, verwenden Sie die folgende CLI, oder sehen Sie sich den ersten Schritt im Abschnitt Erstellen einer Microsoft Entra ID-Anwendung mithilfe des Azure-Portals an.

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

Weitere Informationen finden Sie unter az add app list.

Hinweis

Starten Sie nach dem Bearbeiten der Konfigurationsdatei Prometheus neu, damit die Änderungen angewendet werden.

Überprüfen, ob remote-write-Daten fließen

Verwenden Sie die folgenden Methoden, um zu überprüfen, ob Prometheus-Daten an Ihren Azure Monitor-Arbeitsbereich gesendet werden.

Azure Monitor-Metriken-Explorer mit PromQL

Um zu überprüfen, ob die Metriken in den Azure Monitor-Arbeitsbereich fließen, wählen Sie in Ihrem Azure Monitor-Arbeitsbereich im Azure-Portal Metriken aus. Verwenden Sie den Metriken-Explorer, um die Metriken abzufragen, die Sie von der selbstverwalteten Prometheus-Umgebung erwarten. Weitere Informationen finden Sie im Metriken-Explorer.

Prometheus-Explorer im Azure Monitor-Arbeitsbereich

Der Prometheus-Explorer bietet eine bequeme Möglichkeit, mit Prometheus-Metriken in Ihrer Azure-Umgebung zu interagieren, wodurch Überwachung und Problembehandlung effizienter werden. Um den Prometheus-Explorer zu verwenden, wechseln Sie im Azure-Portal zum Azure Monitor-Arbeitsbereich, und wählen Sie Prometheus-Explorer aus, um die Metriken abzufragen, die Sie von der selbstverwalteten Prometheus-Umgebung erwarten. Weitere Informationen finden Sie unter Prometheus-Explorer.

Grafana

Verwenden Sie PromQL-Abfragen in Grafana, um zu überprüfen, ob die Ergebnisse die erwarteten Daten zurückgeben. Weitere Informationen zum Konfigurieren von Grafana finden Sie unter Grafana-Einrichtung mit verwalteter Prometheus-Instanz.

Problembehandlung beim Remoteschreibzugriff

Wenn Remotedaten in Ihrem Azure Monitor-Arbeitsbereich nicht angezeigt werden, lesen Sie Problembehandlung für remote-write für häufige Probleme und Lösungen.

Nächste Schritte