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, VM-Skalierungsgruppen 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.
In diesem Artikel wird erläutert, wie Sie Remoteschreibvorgänge zum Senden von Daten aus einer selbstverwalteten Prometheus-Instanz an einen Azure Monitor-Arbeitsbereich konfigurieren.
Optionen für Remoteschreibvorgänge
Selbstverwaltetes Prometheus kann in Azure- und Nicht-Azure-Umgebungen ausgeführt werden. Im Folgenden finden Sie Authentifizierungsoptionen für Remoteschreibvorgänge zu einem Azure Monitor-Arbeitsbereich basierend auf der Umgebung, in der Prometheus ausgeführt wird.
Von Azure verwaltete VM-Instanzen, VM-Skalierungsgruppen 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 von Remoteschreibvorgängen für von Azure verwaltete Ressourcen finden Sie unter Remoteschreibvorgänge mithilfe der Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität weiter unten in diesem Artikel.
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 Remoteschreibvorgänge mithilfe der Microsoft Entra-Anwendungsauthentifizierung. Weitere Informationen finden Sie unter Remoteschreibvorgänge mithilfe der Microsoft Entra-Anwendungsauthentifizierung weiter unten in diesem Artikel.
Durch das Onboarding in Azure Arc-fähige Server können Sie Nicht-Azure-VMs in Azure verwalten und konfigurieren. Weitere Informationen finden Sie unter Server mit Azure Arc-Unterstützung und Kubernetes mit Azure Arc-Unterstützung. Server mit Azure Arc-Unterstützung unterstützen nur die Authentifizierung mit Microsoft Entra.
Hinweis
Systemseitig zugewiesene verwaltete Identitäten werden für Remoteschreibvorgänge in Azure Monitor-Arbeitsbereichen nicht unterstützt. Verwenden Sie die Authentifizierung mit einer benutzerseitig zugewiesenen verwalteten Identität oder Microsoft Entra-Anwendungsauthentifizierung.
Voraussetzungen
Unterstützte Versionen
- Prometheus-Versionen nach 2.2.45 sind für die Authentifizierung mit der verwalteten Identität erforderlich.
- Für die Microsoft Entra-Anwendungsauthentifizierung sind Prometheus-Versionen nach 2.2.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 Remoteschreibvorgänge
Abhängig von der Umgebung, in der Prometheus ausgeführt wird, können Sie Remoteschreibvorgänge so konfigurieren, dass eine benutzerseitig zugewiesene verwaltete Identität oder die Microsoft Entra-Anwendungsauthentifizierung zum Senden von Daten an einen Azure Monitor-Arbeitsbereich verwendet wird.
Verwenden Sie das Azure-Portal oder die Azure CLI, um eine benutzerseitig zugewiesene verwaltete Identität oder Microsoft Entra-Anwendung zu erstellen.
- Remoteschreibvorgänge mithilfe einer benutzerseitig zugewiesenen verwalteten Identität
- Microsoft Entra ID-Anwendung
- Azure-Befehlszeilenschnittstelle
Remoteschreibvorgänge 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-Anwendungsauthentifizierung verwenden.
Führen Sie die folgenden Schritte aus, um eine benutzerseitig zugewiesene verwaltete Identität für Remoteschreibvorgänge in einen Azure Monitor-Arbeitsbereich zu konfigurieren.
Erstellen einer benutzerseitig zugewiesenen verwalteten Identität
Informationen zum Erstellen einer benutzerseitig verwalteten Identität, die in der Konfiguration Ihrer Remoteschreibvorgänge 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 in der Datensammelregel des Arbeitsbereichs die Rolle Herausgeber von Überwachungsmetriken zu:
Wählen Sie auf der Übersicht des Azure Monitor-Arbeitsbereichs den Link Datensammlungsregel aus.
Wählen Sie auf der Seite für die Datensammlungsregel Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen.
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 in der Dropdownliste Verwaltete Identität Benutzerseitig zugewiesene verwaltete Identität aus.
Wählen Sie die vom Benutzer zugewiesene Identität aus, die Sie verwenden möchten, und wählen Sie dann Auswählen aus.
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.
Gehen Sie im Azure-Portal auf die Seite für die Skalierungsgruppe des Clusters, der VM oder der VM-Skalierungsgruppe.
Wählen Sie Identität aus.
Wählen Sie Benutzerseitig zugewiesen aus.
Wählen Sie Hinzufügen.
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 muss die verwaltete Identität 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
Remoteschreibvorgänge werden in der Prometheus-Konfigurationsdatei prometheus.yml
oder in Prometheus-Operator konfiguriert.
Weitere Informationen zum Konfigurieren von Remoteschreibvorgängen finden Sie im Prometheus.io-Artikel: Konfiguration. Weitere Informationen zum Optimieren der Konfiguration von Remoteschreibvorgängen finden Sie unter Optimierung von Remoteschreibvorgängen.
- Konfigurieren von Remoteschreibvorgängen für Prometheus bei Ausführung auf VMs
- Konfigurieren von Remoteschreibvorgängen auf Kubernetes für 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>"
# 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>"
Der url
-Parameter gibt den Endpunkt für die Erfassung von Metriken des Azure Monitor-Arbeitsbereichs an. Sie finden Sie im Übersichtsbereich Ihres Azure Monitor-Arbeitsbereichs im Azure-Portal.
Verwenden Sie je nach Ihrer Implementierung entweder managed_identity
, oder oauth
für Microsoft Entra-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 zu 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 Übersicht für die verwaltete Identität.
Um die Client-ID für die Microsoft Entra-ID-Anwendung zu finden, verwenden Sie den folgenden Befehl für die Azure CLI (oder sehen Sie sich den ersten Schritt im vorherigen Abschnitt Remoteschreibvorgänge mithilfe der Microsoft Entra-Anwendungsauthentifizierung an):
$ az ad app list --display-name < application name>
Weitere Informationen finden Sie unter az add app list.
Hinweis
Nachdem Sie die Konfigurationsdatei bearbeitet haben, starten Sie Prometheus neu, um die Änderungen zu übernehmen.
Überprüfen, ob Daten für Remoteschreibvorgänge 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 Metrik-Explorer mit PromQL (Prometheus Query Language), um die Metriken abzufragen, die Sie von der selbstverwalteten Prometheus-Umgebung erwarten. Weitere Informationen finden Sie unter Metrik-Explorer von Azure Monitor mit PromQL.
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, gehen Sie zu Ihrem Azure Monitor-Arbeitsbereich im Azure-Portal und wählen Sie Prometheus-Explorer aus. Dann können Sie Metriken abfragen, die Sie von der selbstverwalteten Prometheus-Umgebung erwarten.
Weitere Informationen finden Sie unter Abfragen von Prometheus-Metriken mithilfe von Azure-Arbeitsmappen.
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 im Artikel darüber, wie Sie Grafana mit verwalteter Prometheus-Instanz einrichten.
Problembehandlung beim Remoteschreibzugriff
Wenn Remotedaten in Ihrem Azure Monitor-Arbeitsbereich nicht angezeigt werden, finden Sie unter Problembehandlung für Remoteschreibvorgänge Informationen zu häufig auftretenden Probleme und Lösungen dafür.