Raccolta di metriche utilizzando la scrittura remota Prometheus
Puoi configurare la scrittura remota Prometheus per raccogliere le metriche dagli ambienti in cui un agent Monitoring non è disponibile e inviarle a un'istanza Monitoring.
È possibile raccogliere le metriche da:
- Un server Prometheus esistente.
- Lavori effimeri o batch che potrebbero non esistere abbastanza a lungo da essere scartato da un agent Monitoring.
- Host Windows e altri sistemi operativi in cui l'agent Monitoring non è disponibile
- Architetture basate su Non-x86, generalmente visualizzate in ambienti IoT o Edge computing.
- Carichi di lavoro non containerizzati, come NGNIX, applicazioni personalizzate, RabbitMQ, e altri.
Puoi monitorare le metriche raccolte utilizzando la scrittura remota Prometheus tramite l'IU web Monitoring. Puoi anche utilizzare PromQL per eseguire una query dei dati utilizzando il linguaggio di query Prometheus standard.
Configurazione della scrittura remota Prometheus
Puoi configurare il tuo server Prometheus per la scrittura remota in una istanza Monitoring. Ad esempio,
-
Puoi configurare il server Prometheus che viene eseguito in cluster Kubernetes in modi diversi. A seconda di come l'hai installata, puoi scegliere una delle seguenti opzioni per configurare la funzione di scrittura remota in Prometheus per inviare le metriche a un'istanza IBM Cloud Monitoring:
-
Configurare un server Prometheus gestito dall'operatore Prometheus
-
Configurare un server Prometheus utilizzando Helm
-
Configura un server Prometheus tramite una ConfigMap Kubernetes
Per ulteriori informazioni, vedere Raccolta di metriche utilizzando la scrittura remota dell' Prometheus.
-
Prometheus v2.25 e versioni precedenti
Per Prometheus v2.25 e versioni precedenti, devi configurare la sezione remote_write nel tuo file di configurazione prometheus.yml come segue:
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
bearer_token: "<MONITOR_API_TOKEN>"
Dove
<MONITOR_API_TOKEN>contiene il token di autorizzazione. Per ulteriori informazioni, vedi Gestione dei token API di monitoraggio.<INGESTION_URL>indica il punto finale di ingestione. Devi impostare questo valore sull'endpoint di inserimento per la regione in cui è disponibile l'istanza Monitoring. Per ulteriori informazioni, vedi Endpoint.
Prometheus versione 2.26 e successive
Per Prometheus versione 2.26 e versioni successive, devi configurare la sezione remote_write nel tuo file di configurazione prometheus.yml come segue:
global:
external_labels:
[ <labelname>: <labelvalue> ... ]
remote_write:
- url: "https://<INGESTION_URL>/prometheus/remote/write"
authorization:
credentials: "<MONITOR_API_TOKEN>"
Dove
<MONITOR_API_TOKEN>contiene il token di autorizzazione. Per ulteriori informazioni, vedi Gestione dei token API di monitoraggio.<INGESTION_URL>indica il punto finale di ingestione. Devi impostare questo valore sull'endpoint di inserimento per la regione in cui è disponibile l'istanza Monitoring. Per ulteriori informazioni, vedi Endpoint.
Gestione delle metriche raccolte tramite scrittura remota
Per default, quando configuri il tuo server Prometheus per la scrittura remota in un'istanza Monitoring, tutte le metriche sono raccolte e includono un'etichetta remote_write: true per identificarle facilmente.
Controllo delle metriche inviate
Puoi gestire e controllare le metriche che raccogli e inviali a un'istanza di Monitoring. Per selezionare quali serie ed etichette raccogliere e ridurre il numero di serie attive inviate all'istanza Monitoring, puoi configurare le configurazioni
di rietichettatura utilizzando il blocco write_relabel_configs all'interno della sezione remote_write.
Ad esempio, per raccogliere le metriche da 1 spazio dei nomi my-namespace, puoi aggiungere quanto segue:
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
Etichettatura delle metriche per server Prometheus
Puoi specificare le etichette personalizzate che vengono inviate insieme a ciascuna serie temporale raccolta da un server Prometheus utilizzando il blocco external_labels all'interno di global.
Puoi utilizzare queste etichette per filtrare e definire l'ambito delle metriche che monitori mediante i dashboard nella IU Monitoring.
Ad esempio, se hai 2 server Prometheus differenti configurati per la scrittura remota in un'istanza Monitoring, puoi includere un'etichetta esterna per identificare ciascun server:
# Prometheus server 1
global:
external_labels:
provider: prometheus1
remote_write:
- url: ...
# Prometheus server 2
global:
external_labels:
provider: prometheus2
remote_write:
- url: ...
Limiti di frequenza
La seguente tabella elenca i limiti di frequenza predefiniti per istanza:
| Tariffa | Limite | Info |
|---|---|---|
| Scritture parallele | 100 richieste simultanee | |
| Punti di dati al minuto (DPM) | 1 milione | Il numero di punti di dati inviati dipende dalla frequenza con cui vengono inviate le metriche. Ad esempio, un intervallo di scrape di 10s inoltrerà più DPM di un intervallo di 60 secondi |
| Numero di scritture al minuto | 10.000 |
Endpoint di inserimento per la scrittura remota
IBM Cloud Monitoring ha dichiarato obsoleto il supporto client Prometheus degli endpoint nel formato https://ingest.<region> e https://ingest.private.<region> e li ha sostituiti con nuovi endpoint il 31
maggio 2024. Il termine del supporto per i vecchi endpoint è il 31 agosto 2024. Dopo tale data, i vecchi endpoint smetteranno di funzionare. I clienti che utilizzano Prometheus Remote Write devono migrare all'uso dei nuovi endpoint entro il
31 agosto 2024 per continuare a utilizzare Prometheus Remote Write.
La seguente tabella elenca gli endpoint di inserimento pubblici Monitoring che puoi configurare per raccogliere le metriche tramite Prometheus Remote Write:
L'inserimento scrittura remota utilizza la porta TCP 443.
| Regione | Endpoint |
|---|---|
Dallas (US-South) |
https://ingest.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Francoforte (EU-DE) |
https://ingest.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
Londra (EU-GB) |
https://ingest.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://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 Obsoletohttps://ingest.prws.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
Osaka (JP-OSA) |
https://ingest.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
Sao Paulo (BR-SAO) |
https://ingest.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://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 Obsoletohttps://ingest.prws.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tokyo (JP-TOK) |
https://ingest.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
Toronto (CA-TOR) |
https://ingest.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://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 Obsoletohttps://ingest.prws.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
La seguente tabella elenca gli endpoint di inserimento Monitoring privati che puoi configurare per raccogliere le metriche mediante Prometheus Remote Write:
| Regione | Endpoint |
|---|---|
Dallas (US-South) |
https://ingest.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.private.us-south.monitoring.cloud.ibm.com/prometheus/remote/write |
Francoforte (EU-DE) |
https://ingest.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.private.eu-de.monitoring.cloud.ibm.com/prometheus/remote/write |
Londra (EU-GB) |
https://ingest.private.eu-gb.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://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 Obsoletohttps://ingest.prws.private.eu-es.monitoring.cloud.ibm.com/prometheus/remote/write |
Osaka (JP-OSA) |
https://ingest.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.private.jp-osa.monitoring.cloud.ibm.com/prometheus/remote/write |
Sao Paulo (BR-SAO) |
https://ingest.private.br-sao.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://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 Obsoletohttps://ingest.prws.private.au-syd.monitoring.cloud.ibm.com/prometheus/remote/write |
Tokyo (JP-TOK) |
https://ingest.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://ingest.prws.private.jp-tok.monitoring.cloud.ibm.com/prometheus/remote/write |
Toronto (CA-TOR) |
https://ingest.private.ca-tor.monitoring.cloud.ibm.com/prometheus/remote/write Obsoletohttps://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 Obsoletohttps://ingest.prws.private.us-east.monitoring.cloud.ibm.com/prometheus/remote/write |
Limitazioni
La funzione di scrittura remota IBM Cloud Monitoring Prometheus ha le seguenti limitazioni:
-
È possibile accedere alle metriche inviate a un'istanza in Esplora, ma non sono compatibili con la struttura ad albero dell'ambito.
-
Solo le etichette raccolte all'origine possono essere utilizzate per filtrare le metriche.
-
I metadati di una metrica non vengono inviati tramite scrittura remota.
-
Le metriche che hanno un nome che termina con
_total,_sumo_countvengono memorizzate come contatori, altrimenti vengono gestite come indicatore. -
È possibile impostare manualmente le unità nei dashboard.
-
Non è possibile combinare metriche con un campionamento differente in un dashboard, ad esempio, 10s e 1min.
Considera di configurare l'intervallo di scrape in modo che sia 10s in modo da poter combinare le metriche Prometheus Remote Write con le metriche dell'agent Monitoring.