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 einer benutzerseitig zugewiesenen verwalteten Identität
- Microsoft Entra ID-Anwendung
- BEFEHLSZEILENSCHNITTSTELLE (CLI)
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.
Wählen Sie auf der Übersicht des Azure Monitor-Arbeitsbereichs den Link Datensammlungsregel aus.
Wählen Sie auf der Seite „Datensammlungsregel“ die Option Zugriffssteuerung (IAM)aus.
Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus.
Suchen Sie nach Überwachungsmetriken-Herausgeber, wählen Sie dies aus, und wählen Sie dann Weiter aus.
Wählen Sie Verwaltete Identität aus.
Wählen Sie Mitglieder auswählen aus.
Wählen Sie im Dropdownmenü Verwaltete Entität die Option benutzerseitig zugewiesene verwaltete Identität aus.
Wählen Sie die benutzerseitig zugewiesene Identität aus, die Sie verwenden möchten, und klicken Sie dann auf Auswählen.
Wählen Sie Überprüfen und zuweisen, um die Rollenzuweisung abzuschließen.
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.
Wechseln Sie im Azure-Portal zur Seite Cluster, VM oder VM-Skalierungsgruppe.
Wählen Sie Identität aus.
Wählen Sie Benutzerseitig zugewiesen aus.
Wählen Sie Hinzufügen aus.
Wählen Sie die von Ihnen erstellte benutzerseitig zugewiesene verwaltete Identität und dann Hinzufügen aus.
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.yml
oder 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.
- Konfigurieren des Remoteschreibzugriffs für Prometheus bei Ausführung auf virtuellen Computern
- Konfigurieren des Remoteschreibzugriffs auf Kubernetes für den Prometheus-Operator
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.
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.
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.