Azure Monitor und Prometheus
Prometheus ist eine beliebte Open-Source-Lösung für Überwachung und Warnungen, die im cloudnativen Ökosystem weit verbreitet ist. Prometheus wird verwendet, um die Leistung der Infrastruktur und Workloads zu überwachen und Warnungen auszugeben und kommt häufig in Kubernetes-Umgebungen zum Einsatz.
Verwenden Sie Prometheus als verwalteten Azure-Dienst oder als selbstverwalteten Dienst zum Sammeln von Metriken. Prometheus-Metriken können von Ihren AKS-Clustern (Azure Kubernetes Service), Azure Arc-fähigen Kubernetes-Clustern, virtuellen Computern und VM-Skalierungsgruppen gesammelt werden.
Prometheus-Metriken werden in einem Azure Monitor-Arbeitsbereich gespeichert, in dem Sie die Daten mithilfe des Metrik-Explorers mit PromQL und Azure Managed Grafana analysieren und visualisieren können.
Wichtig
Die von Azure Monitor verwaltete und gehostete Prometheus-Software dient zum Speichern von Informationen zur Dienstintegrität von Kundencomputern und -anwendungen. Er ist nicht für das Speichern von Daten vorgesehen, die als personenbezogene Informationen (Personal Identifiable Information, PII) oder personenbezogene Endbenutzerinformationen (End-User Identifiable Information, EUII) klassifiziert sind. Es wird dringend empfohlen, keine vertraulichen Informationen (Benutzernamen, Kreditkartennummern usw.) an Felder (etwa Metriknamen, Beschriftungsnamen oder Bezeichnungswerte) des verwalteten Azure Monitor-Diensts für Prometheus zu senden.
Verwalteter Azure Monitor-Dienst für Prometheus
Der verwaltete Azure Monitor-Dienst für Prometheus ist eine Komponente von Azure Monitor-Metriken, die eine vollständig verwaltete und skalierbare Umgebung für die Ausführung von Prometheus bietet. Sie vereinfacht die Bereitstellung, Verwaltung und Skalierung von Prometheus in Azure Kubernetes Service, sodass Sie sich auf die Überwachung Ihrer Anwendungen und Infrastruktur konzentrieren können.
Als vollständig verwalteter Dienst stellt der verwaltete Azure Monitor-Dienst für Prometheus automatisch Prometheus in AKS oder Kubernetes mit ARC-Unterstützung bereit. Der Dienst bietet Hochverfügbarkeit, SLA-Garantien und automatische Softwareupdates. Der Dienst bietet einen hochgradig skalierbaren Metrikspeicher mit einer Datenaufbewahrung von bis zu 18 Monaten.
Der verwaltete Azure Monitor-Dienst für Prometheus bietet vorkonfigurierte Warnungen, Regeln und Dashboards. Mit empfohlenen Dashboards aus der Prometheus-Community und der nativen Grafana-Integration können Sie sofort eine umfassende Überwachung erzielen. Der Dienst lässt sich nativ in Azure Managed Grafana integrieren und kann auch mit einer selbstverwalteten Grafana-Instanz verwendet werden.
Die Preise basieren auf Erfassung und Abfrage ohne zusätzliche Speicherkosten. Weitere Informationen finden Sie unter Azure Monitor – Preise auf der Registerkarte Metriken.
Aktivieren des verwalteten Azure Monitor-Diensts für Prometheus
Der verwaltete Azure Monitor-Dienst für Prometheus erfasst Metriken aus Azure Kubernetes Services:
- Azure Kubernetes Service (AKS)
- Azure Arc-fähiges Kubernetes
Um den verwalteten Azure Monitor-Dienst für Prometheus zu aktivieren, müssen Sie einen Azure Monitor-Arbeitsbereich zum Speichern der Metriken erstellen. Sobald der Arbeitsbereich erstellt wurde, können Sie das Onboarding für Dienste durchführen, die Prometheus-Metriken sammeln.
- Informationen zum Sammeln von Prometheus-Metriken aus Ihrem Kubernetes-Cluster finden Sie unter Aktivieren der Überwachung für Kubernetes-Cluster.
- Informationen zum Konfigurieren des Remoteschreibzugriffs zum Sammeln von Daten von einem selbstverwalteten Prometheus-Server finden Sie unter Remoteschreibzugriff des verwalteten Azure Monitor-Diensts für Prometheus.
Wenden Sie sich an den Support, um den verwalteten Prometheus-Dienst für nicht verbundene Microsoft Azure-Clouds zu aktivieren.
In Azure gehostete selbstverwaltete Prometheus-Instanz
Zusätzlich zum verwalteten Dienst für Prometheus können Sie auch eine eigene Prometheus-Instanz und den Remoteschreibzugriff verwenden, um Metriken in einem Azure Monitor-Arbeitsbereich zu speichern.
Mithilfe des Remoteschreibzugriffs können Sie Daten von selbstverwalteten Prometheus-Servern sammeln, die in den folgenden Umgebungen ausgeführt werden:
- Virtuelle Azure-Computer
- Azure-VM-Skalierungsgruppen
- Server mit Arc-Unterstützung
- Selbstverwaltete in Azure gehostete oder Arc-fähige Kubernetes-Cluster
Selbstverwaltete Kubernetes-Dienste
Senden von Metriken aus selbstverwaltetem Prometheus auf Kubernetes-Clustern. Weitere Informationen zum Remoteschreibzugriff in Azure Monitor-Arbeitsbereiche für Kubernetes-Dienste finden Sie in den folgenden Artikeln:
- Senden von Prometheus-Daten von AKS an Azure Monitor unter Verwendung der Authentifizierung mit verwalteten Identitäten
- Senden von Prometheus-Daten von AKS an Azure Monitor mithilfe der Microsoft Entra ID-Authentifizierung
- Senden von Prometheus-Daten an Azure Monitor unter Verwendung der Authentifizierung mit podseitig verwalteter Microsoft Entra ID-Identität (Preview)
- Senden von Prometheus-Daten an Azure Monitor unter Verwendung der Authentifizierung mit Microsoft Entra ID Workload ID (Preview)
VMs und VM-Skalierungsgruppen
Senden von Daten aus selbstverwaltetem Prometheus auf VMs und VM-Skalierungsgruppen. Die virtuellen Computer können sich in einer von Azure verwalteten Umgebung oder lokal befinden. Weitere Informationen finden Sie unter Senden von Prometheus-Metriken von VMs an einen Azure Monitor-Arbeitsbereich.
Datenspeicher
Prometheus-Metriken werden in einem Azure Monitor-Arbeitsbereich gespeichert. Die Daten werden in einer Zeitreihendatenbank gespeichert, die mithilfe von PromQL (Prometheus Query Language, Prometheus-Abfragesprache) abgefragt werden kann. Sie können Daten aus verschiedenen Prometheus-Datenquellen in einem einzelnen Azure Monitor-Arbeitsbereich speichern. Weitere Informationen finden Sie in der Übersicht über Azure Monitor-Arbeitsbereiche.
Daten werden in Azure Monitor-Arbeitsbereichen 18 Monate lang aufbewahrt.
Abfragen und Analysieren von Prometheus-Metriken
Prometheus-Daten werden mithilfe der Prometheus-Abfragesprache (PromQL) abgerufen. Sie können eigene Abfragen schreiben, Abfragen aus Open Source-Community verwenden und Grafana-Dashboards verwenden, die PromQL-Abfragen enthalten. Weitere Informationen finden Sie im Prometheus-Projekt.
Die folgenden Azure-Dienste unterstützen das Abfragen von Prometheus-Metriken aus einem Azure Monitor-Arbeitsbereich:
- Azure Monitor-Metrik-Explorer mit PromQL
- Von Azure verwaltetes Grafana
- Azure Monitor-Arbeitsmappen
- Prometheus-Abfrage-APIs
Azure Monitor-Metrik-Explorer mit PromQL
Der Metrik-Explorer mit PromQL ermöglicht es Ihnen, Plattform- und Prometheus-Metriken zu analysieren und zu visualisieren. Der Metrik-Explorer unterstützt PromQL für Prometheus-Metriken. Der Metrik-Explorer mit PromQL (Vorschauversion) ist über das Menüelement Metriken des Azure Monitor-Arbeitsbereichs verfügbar, in dem Ihre Prometheus-Metriken gespeichert sind. Weitere Informationen finden Sie unter Metrik-Explorer mit PromQL.
Azure-Arbeitsmappen
Erstellen Sie Diagramme und Dashboards, die vom verwalteten Azure Monitor-Dienst für Prometheus unterstützt werden, mithilfe von Azure-Arbeitsmappen und PromQL-Abfragen. Weitere Informationen finden Sie unter Abfragen von Prometheus-Metriken mithilfe von Azure-Arbeitsmappen.
Grafana-Integration
Visualisieren Sie Prometheus-Metriken mithilfe von Azure Managed Grafana. Verbinden Sie Ihren Azure Monitor-Arbeitsbereich mit einem Grafana-Arbeitsbereich, um ihn als Datenquelle in einem Grafana-Dashboard verwenden zu können. Anschließend haben Sie Zugriff auf mehrere vordefinierte Dashboards, die Prometheus-Metriken verwenden, sowie die Möglichkeit, eine beliebige Anzahl benutzerdefinierter Dashboards zu erstellen. Weitere Informationen finden Sie unter Verknüpfen eines Grafana-Arbeitsbereichs mit einem Azure Monitor-Arbeitsbereich.
Prometheus-Abfrage-API
Verwenden Sie PromQL über die REST-API zum Abfragen von Prometheus-Metriken, die in einem Azure Monitor-Arbeitsbereich gespeichert sind. Weitere Informationen finden Sie unter Prometheus-Abfrage-API.
Regeln und Warnungen
Prometheus unterstützt Aufzeichnungsregeln und Warnungsregeln mithilfe von PromQL-Abfragen. Regeln und Warnungen werden vom verwalteten Azure Monitor-Dienst für Prometheus automatisch bereitgestellt. Von Aufzeichnungsregeln aufgezeichnete Metriken werden im Azure Monitor-Arbeitsbereich gespeichert und können von Dashboards oder von anderen Regeln abgefragt werden. Warnungsregeln und Aufzeichnungsregeln können mithilfe von Regelgruppen im verwalteten Azure-Dienst für Prometheus erstellt und verwaltet werden. Für Ihren AKS-Cluster wird eine Reihe vordefinierter Prometheus-Warnungsregeln und -Aufzeichnungsregeln bereitgestellt, um einen einfachen Schnellstart zu ermöglichen.
Warnungen, die von Warnungsregeln ausgelöst werden, können Aktionen oder Benachrichtigungen auslösen, wie in den Aktionsgruppen definiert, die für die Warnungsregel konfiguriert sind. Ausgelöste und aufgelöste Prometheus-Warnungen können auch zusammen mit anderen Warnungstypen im Azure-Portal angezeigt werden.
Dienstgrenzen und Kontingente
Der verwaltete Azure Monitor-Dienst für Prometheus verfügt über Standardgrenzwerte und Kontingente für die Erfassung. Wenn Sie das Erfassungslimit erreichen, kann eine Drosselung auftreten. Sie können eine Erhöhung dieser Grenzwerte anfordern. Informationen zu den Limits von Prometheus-Metriken finden Sie unter Azure Monitor-Dienstgrenzwerte.
Informationen zum Überwachen Ihrer Erfassungsmetriken und Ausgeben von Warnungen für diese finden Sie unter Überwachen der Erfassung von Metriken im Azure Monitor-Arbeitsbereich.
Einschränkungen/bekannte Probleme: verwalteter Azure Monitor-Dienst für Prometheus
- Die Mindestfrequenz für das Scraping und Speichern von Metriken beträgt 1 Sekunde.
- Bei Knotenupdates können in einigen Metriksammlungen aus unserem Collector auf Clusterebene Lücken auftreten, die 1 bis 2 Minuten dauern. Diese Lücke ist auf eine regelmäßige Aktion von Azure Kubernetes Service zurückzuführen, um die Knoten in Ihrem Cluster zu aktualisieren. Dieses Verhalten ist erwartet und tritt aufgrund der Aktualisierung des Knotens auf, bei dem er ausgeführt wird. Empfohlene Warnungsregeln sind von diesem Verhalten nicht betroffen.
- Die verwaltete Prometheus-Instanz für Windows-Knoten ist nicht automatisch aktiviert. Informationen zum Aktivieren der Überwachung für Windows-Knoten und -Pods in Ihren Cluster finden Sie unter Überwachen von Windows-Knoten und -Pods in Ihren Clustern.
Groß- und Kleinschreibung
Von Azure verwaltetes Prometheus ist ein System, bei dem die Groß-/Kleinschreibung nicht beachtet wird. Es behandelt Zeichenfolgen (z. B. Metriknamen, Bezeichnungsnamen oder Bezeichnungswerte) als die gleiche Zeitreihe, wenn sie sich von einer anderen Zeitreihe nur durch die Groß-/Kleinschreibung unterscheiden.
Hinweis
Dieses Verhalten unterscheidet sich vom nativem Open Source-Prometheus, bei dem die Groß-/Kleinschreibung beachtet wird.
Selbstverwaltete Prometheus-Instanzen, die auf Azure-VMs, in VMSSs oder Azure Kubernetes Service-Clustern (AKS) ausgeführt werden, sind Systeme mit Beachtung der Groß-/Kleinschreibung.
In von Azure verwaltetem Prometheus werden die folgenden Zeitreihen als identisch angesehen:
diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")
Die obigen Beispiele sind eine einzelne Zeitreihe in einer Zeitreihendatenbank.
- Alle Stichproben, die für sie erfasst wurden, werden so gespeichert, als ob sie mit einer einzigen Zeitreihe ausgelesen/erfasst würden.
- Wenn die obigen Beispiele mit dem gleichen Zeitstempel erfasst werden, wird eines von ihnen nach dem Zufallsprinzip verworfen.
- Die Groß-/Kleinschreibung, die in der Zeitreihendatenbank gespeichert und von einer Abfrage zurückgegeben wird, ist unvorhersehbar. Unterschiedliche Groß-/Kleinschreibungen können zu unterschiedlichen Zeiten für die gleiche Zeitreihe zurückgegeben werden.
- Jeder in der Abfrage vorhandene Metrikname oder Bezeichnungsnamen/Bezeichniswert-Matcher wird aus der Zeitreihendatenbank abgerufen, indem ein Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung durchgeführt wird. Wenn in einer Abfrage ein Matcher mit Berücksichtigung der Groß-/Kleinschreibung vorhanden ist, wird er beim Durchführen von Zeichenfolgenvergleichen automatisch als Matcher ohne Berücksichtigung der Groß-/Kleinschreibung behandelt.
Es empfiehlt sich, sicherzustellen, dass eine Zeitreihe mit einem einer einzelnen Groß-/Kleinschreibung erstellt oder ausgelesen wird.
In der Open Source-Lösung für Prometheus werden die obigen Zeitreihen als zwei verschiedene Zeitreihen behandelt. Alle Stichproben, die mit ihnen ausgelesen/erfasst werden, werden separat gespeichert.
Prometheus-Referenzen
Im Anschluss finden Sie Links zur Prometheus-Dokumentation:
- Abfragen von Prometheus
- Grafana-Unterstützung für Prometheus
- Definieren von Aufzeichnungsregeln
- Warnungsregeln
- Schreiben von Exportprogrammen
Nächste Schritte
- Aktivieren des verwalteten Azure Monitor-Dienst für Prometheus in Ihren Kubernetes-Clustern
- Senden von Prometheus-Metriken von VMs an einen Azure Monitor-Arbeitsbereich
- Konfigurieren von Prometheus-Regelgruppen für Warnungen und für die Erfassung
- Anpassen des Scrapings von Prometheus-Metriken
- Problembehandlung für die Prometheus-Metriksammlung