Erfassung von Metriken mithilfe von Prometheus Remote Write
Sie können Prometheus Remote Write so konfigurieren, dass Metriken aus Umgebungen erfasst werden, in denen kein Monitoring-Agent verfügbar ist, und diese an eine Monitoring-Instanz gesendet werden.
Sie können Metriken aus den folgenden Quellen erfassen:
- Einem vorhandenen Prometheus-Server.
- Kurzlebigen Jobs oder Stapeljobs, die möglicherweise nicht genügend lang existieren, um von einem Monitoring-Agenten durch Scraping erfasst zu werden.
- Windows-Hosts und andere Betriebssysteme, unter denen der Monitoring-Agent nicht verfügbar ist.
- Nicht auf x86 basierende Architekturen, in der Regel in IoT-Umgebungen oder Edge-Computing.
- Nicht containerisierte Workloads wie NGNIX, angepasste Anwendungen, RabbitMQ und andere.
Sie können die erfassten Metriken mithilfe von Prometheus-Vorgängen zum Schreiben über Fernzugriff über die Monitoring-Webbenutzerschnittstelle überwachen. Sie können PromQL auch verwenden, um die Daten mithilfe der Prometheus-Standardsprache für Abfragen abzufragen.
Prometheus Remote Write konfigurieren
Sie können Ihren Prometheus-Server so konfigurieren, dass er ferngesteuert in eine Monitoring-Instanz schreibt. Beispiel:
-
Sie können den Prometheus-Server, der in einem Kubernetes-Cluster ausgeführt wird, auf verschiedene Arten konfigurieren. Je nachdem, wie Sie es installiert haben, können Sie eine der folgenden Optionen wählen, um das Remote-Write-Feature in Prometheus zu konfigurieren, um Metriken an eine IBM Cloud Monitoring-Instanz zu senden:
-
Konfigurieren Sie einen Prometheus-Server, der von Prometheus Operator verwaltet wird
-
Konfigurieren Sie einen Prometheus-Server mithilfe von Helm
-
Konfigurieren Sie einen Prometheus-Server über eine ConfigMap Kubernetes.
Weitere Informationen finden Sie unter Metriken mithilfe von Prometheus Remote Write erfassen.
-
Prometheus v2.25 und Vorgängerversionen
Für Prometheus v2.25 und frühere Versionen müssen Sie den Abschnitt remote_write in Ihrer Konfigurationsdatei prometheus.yml wie folgt konfigurieren:
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
bearer_token: "<MONITOR_API_TOKEN>"
Wo
<MONITOR_API_TOKEN>enthält das Autorisierungstoken. Weitere Informationen finden Sie unter Mit Monitor-API-Tokens arbeiten.<INGESTION_URL>gibt den Endpunkt der Einnahme an. Sie müssen diesen Wert auf den Aufnahmeendpunkt für die Region setzen, in der die Monitoring-Instanz verfügbar ist. Weitere Informationen hierzu finden Sie im Abschnitt Endpunkte.
Prometheus Version 2.26 und höhere Versionen
Für Prometheus Version 2.26 und spätere Versionen müssen Sie den Abschnitt remote_write in Ihrer Konfigurationsdatei prometheus.yml wie folgt konfigurieren:
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
authorization:
credentials: "<MONITOR_API_TOKEN>"
Wo
<MONITOR_API_TOKEN>enthält das Autorisierungstoken. Weitere Informationen finden Sie unter Mit Monitor-API-Tokens arbeiten.<INGESTION_URL>gibt den Endpunkt der Einnahme an. Sie müssen diesen Wert auf den Aufnahmeendpunkt für die Region setzen, in der die Monitoring-Instanz verfügbar ist. Weitere Informationen hierzu finden Sie im Abschnitt Endpunkte.
Über fernes Schreiben erfasste Metriken verwalten
Wenn Sie Ihren Prometheus-Server für fernes Schreiben in eine Monitoring-Instanz konfigurieren, werden standardmäßig alle Metriken erfasst und enthalten eine Bezeichnung remote_write: true, um sie einfach zu identifizieren.
Steuerung der gesendeten Metriken
Sie können die Metriken, die Sie sammeln und an eine Monitoring-Instanz senden, verwalten und steuern. Um auszuwählen, welche Reihen und Kennsätze gesammelt werden sollen, und um die Anzahl der aktiven Reihen, die an die Monitoring-Instanz
gesendet werden, zu reduzieren, können Sie Konfigurationen einrichten, um den Kennsatz neu zuzuordnen, indem Sie den Block write_relabel_configs in Ihrem remote_write-Abschnitt verwenden.
Um z. B. Metriken von 1 Namespace my-namespace zu sammeln, können Sie Folgendes hinzufügen:
remote_write:
- url: https://<INGESTION_URL>/prometheus/remote/write
authorization:
credentials_file: /etc/secrets/<SECRET_NAME>
write_relabel_configs:
- action: keep
regex: my-namespace
source_labels:
- namespace
Metriken durch Prometheus-Server kennzeichnen
Sie können angepasste Kennsätze angeben, die zusammen mit jeder Zeitreihe gesendet werden, die von einem Prometheus-Server gesammelt wird, indem Sie den external_labels-Block innerhalb von global.
Sie können diese Kennsätze verwenden, um den Umfang der Metriken zu filtern und zu definieren, die Sie über Dashboards in der Monitoring-Benutzeroberfläche überwachen.
Wenn Sie z. B. 2 verschiedene Prometheus-Server haben, die für das Schreiben per Fernzugriff auf eine Monitoring-Instanz konfiguriert sind, können Sie einen externen Kennsatz einfügen, um jeden Server zu identifizieren:
# Prometheus server 1
global:
external_labels:
provider: prometheus1
remote_write:
- url: ...
# Prometheus server 2
global:
external_labels:
provider: prometheus2
remote_write:
- url: ...
Ratenbegrenzungen
In der folgenden Tabelle sind die Standard-Ratengrenzwerte pro Instanz aufgeführt:
| Rate | Grenzwert | Info |
|---|---|---|
| Prallele Schreibvorgänge | 100 gleichzeitig ablaufende Anfragen | |
| Datenpunkte pro Minute (DPM) | 1 Million | Die Anzahl der Datenpunkte, die gesendet werden, hängt davon ab, wie oft Metriken gesendet werden. Beispielsweise wird ein Scraping-Intervall von 10s mehr DPM übermitteln als ein Intervall von 60 Sekunden |
| Anzahl der Schreibvorgänge pro MInute | 10.000 |
Aufnahmeendpunkte für fernes Schreiben
IBM Cloud Monitoring veraltete Prometheus-Clientunterstützung von Endpunkten im Format https://ingest.<region> und https://ingest.private.<region> und wurde am 31. Mai 2024 durch neue Endpunkte ersetzt Das
Ende der Unterstützung für die alten Endpunkte ist der 31. August 2024. Nach diesem Datum werden die alten Endpunkte nicht mehr funktionieren. Kunden, die Prometheus Remote Write verwenden, müssen bis zum 31. August 2024 auf die neuen Endpunkte
migrieren, um Prometheus Remote Write weiterhin nutzen zu können.
In der folgenden Tabelle sind die öffentlichen Monitoring-Aufnahmeendpunkte aufgeführt, die Sie zum Sammeln von Metriken über Prometheus Remote Write konfigurieren können:
Die ferne Schreibaufnahme verwendet den TCP-Port 443.
| Bereich | Endpunkt |
|---|---|
Dallas (US-South) |
https://ingest.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Frankfurt (EU-DE) |
https://ingest.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
London (EU-GB) |
https://ingest.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write |
Madrid (EU-ES) |
https://ingest.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
JP-OSA |
https://ingest.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
BR-SAO |
https://ingest.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write |
Sydney (AU-SYD) |
https://ingest.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tokio (JP-TOK) |
https://ingest.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
CA-TOR |
https://ingest.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write |
Washington (US-EAST) |
https://ingest.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
In der folgenden Tabelle sind die privaten Monitoring-Aufnahmeendpunkte aufgeführt, die Sie für die Erfassung von Metriken über Prometheus konfigurieren können. Remote Write:
| Bereich | Endpunkt |
|---|---|
Dallas (US-South) |
https://ingest.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Frankfurt (EU-DE) |
https://ingest.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
London (EU-GB) |
https://ingest.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write |
Madrid (EU-ES) |
https://ingest.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
JP-OSA |
https://ingest.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
BR-SAO |
https://ingest.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write |
Sydney (AU-SYD) |
https://ingest.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tokio (JP-TOK) |
https://ingest.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
CA-TOR |
https://ingest.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write |
Washington (US-EAST) |
https://ingest.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write Veraltethttps://ingest.prws.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
Einschränkungen
Das IBM Cloud Monitoring-Prometheus-Feature Remote Write hat die folgenden Einschränkungen:
-
Auf Metriken, die an eine Instanz gesendet werden, kann in 'Erkunden' zugegriffen werden, aber sie sind nicht mit dem Bereichsbaum kompatibel.
-
Nur Kennsätze, die an der Quelle erfasst werden, können zum Filtern von Metriken verwendet werden.
-
Die Metadaten einer Metrik werden nicht per Fernschreiben gesendet.
-
Messgrößen, deren Name mit
_total,_sumoder_countendet, werden als Zähler gespeichert, ansonsten werden sie als Zustandsanzeiger verwaltet. -
Sie können Einheiten in Dashboards manuell einstellen.
-
Sie können keine Metriken mit unterschiedlicher Stichprobenbeziehung in einem Dashboard mischen, z. B. 10s und 1min.
Ziehen Sie in Erwägung, das Scraping-Intervall auf 10s zu konfigurieren, damit Sie Prometheus Remote Write-Metriken mit Monitoring-Agent-Metriken kombinieren können.