Google Cloud Managed Service for Prometheus ist die vollständig verwaltete, projektübergreifende Multi-Cloud-Lösung von Google Cloudfür Prometheus- und OpenTelemetry-Messwerte. Damit können Sie Ihre Arbeitslasten global mit Prometheus und OpenTelemetry überwachen und melden, ohne Prometheus manuell in großem Umfang verwalten und betreiben zu müssen.
Managed Service for Prometheus erfasst Messwerte von Prometheus-Exportern und ermöglicht Ihnen eine globale Abfrage der Daten mit PromQL. Das bedeutet, dass Sie weiterhin alle vorhandenen Grafana-Dashboards, PromQL-basierte Benachrichtigungen und Workflows verwenden können. Es ist hybrid- und Multi-Cloud-kompatibel, kann Kubernetes, VMs und serverlose Arbeitslasten in Cloud Run überwachen, speichert Daten 24 Monate und sorgt für Portabilität, indem sie mit dem vorgelagerten Prometheus kompatibel bleibt. eine Außerdem können Sie Ihr Prometheus-Monitoring ergänzen, indem Sie in PromQL über 6.500 kostenlose Messwerte in Cloud Monitoring abfragen, einschließlich kostenloser GKE-Systemmesswerte.
Dieses Dokument bietet einen Überblick über den verwalteten Dienst. In weiteren Dokumenten wird beschrieben, wie Sie den Dienst einrichten und ausführen. Reichen Sie das optionale Anmeldeformular ein, um regelmäßige Updates zu neuen Funktionen und Versionen zu erhalten.
Erfahren Sie, wie The Home Depot mit Managed Service for Prometheus eine einheitliche Beobachtbarkeit für 2.200 Speicher bereitstellt, die lokal auf Kubernetes-Clustern ausgeführt werden:
Übersicht über das System
Google Cloud Managed Service for Prometheus bietet Ihnen eine vertraute Funktionsweise von Prometheus, die von der globalen, Multi-Cloud- und projektübergreifenden Infrastruktur von Cloud Monitoring unterstützt wird.
Managed Service for Prometheus basiert auf Monarch, dem gleichen global skalierbaren Datenspeicher, der auch für das eigene Monitoring von Google verwendet wird. Da Managed Service for Prometheus dasselbe Back-End und dieselben APIs wie Cloud Monitoring verwendet, können sowohl Cloud Monitoring-Messwerte als auch von Managed Service for Prometheus aufgenommene Messwerte mit PromQL in Cloud Monitoring, Grafana oder jedem anderen Tool, das die Prometheus API lesen kann, abgefragt werden.
In einer Prometheus-Standardbereitstellung werden die Datenerfassung, die Abfrageauswertung, die Regel- und Benachrichtigungsbewertung und die Datenspeicherung über einen einzigen Prometheus-Server abgewickelt. Managed Service for Prometheus teilt die Aufgaben für diese Funktionen in mehrere Komponenten auf:
- Die Datenerfassung erfolgt über verwaltete Collectors, selbst bereitgestellte Collectors, den OpenTelemetry Collector oder den Ops-Agent, die Daten aus lokalen Exporteuren extrahieren und an Monarch weiterleiten. Diese Collectors können für Kubernetes-, serverlose und herkömmliche VM-Arbeitslasten verwendet werden und können überall ausgeführt werden, einschließlich anderer Clouds und lokaler Bereitstellungen.
- Die Auswertung von Abfragen erfolgt durch Monarch, das Abfragen und Union-Ergebnisse in allen Google Cloud-Regionen und in bis zu 3.500 Google Cloud -Projekten ausführt.
- Die Regel- und Benachrichtigungsbewertung erfolgt entweder durch das Schreiben von PromQL-Benachrichtigungen in Cloud Monitoring, die vollständig in der Cloud ausgeführt werden, oder durch die Verwendung von lokal ausgeführten und lokal konfigurierten Regelauswertungskomponenten, die Regeln und Benachrichtigungen für den globalen Monarch-Datenspeicher ausführen und ausgelöste Benachrichtigungen an Prometheus AlertManager weiterleiten.
- Datenspeicher wird von Monarch verarbeitet, der alle Prometheus-Daten 24 Monate lang ohne zusätzliche Kosten speichert.
Grafana stellt eine Verbindung zum globalen Monarch-Datenspeicher her, nicht zu einzelnen Prometheus-Servern. Wenn Sie Managed Service for Prometheus-Collectors in allen Ihren Bereitstellungen konfiguriert haben, bietet diese einzelne Grafana-Instanz eine einheitliche Ansicht aller Messwerte für alle Ihre Clouds.
Datenerfassung
Sie können Managed Service for Prometheus in einem von vier Modi verwenden: mit verwalteter Datenerhebung mit selbst bereitgestellter Datenerhebung, mit dem OpenTelemetry Collector oder mit dem Ops-Agent.
Managed Service for Prometheus bietet einen Operator für die verwaltete Datenerhebung in Kubernetes-Umgebungen. Wir empfehlen die Verwendung der verwalteten Sammlung. Damit entfällt die Komplexität der Bereitstellung, Skalierung, Fragmentierung, Konfiguration und Verwaltung von Prometheus-Servern. Die verwaltete Erfassung wird sowohl für GKE- als auch für Nicht-GKE-Kubernetes-Umgebungen unterstützt.
Bei der selbst bereitgestellten Datenerhebung verwalten Sie Ihre Prometheus-Installation wie gewohnt. Der einzige Unterschied zum vorgelagerten Prometheus besteht darin, dass Sie anstelle der vorgelagerten Prometheus-Binärdatei die Managed Service for Prometheus-Ersatzbinärdatei ausführen.
Mit dem OpenTelemetry Collector können Sie Prometheus-Exporteure extrahieren und Daten an Managed Service for Prometheus senden. OpenTelemetry unterstützt eine Strategie mit nur einem Agent für alle Signale, wobei in jeder Umgebung ein einziger Collector für Messwerte (einschließlich Prometheus-Messwerten), Logs und Traces verwendet werden kann.
Sie können den Ops-Agent auf jeder Compute Engine-Instanz so konfigurieren, dass er Messwerte extrahiert und an den globalen Datenspeicher sendet. Die Verwendung eines Agents vereinfacht die VM-Erkennung erheblich und macht die Installation, Bereitstellung oder Konfiguration von Prometheus in VM-Umgebungen überflüssig.
Wenn Sie einen Cloud Run-Dienst haben, derPrometheus-Messwerte oderOTLP-Messwerte schreibt, können Sie dann einen Sidecar und Managed Service for Prometheus verwenden, um die Messwerte an Cloud Monitoring zu senden.
- Verwenden Sie zum Erfassen von Prometheus-Messwerten aus Cloud Run den Prometheus-Sidecar.
- Verwenden Sie zum Erfassen von OTLP-Messwerten aus Cloud Run den OpenTelemetry-Sidecar.
Sie können verwaltete, selbst bereitgestellte und OpenTelemetry-Collectors in lokalen Bereitstellungen und in jeder Cloud ausführen. Collector, die außerhalb von Google Cloudausgeführt werden, senden zur langfristigen Speicherung und globalen Abfragen Daten an Monarch.
Berücksichtigen Sie bei der Auswahl der Sammlungsoptionen Folgendes:
Verwaltete Erfassung:
- Der von Google empfohlene Ansatz für alle Kubernetes-Umgebungen.
- Wird über die GKE-UI, die gcloud CLI, die
kubectl-Befehlszeile oder Terraform bereitgestellt. - Der Betrieb von Prometheus – das Generieren von Scraping-Konfigurationen, das Skalieren der Aufnahme, das Ausrichten der Regeln auf die richtigen Daten usw. – wird vollständig vom Kubernetes-Operator übernommen.
- Das Scraping und die Regeln werden mithilfe von einfachen benutzerdefinierten Ressourcen (CRs) konfiguriert.
- Geeignet für Nutzer, die eine automatischere, vollständig verwaltete Umgebung wünschen.
- Intuitive Migration von prometheus-operator-Konfigurationen.
- Unterstützt die meisten aktuellen Prometheus-Anwendungsfälle.
- Vollständiger Support durch den technischen Support von Google Cloud
Selbst bereitgestellte Erfassung:
- Ein Drop-in-Ersatz für die vorgelagerte Prometheus-Binärdatei.
- Sie können Ihren bevorzugten Bereitstellungsmechanismus wie prometheus-operator oder die manuelle Bereitstellung verwenden.
- Die Datenerfassung ist mit Ihren bevorzugten Methoden wie Annotationen oder mit dem Prometheus-Operator konfiguriert.
- Die Skalierung und funktionale Fragmentierung erfolgt manuell.
- Ideal für eine schnelle Einbindung in komplexere Konfigurationen. Sie können Ihre vorhandenen Konfigurationen wiederverwenden und vorgelagertes Prometheus sowie Managed Service for Prometheus nebeneinander ausführen.
- Regeln und Benachrichtigungen werden in der Regel auf einzelnen Prometheus-Servern ausgeführt, was für Edge-Deployments besser geeignet sein kann, da die lokale Auswertung von Regeln keinen Netzwerktraffic verursacht.
- Kann Longtail-Anwendungsfälle unterstützen, die noch nicht von der verwalteten Erfassung unterstützt werden, z. B. lokale Aggregationen, um die Kardinalität zu reduzieren.
- Eingeschränkte Unterstützung durch den technischen Support von Google Cloud
Der OpenTelemetry Collector:
- Ein einzelner Collector, der Messwerte (einschließlich Prometheus-Messwerten) aus jeder Umgebung erfassen und an ein beliebiges kompatibles Backend senden kann. Kann auch verwendet werden, um Logs und Traces zu erfassen und an ein beliebiges kompatibles Backend zu senden, einschließlich Cloud Logging und Cloud Trace.
- Wird in einer beliebigen Computing- oder Kubernetes-Umgebung entweder manuell oder mithilfe von Terraform bereitgestellt. Kann zum Senden von Messwerten aus zustandslosen Umgebungen wie Cloud Run verwendet werden.
- Das Scraping ist mit Prometheus-ähnlichen Konfigurationen im Prometheus-Empfänger des Collectors konfiguriert.
- Unterstützt push-basierte Messwerterfassungsmuster.
- Metadaten werden mithilfe von Ressourcendetektorprozessoren aus einer beliebigen Cloud eingefügt.
- Regeln und Benachrichtigungen können mit einer Cloud Monitoring-Benachrichtigungsrichtlinie oder dem eigenständigen Regelevaluator ausgeführt werden.
- Beste Unterstützung für signalübergreifende Workflows und Features wie Proben.
- Eingeschränkte Unterstützung durch den technischen Support von Google Cloud
Der Ops-Agent führt folgende Schritte aus:
- Die einfachste Methode zum Erfassen und Senden von Prometheus-Messwertdaten aus Compute Engine-Umgebungen, einschließlich Linux- und Windows-Distributionen.
- Wird mit der gcloud CLI, der Compute Engine-Benutzeroberfläche oder Terraform bereitgestellt.
- Das Scraping ist mit Prometheus-ähnlichen Konfigurationen im Prometheus-Empfänger des Agents von OpenTelemetry konfiguriert.
- Regeln und Benachrichtigungen können mit Cloud Monitoring oder dem eigenständigen Regelevaluator ausgeführt werden.