Verwalteter Azure Monitor-Dienst für Prometheus-Remoteschreibzugriff
Der verwaltete Azure Monitor-Dienst für Prometheus soll ein Ersatz für selbst verwaltetes Prometheus sein, sodass Sie keinen Prometheus-Server in Ihren Kubernetes-Clustern verwalten müssen. Sie können auch den verwalteten Dienst verwenden, um Daten aus selbstverwalteten Prometheus-Clustern für eine langfristige Datenaufbewahrung zu zentralisieren und eine Ihre Cluster übergreifende zentrale Ansicht zu erstellen. In diesem Fall können Sie Daten mithilfe von remote_write aus Ihrer selbst verwalteten Prometheus-Instanz an den verwalteten Azure-Dienst senden.
Aufbau
Sie können Prometheus, das auf Ihrem Kubernetes-Cluster ausgeführt wird, so konfigurieren, dass remote in Azure Monitor Workspace geschrieben wird. Derzeit sind benutzerseitig zugewiesene verwaltete Identitäten oder die Microsoft Entra ID-Anwendung die unterstützten Authentifizierungstypen für die Prometheus-Remoteschreibkonfiguration zum Erfassen von Metriken in Azure Monitor Workspace.
Azure Monitor bietet auch einen Reverseproxycontainer (Azure Monitor-Sidecarcontainer), der eine Abstraktion für die Erfassung von Prometheus-Remoteschreibmetriken bereitstellt und bei der Authentifizierung von Paketen hilft.
Es wird empfohlen, das Remoteschreiben direkt in Ihrer selbstverwalteten Prometheus-Konfiguration zu konfigurieren, die in Ihrer Umgebung ausgeführt wird. Der Azure Monitor-Sidecarcontainer kann verwendet werden, falls Ihre bevorzugte Authentifizierung nicht über die direkte Konfiguration unterstützt wird.
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.
Konfigurieren des Remoteschreibzugriffs
Das Konfigurieren des Remoteschreibzugriffs hängt von Ihrer Clusterkonfiguration und dem Typ der verwendeten Authentifizierung ab.
- Die verwaltete Identität wird für Azure Kubernetes Service (AKS) und Azure Arc-fähige Kubernetes-Cluster empfohlen.
- Microsoft Entra ID kann für Azure Kubernetes Service (AKS) und Azure Arc-fähige Kubernetes-Cluster verwendet werden und ist für Kubernetes-Cluster erforderlich, die in einer anderen Cloud oder lokal ausgeführt werden.
Weitere Informationen zum Konfigurieren des Remoteschreibvorgangs für die vom Benutzer zugewiesene verwaltete Identität und die Microsoft Entra ID-Anwendung finden Sie unter Konfigurieren des Remoteschreibzugriffs auf Kubernetes für den Prometheus-Operator. Diese Option kann für selbstverwaltetes Prometheus verwendet werden, das in einer beliebigen Umgebung ausgeführt wird.
Remoteschreibvorgänge für Prometheus auf Kubernetes-Clustern können auch mit einem Sidecar-Container konfiguriert werden. Weitere Informationen zum Konfigurieren von Remoteschreibvorgängen für Kubernetes-Cluster mithilfe eines Sidecar-Containers finden Sie in den folgenden Artikeln.
- Senden von Prometheus-Daten von AKS an Azure Monitor unter Verwendung eines Sidecarcontainers mit Authentifizierung über eine verwaltete Identität
- Senden von Prometheus-Daten von AKS an Azure Monitor unter Verwendung eines Sidecarcontainers mit Authentifizierung über Microsoft Entra ID
- Senden von Prometheus-Daten an Azure Monitor unter Verwendung eines Sidecarcontainers mit Authentifizierung über Microsoft Entra ID Workload ID
Remoteschreibzugriff von Azure Virtual Machines und VM-Skalierungsgruppen
Sie können Prometheus-Daten von virtuellen Computern und Skalierungssätzen für virtuelle Computer mithilfe von Remoteschreibvorgängen an Azure Monitor-Arbeitsbereiche senden. Die Server können von Azure oder in einer anderen Umgebung verwaltet werden. Weitere Informationen finden Sie unter Senden von Prometheus-Metriken von VMs an einen Azure Monitor-Arbeitsbereich.
Überprüfen, ob der Remoteschreibvorgang ordnungsgemäß funktioniert
Verwenden Sie die folgenden Methoden, um zu überprüfen, ob Prometheus-Daten an Ihren Azure Monitor-Arbeitsbereich gesendet werden.
Kubectl-Befehle
Verwenden Sie den folgenden Befehl, um Protokolle aus dem Containerprotokoll anzuzeigen. Daten des Remoteschreibzugriffs werden übertragen, wenn die Ausgabe Werte ungleich 0 (null) für avgBytesPerRequest
und avgRequestDuration
enthält.
kubectl logs <Prometheus-Pod-Name> <Azure-Monitor-Side-Car-Container-Name> --namespace <namespace-where-Prometheus-is-running>
# example: kubectl logs prometheus-prometheus-kube-prometheus-prometheus-0 prom-remotewrite --namespace monitoring
Die Ausgabe dieses Befehls hat das folgende Format:
time="2022-11-02T21:32:59Z" level=info msg="Metric packets published in last 1 minute" avgBytesPerRequest=19713 avgRequestDurationInSec=0.023 failedPublishing=0 successfullyPublished=122
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, und überprüfen Sie, ob die Ergebnisse erwartete Daten zurückgeben. Weitere Informationen zum Konfigurieren von Grafana für von Azure verwalteten Dienst für Prometheus finden Sie unter Verwenden des verwalteten Azure Monitor-Diensts für Prometheus als Datenquelle für Grafana mithilfe einer verwalteten Systemidentität.
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.