Freigeben über


Azure Monitor und Prometheus

Prometheus ist eine beliebte Open-Source-Lösung für Überwachung und Warnungen, die im cloudnativen Ökosystem weit verbreitet ist. Organisationen verwenden Prometheus, um die Leistung von Infrastruktur und Workloads zu überwachen und darüber zu benachrichtigen. Es wird häufig in Kubernetes-Umgebungen verwendet.

Sie können Prometheus als verwalteten Azure-Dienst oder als selbstverwalteten Dienst zum Sammeln von Metriken verwenden. 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. Sie können die Daten in einem Arbeitsbereich mithilfe des Metrik-Explorers mit Prometheus Query Language (PromQL) und Azure Managed Grafana analysieren und visualisieren.

Wichtig

Die Verwendung von Azure Monitor zum Verwalten und Hosten von Prometheus dient zum Speichern von Informationen über den Dienststatus von Kundencomputern und Anwendungen. Azure Monitor ist nicht für die Speicherung personenbezogener Daten vorgesehen. Es wird dringend empfohlen, keine vertraulichen Informationen (z. B. Benutzernamen und Kreditkartennummern) an Felder wie 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 AKS, 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 Azure Arc-Unterstützung bereit. Der Dienst bietet hohe Verfügbarkeit, eine Vereinbarung zum Servicelevel (SLA) und automatische Softwareupdates. Er bietet einen hochgradig skalierbaren Metrikspeicher, der Daten für bis zu 18 Monate aufbewahrt.

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 verwaltete Azure Monitor-Dienst für Prometheus ist in Azure Managed Grafana integriert und funktioniert auch mit selbstverwaltetem Grafana.

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 sammelt Daten von AKS und Azure Arc-fähigen Kubernetes.

Um den verwalteten Azure Monitor-Dienst für Prometheus zu aktivieren, müssen Sie einen Azure Monitor-Arbeitsbereich zum Speichern der Metriken erstellen. Anschließend können Sie Dienste integrieren, die Prometheus-Metriken sammeln:

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 Azure Arc-Unterstützung
  • Selbstverwaltete in Azure gehostete oder Azure 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:

Virtuelle Computer 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, Skalierungsgruppen oder Kubernetes-Clustern 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 abgefragt werden kann. Sie können Daten aus verschiedenen Prometheus-Datenquellen in einem einzelnen Azure Monitor-Arbeitsbereich speichern. Weitere Informationen finden Sie in der Architektur von Azure Monitor-Arbeitsbereichen.

Azure Monitor-Arbeitsbereiche speichern Daten für 18 Monate.

Abfragen und Analysieren von Prometheus-Metriken

Prometheus-Daten werden über 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 Abfragen von Prometheus auf der Prometheus-Website.

Die folgenden Azure-Dienste unterstützen das Abfragen von Prometheus-Metriken aus einem Azure Monitor-Arbeitsbereich:

Azure Monitor-Metriken-Explorer mit PromQL

Verwenden Sie den Metrik-Explorer mit PromQL (Vorschau), um Plattform- und Prometheus-Metriken zu analysieren und zu visualisieren. Der Metrik-Explorer mit PromQL ist über den Bereich Metriken des Azure Monitor-Arbeitsbereichs verfügbar, in dem Ihre Prometheus-Metriken gespeichert sind. Weitere Informationen finden Sie unter Metrik-Explorer von Azure Monitor mit PromQL.

Screenshot einer PromQL-Abfrage im Azure Monitor-Metrik-Explorer.

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, damit Sie ihn als Datenquelle in einem Grafana-Dashboard verwenden können. Anschließend haben Sie Zugriff auf mehrere vordefinierte Dashboards, die Prometheus-Metriken verwenden. Sie haben auch die Möglichkeit, eine beliebige Anzahl von benutzerdefinierten Dashboards zu erstellen. Weitere Informationen finden Sie unter Verknüpfen eines Grafana-Arbeitsbereichs.

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 Abfragen von Prometheus-Metriken mithilfe der API und PromQL.

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. Metriken, die von Aufzeichnungsregeln aufgezeichnet werden, werden im Azure Monitor-Arbeitsbereich gespeichert. Dashboards oder andere Regeln können dann die Metriken abfragen.

Sie können Warnungsregeln und Aufzeichnungsregeln erstellen und verwalten, indem Sie den verwalteten Azure Monitor-Dienst für Prometheus-Regelgruppen verwenden. Für Ihren AKS-Cluster können Sie schnell mit vordefinierten Prometheus-Warnungsregeln und Aufzeichnungsregeln beginnen.

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. Weitere Informationen finden Sie unter Azure Monitor-Diensteinschränkungen.

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

Die folgenden Einschränkungen gelten für den verwalteten 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 wirkt sich nicht auf empfohlene Warnungsregeln aus.
  • 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 Clustern finden Sie unter Aktivieren der Windows-Metriksammlung (Vorschau).

Groß- und Kleinschreibung

Der verwaltete Azure Monitor-Dienst für Prometheus ist ein System ohne Groß-/Kleinschreibung. 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 virtuellen Azure-Computern, VM-Skalierungsgruppen oder Azure Kubernetes Service-Clustern ausgeführt werden, sind Systeme, die die Groß-/Kleinschreibung beachten.

Im verwalteten Dienst für 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 vorstehenden Beispiele sind eine einzelne Zeitreihe in einer Zeitreihendatenbank. Es gelten die folgenden Bedingungen:

  • Alle Stichproben, die für sie erfasst wurden, werden so gespeichert, als ob sie mit einer einzigen Zeitreihe ausgelesen oder erfasst würden.
  • Wenn die vorstehenden 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. Die gleiche Zeitreihe gibt möglicherweise unterschiedliche Groß-/Kleinschreibungen zu unterschiedlichen Zeiten zurück.
  • Jeder in der Abfrage vorhandene Metrikname oder Bezeichnungsnamen/Bezeichnungswert-Matcher wird aus der Zeitreihendatenbank durch einen Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung abgerufen. 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, einen einzigen konsistenten Fall zu verwenden, um eine Zeitreihe zu erzeugen oder auszulesen.

Open-Source Prometheus behandelt die vorherigen Beispiele als zwei verschiedene Zeitreihen. Alle Stichproben, die mit ihnen ausgelesen oder erfasst werden, werden separat gespeichert.

Prometheus-Referenzen

Im Folgenden finden Sie Links zur Prometheus-Dokumentation: