Share via


Senden von Prometheus-Metriken von Virtual Machines 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. 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.

Azure-verwaltete Virtual Machines und Virtual Machine Scale Sets

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 Arc-fähige Virtual Machines

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

VMs, die in Nicht-Azure-Umgebungen ausgeführt werden.

Durch das Onboarding in Azure Arc-fähige Dienste können Sie Nicht-Azure-VMs in Azure verwalten und konfigurieren. Konfigurieren Sie nach dem Onboarding die Authentifizierung für Remote-write mithilfe der benutzerseitig zugewiesenen verwalteten Identität. Weitere Informationen zum Onboarding von Virtual Machines in Azure Arc-fähige Server finden Sie unter Azure Arc-fähige Server.

Wenn Sie über VMs in Nicht-Azure-Umgebungen verfügen und kein Onboarding in Azure Arc durchführen möchten, installieren Sie selbstverwaltete Prometheus, und konfigurieren Sie remote-write mithilfe der Microsoft Entra ID-Anwendungsauthentifizierung. Weitere Informationen finden Sie unter Remote-write mithilfe der 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

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 der verwalteten Identität die Rolle Monitoring Metrics Publisher in der Datensammlungsregel des Arbeitsbereichs 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.

Weisen Sie die verwaltete Identität einer VM oder einer VM-Skalierungsgruppe zu.

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.

    Ein Screenshot zeigt die Seite „Hinzufügen einer benutzerseitig zugewiesenen verwalteten Identität“.

Konfigurieren des Remoteschreibzugriffs

Remote-write ist in der Prometheus-Konfigurationsdatei prometheus.yml 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 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